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

Reseller API

Chiave API

Accedi per ottenere la tua chiave API.

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

Per attivare la API reseller, scrivi al servizio di supporto. Devi avere almeno 100 dollari sul saldo.

Documentazione API

URL

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

Richiesta

POST / GET / JSON

Risposta

JSON

Autorizzazione

username

password

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

Ottieni saldo

action = balance

{"balance":123.456}

Stato dell ordine

action = status

order = (Order id)

{"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.

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 i link lasciati dagli esecutori nei report (attivita di backlink).

Elenco servizi

action = service

{"service":{"1":{"social_network":"Facebook","service":"page likes","quality":"medium quality","id":"1","price":0.0149,"currency":"USD","min":"100","max":"900000","start":"30 min.","speed":"100/day","description":"HQ never drop"},...}}

Decodifica stati ordine

0 : Pending / Processing

1 : Processing

2 : Completed

3 : Error

4 : In queue

5 : Returned

Nuovo ordine

action = order

service = (Service ID)

quantity

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

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":0} API is not activated

{"errorcode":1} USERNAME or PASSWORD is empty

{"errorcode":2} ACTION is empty

{"errorcode":4} ORDER is empty

{"errorcode":5} wrong ORDER

{"errorcode":6} SERVICE is empty

{"errorcode":7} QUANTITY is empty

{"errorcode":8} LINK is empty

{"errorcode":9} Not enough funds on balance

{"errorcode":10} Quantity less than minimum

Esempio di codice PHP

class Api
{
  public $api_url = 'https://mrpopular.net/api/v3.php';
  public $username = ''; // your username
  public $password = ''; // your password

  public function order($data) {
    return json_decode($this->connect(array_merge(array(
      'username' => $this->username,
      'password' => $this->password,
      'action' => 'order'
    ), $data)));
  }
  public function status($order) {
    return json_decode($this->connect(array(
      'username' => $this->username, 'password' => $this->password,
      'action' => 'status', 'order' => $order)));
  }
  public function executions($order, $offset = 0, $limit = 100) {
    return json_decode($this->connect(array(
      'username' => $this->username, 'password' => $this->password,
      'action' => 'executions', 'order' => $order,
      'offset' => $offset, 'limit' => $limit)));
  }
  public function service() {
    return json_decode($this->connect(array(
      'username' => $this->username, 'password' => $this->password,
      'action' => 'service')));
  }
  public function balance() {
    return json_decode($this->connect(array(
      'username' => $this->username, 'password' => $this->password,
      'action' => 'balance')));
  }
  function connect($post) {
    $ch = curl_init($this->api_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
    $result = curl_exec($ch);
    return $result === false ? false : $result;
  }
}

$api = new Api();
// $balance = $api->balance();
// $order = $api->order(array('service' => 462, 'quantity' => 100, 'link' => 'https://...'));
// $status = $api->status(142058);
// $shots = $api->executions(142058);
// $services = $api->service();