로그인 등록

상점

메인 태스크 마켓플레이스 도구 바구니 구독 주문 내역

계정

잔액 충전 프로모션 코드 활성화하기 추천 프로그램

도움말

지원 서비스 자주 묻는 질문 정보 리뷰 블로그 뉴스

개발자

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 = USD




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

리필


action = refill

order = 주문 번호


{"refill":{"order":142058,"status":"requested","message":"refill requested"}}

리필이 있는 서비스만, 주문 내역의 버튼과 동일합니다. status: requested 시작됨, in_progress 진행 중, wait_24h 하루 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일 이내의 수행에만 적용됩니다. 이의는 중재가 검토하며 보통 하루 안에 결정됩니다. 결과는 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":"USD","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 (기본값 any)

gender = 일부 서비스 리뷰 작성자 성별: any, m, f (기본값 any)

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 링크
public $username = ''; //당신의 username
public $password = ''; //당신의 password
public $currency = 'USD';

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 list
/*$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에는 수행자가 보고서에 제출한 링크가 포함됩니다(백링크 작업).