accesso registrazione

Negozio

homepage mercato dei compiti utensili carrello abbonamenti archivio delle ordinazioni

Account

ricarica il bilancio attiva il codice promozionale programma di partnership

Aiuto

assistenza clienti FAQ informazione recensioni blog notizie

Sviluppatori

public API reseller API
Tema scuro

mrpopularAPI

mrpopularAPI

Public API

Chiave API

Accedi per ottenere la tua chiave API.

user@mrpopular: ~/api — v2 docs
user@mrpopular:~/api$ curl -d "username=&password=&action=service" https://mrpopular.net/api/v2.php

Documentazione API


Link


https://mrpopular.net/api/v2.php


Richieste


POST / GET / JSON


Risposte


JSON

Autorizzazione


username


password

key = chiave API dalla pagina di documentazione nel tuo account (al posto di username e password)

Scopri il bilancio


action = balance

currency = EUR


{"balance":123.456}

Scopri lo stato dell’ordine


action = status

order = (numero dell’ordine)


{"order":{"status":"2","completed":"0","quantity":"250","date":"2018-09-27 17:34:49"}}

order = 142058,142059 (più numeri separati da virgola, fino a 100 per richiesta; la risposta elenca ogni numero nel campo orders)


{"orders":{"142058":{"status":"2","completed":"250","quantity":"250","date":"2026-10-01 12:00:00"},"142059":{"error":"wrong ORDER"}}}

Annullare un ordine


action = cancel

order = numero ordine


{"cancel":{"order":142058,"cancelled":true,"delivered":40,"refund":12.5,"currency":"RUB"}}

Disponibile per una parte dei servizi (in v3 quasi tutti), finché l'ordine è in corso: la parte non consegnata viene rimborsata. Se l'annullamento non è disponibile per il servizio, la risposta è errorcode 13; ordini terminati o non ancora avviati: errorcode 14.

Reintegro (refill)


action = refill

order = numero ordine


{"refill":{"order":142058,"status":"requested","message":"refill requested"}}

Solo servizi con refill, come il pulsante nella cronologia ordini. status: requested avviato, in_progress in corso, wait_24h una volta al giorno, expired periodo scaduto, queued in coda per l'operatore. Senza refill: errorcode 16.

Campo aggiuntivo del servizio


action = options

service = ID del servizio


{"service_id":6671,"option_type":"rating","option_label":"...","comment_label":"...","options":{"201":"5","202":"4-5"}}

option_type: none (nessun campo), text (testo libero in option), select, geo, rating, topic (in option un id da options; per topic il valore 0 = argomento proprio come testo in comment). Gli stessi option_type, option_label e comment_label sono restituiti da action=service.

Ottieni la lista dei servizi


action = service


{"service":{"1":{"social_network":"Facebook","service":"page likes","quality":"medium quality","id":"1","price":0.0149,"currency":"EUR","min":"100"},...}}

Stati dell'ordine


0 : in esecuzione, non ci sono statistiche


1 : in esecuzione, ci sono statistiche


2 : eseguito


3 : errore


4 : in lista d'attesa


5 : restituito

Ordine nuovo


action = order

service = ((ID servizi)

quantity = quantità

option = campo aggiuntivo del servizio: un id da action=options (argomento dei commenti, valutazione della recensione, geo, opzione del sondaggio) o testo libero (username dell'autore del commento, query di ricerca); tipo ed etichetta del campo sono in option_type e option_label

comment = testi di commenti o recensioni (uno per riga), oppure il brief per una recensione IA, oppure il proprio argomento per i commenti tematici (con option=0); comment_label indica cosa si aspetta il campo

link = link

lang = lingua dell'esecutore per una parte dei servizi: any, ru o en (predefinito qualsiasi)

gender = sesso dell'autore della recensione per una parte dei servizi: any, m, f (predefinito qualsiasi)

day_limit = massimo di esecuzioni al giorno per una parte dei servizi, 0 = senza limite


{"order":"142058"}

Errori


{"errorcode":1} USERNAME o PASSWORD non è inviato


{"errorcode":2} ACTION non è inviato


{"errorcode":3} Valuta selezionata non è disponibile


{"errorcode":4} Il umero dell’ordinazione non è inviato


{"errorcode":5} Il numero dell’ordinazione non è valido


{"errorcode":6} SERVICE non è inviato


{"errorcode":7} La quantità non è inviata


{"errorcode":8} Il link non è inviato


{"errorcode":9} Non c'è abbastanza denaro nel bilancio


{"errorcode":10} La quantità è sotto il minimo

Esempio del codice php


            class Api
            {
              // impostazioni
              public $api_url = 'https://mrpopular.net/api/v2.php'; // link per API
              public $username = ''; //il tuo username
              public $password = ''; //la tua password
              public $currency = 'EUR';

                public function order($data) { // aggiungi un’ordine nuovo
                    $post = array_merge(array(
                      'username' => $this->username, 
                      'password' => $this->password,
                      'action' => 'order'
                    ), $data);
                    return json_decode($this->connect($post));
                }

                public function status($order) { // ottieni lo stato dell’ordine
                    return json_decode($this->connect(array(
                        'username' => $this->username, 
                        'password' => $this->password,
                        'action' => 'status',
                        'order' => $order
                    )));
                }

                public function service() { // ottieni la lista dei servizi
                    return json_decode($this->connect(array(
                        'username' => $this->username, 
                        'password' => $this->password,
                        'action' => 'service',
                    )));
                }

                public function balance() { // ottieni il bilancio
                    return json_decode($this->connect(array(
                        'username' => $this->username, 
                      'password' => $this->password,
                        'action' => 'balance',
                    )));
                }


                function connect($post) {
                    $_post = Array();
                    if (is_array($post)) {
                        foreach ($post as $name => $value) {
                            $_post[] = $name.'='.urlencode($value);
                        }
                    }

                    $ch = curl_init($this->api_url);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_HEADER, 0);
                    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                    if (is_array($post)) {
                        curl_setopt($ch, CURLOPT_POSTFIELDS, join('&', $_post));
                    }
                    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
                    $result = curl_exec($ch);
                    if (curl_errno($ch) != 0 && empty($result)) {
                        $result = false;
                    }
                    curl_close($ch);
                    return $result;
                }
            }

            // stiamo lanciando API
            $api = new Api();

            // controlla il bilancio
            /*$balance = $api->balance();
            print_r($balance);*/

            // ordine nuovo
            /*$order = $api->order(array(
              'service' => 462, 
              'quantity' => $qnty, 
              'link' => $src
            ));
            print_r($order);*/

            // stato dell’ordine
            /*$status = $api->status(12232);
            print_r($status);*/

            // lista dei servizi
            /*$service = $api->service();
            print_r($service);*/
          

Esecuzioni dell'ordine (screenshot)


action = executions

order = (Order id)

offset = (optional, default 0)

limit = (optional, default 100, max 500)


{"total":3,"count":1,"offset":0,"executions":[{"executor":"ID972036","date":"2026-06-25 20:32:40","screenshots":["https://mrpopular.net/etask/includes/img/...jpg"],"links":[]}]}


Solo per ordini eseguiti da esecutori reali. "links" contiene gli URL indicati dagli esecutori nei report (attività di backlink).