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(多个订单号用逗号分隔,每次最多 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 每天一次,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 = 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":[]}]}
仅适用于由真人执行者完成的订单。"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 = 评论或评价文本(每行一条),或 AI 评价的要求说明,或主题评论的自定义主题(option=0 时);comment_label 说明该字段需要填什么
link
lang = 部分服务的执行者语言:any、ru 或 en(默认不限)
gender = 部分服务的评价作者性别:any、m、f(默认不限)
day_limit = 部分服务每日最多完成数,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();