APIキー
APIキーを取得するにはログインしてください。
リセラーAPIを有効にするにはサポートへご連絡ください。残高が100ドル以上必要です。
URL
https://mrpopular.net/api/v3.php
リクエスト
POST / GET / JSON
レスポンス
JSON
認証
username
password
key = アカウントのドキュメントページで取得したAPIキー(username と password の代わり)
残高の取得
action = balance
{"balance":123.456}
注文ステータス
action = status
order = (Order id)
{"order":{"status":"2","completed":"0","quantity":"250","date":"2018-09-27 17:34:49"}}
order = 142058,142059(複数の注文番号をカンマ区切りで指定、1リクエストにつき最大100件。結果は orders フィールドに注文番号ごとに返ります)
{"orders":{"142058":{"status":"2","completed":"250","quantity":"250","date":"2026-10-01 12:00:00"},"142059":{"error":"wrong ORDER"}}}
注文のキャンセル
action = cancel
order = 注文番号
{"cancel":{"order":142058,"cancelled":true,"delivered":40,"refund":12.5,"currency":"RUB"}}
一部のサービスで利用可能(v3 ではほぼすべて)、注文実行中に限ります。未納品分が返金されます。サービスがキャンセルに対応していない場合は errorcode 13、完了済みまたは未開始の注文は errorcode 14 です。
補充(refill)
action = refill
order = 注文番号
{"refill":{"order":142058,"status":"requested","message":"refill requested"}}
補充対応サービスのみ、注文履歴のボタンと同じ動作です。status:requested 開始、in_progress 実行中、wait_24h 1日1回、expired 期限切れ、queued オペレーター待ち。補充なしの場合は errorcode 16。
サービスの追加項目
action = options
service = サービス ID
{"service_id":6671,"option_type":"rating","option_label":"...","comment_label":"...","options":{"201":"5","202":"4-5"}}
option_type:none(項目なし)、text(option に自由テキスト)、select、geo、rating、topic(option に options の id を指定。topic で 0 は comment に独自テーマをテキストで指定)。action=service でも同じ option_type、option_label、comment_label が返ります。
実行への異議申し立て
action = dispute
order = 注文履歴の注文(ポジション)番号
execution = action=executions の実行 id
reason = 理由、5文字以上:スクリーンショットの何が問題か(投稿が違う、テキストが違う、操作が示されていない)
{"status":"pending","dispute":{"id":12,"status":"pending","created":"2026-10-24 12:00:00","decided":null},"execution":34099021,"order":594181140,"dispute_budget":{"turnover_rub":50659.56,"limit_rub":10131.91,"used_rub":29.8,"available_rub":10102.11,"min_per_dispute_rub":5,"percent":20,"days":90,"window_days":30}}
実際の実行者が行う注文のみ、かつ承認から30日以内の実行のみ対象です。異議は仲裁が審査し、通常1日以内に決定します。結果は action=executions の dispute.status に表示されます:pending(審査中)、confirmed(不備が確認され、実行は取り消されてやり直し)、rejected(実行はタスクに適合)、neutral(変更なし)。上限:過去90日間の支払済み注文の20%までの実行に異議を申し立てられます。各異議は注文の単価(最低5ルーブル)を上限から確保し、confirmed は確保分を戻し、rejected と neutral は消費します。残りの上限は dispute_budget にあります。
errorcode 21 注文は実際の実行者によるものではありません(異議不可)、errorcode 23 wrong EXECUTION(この注文に含まれない)、24 実行が承認されていない、25 異議申し立て期間終了、26 既に申し立て済み、27 REASON が5文字未満、28 上限到達(応答に dispute_budget)。
注文の実行履歴(スクリーンショット)
action = executions
order = (Order id)
offset = (optional, default 0)
limit = (optional, default 100, max 500)
{"total":3,"count":1,"offset":0,"executions":[{"id":34099021,"executor":"ID972036","date":"2026-06-25 20:32:40","screenshots":["https://mrpopular.net/etask/includes/img/...jpg"],"links":[],"dispute":null}],"dispute_budget":{"limit_rub":10131.91,"used_rub":29.8,"available_rub":10102.11}}
execution の id は action=dispute に使います。dispute:その実行の異議の状態または null。dispute_budget:アカウントの異議上限。
実在の実行者が対応した注文のみ。"links"には実行者がレポートで送信したリンクが含まれます(バックリンクタスク)。
サービス一覧
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"},...}}
注文ステータスの説明
0 : Pending / Processing
1 : Processing
2 : Completed
3 : Error
4 : In queue
5 : Returned
新規注文
action = order
service = (Service ID)
quantity
option = サービスの追加項目:action=options の id(コメントのテーマ、レビューの評価、地域、投票の選択肢)または自由テキスト(コメント投稿者のユーザー名、検索語)。項目の種類と説明は option_type と option_label で確認できます
comment = コメントまたはレビューのテキスト(1行に1件)、または AI レビューの指示、またはテーマコメントの独自テーマ(option=0 の場合)。comment_label に入力内容の説明があります
link
lang = 一部のサービスの実行者の言語:any、ru、en(既定は指定なし)
gender = 一部のサービスのレビュー投稿者の性別:any、m、f(既定は指定なし)
day_limit = 一部のサービスの1日あたりの最大実行数、0 = 制限なし
{"order":"142058"}
エラー
{"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
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();