Документация API
Ссылка
https://mrpopular.net/api/v2.php
Запросы
POST / GET / JSON
Ответы
JSON
Авторизация
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"}}
Получить список услуг
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 = вариант (в опросе и т.п.)
comment
link = ссылка
{"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);*/