APIキー
APIキーを取得するにはログインしてください。
リンク
https://mrpopular.net/api/v2.php
問い合わせ
POST / GET / JSON
回答
JSON
ログイン
username
password
key = アカウントのドキュメントページで取得したAPIキー(username と password の代わり)
バランスを確認する
action = balance
currency = JPY
{"balance":123.456}
注文のステータスを確認する
action = status
order = (注文番号)
{"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 = service
{"service":{"1":{"social_network":"Facebook","service":"page likes","quality":"medium quality","id":"1","price":0.0149,"currency":"JPY","min":"100"},...}}
注文のステータス
0 : 実行中、統計なし
1 : 実行中、統計あり
2 : 実行された
3 : エラー
4 : 順番で
5 : 返還されました
新たな注文
action = order
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":1} USERNAME または PASSWORD 送信しません
{"errorcode":2} ACTION 送信しません
{"errorcode":3} 選択した通貨はありません
{"errorcode":4} お客様の注文番号は送信できません
{"errorcode":5} わからない注文番号
{"errorcode":6} SERVICE 送信できません
{"errorcode":7} 数は送信されません
{"errorcode":8} リンクは送信されません
{"errorcode":9} 十分な残高がない
{"errorcode":10} 数は最小値より小さい
php コードの例
class Api
{
//設定
public $api_url = 'https://mrpopular.net/api/v2.php'; // API のためのリンク
public $username = ''; //お客さん username
public $password = ''; //お客さん password
public $currency = 'JPY';
public function order($data) { //注文を追加する
$post = array_merge(array(
'username' => $this->username,
'password' => $this->password,
'action' => 'order'
), $data);
return json_decode($this->connect($post));
}
public function status($order) { //注文のステータスを手に入れる
return json_decode($this->connect(array(
'username' => $this->username,
'password' => $this->password,
'action' => 'status',
'order' => $order
)));
}
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) {
$_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;
}
}
//APIを始動させる
$api = new Api();
//バランスを確認する
/*$balance = $api->balance();
print_r($balance);*/
//新たな注文
/*$order = $api->order(array(
'service' => 462,
'quantity' => $qnty,
'link' => $src
));
print_r($order);*/
//注文のステータス
/*$status = $api->status(12232);
print_r($status);*/
//サービスの一覧
/*$service = $api->service();
print_r($service);*/
注文の実行履歴(スクリーンショット)
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 には実行者がレポートで提出したリンクが含まれます(バックリンク案件)。