Chiave API
Accedi per ottenere la tua chiave 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).