登录 注册

商店

首页 任务市场 工具 购物篮 订阅 订单历史

账户

充值余额 激活促销代码 合作计划

帮助

技术支持 常见问题 信息 评论 博客 新闻

开发者

public API reseller API
深色主题

mrpopularAPI

mrpopularAPI

Public API

API 密钥

登录后即可获取 API 密钥。

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

API文档


链接


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


查询


POST / GET / JSON


回答


JSON

登录


username


password

key = 账户内文档页面的 API 密钥(代替 username 和 password)

显示余额


action = balance

currency = CNY


{"balance":123.456}

查询订单状态


action = status

order = (订单号码)


{"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 = 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天内已通过的执行。申诉由仲裁审核,通常一天内有结果;结果见 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”:”CNY”,”min":"100"},...}}

订单状态


0 : 处理中,无统计信息


1 : 处理中,有统计信息


2 : 已处理完毕


3 : 处理错误


4 : 排队中


5 : 已退款

新订单


action = order

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":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 URL
              public $username = ''; //您的 username
              public $password = ''; //您的 password
              public $currency = 'CNY';

                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 为执行者在报告中提交的链接(外链任务)。