Skip to main content

API интеграции

Оглавление

Краткое описание

API-интерфейс используется для интеграции возможностей сервиса MPSTATS в личный проект клиента. API предназначен для разработчиков и сопровождается детальной документацией.

REST API сервиса работает по протоколу HTTP и представляет собой набор методов, с помощью которых выполняются запросы и возвращаются ответы для каждой операции. Все ответы приходят в формате JSON.

Авторизация

Для работы с API необходим персональный ключ, то есть токен. Каждый запрос к API должен быть подписан этим токеном.

Токен можно сформировать в настройках аккаунта в блоке API токен. Токен автоматически обновляется при смене пароля пользователя или по нажатию кнопки Сменить API токен.

Основной способ передачи токена:

X-Mpstats-TOKEN: 5a2a5f0e538dd5.6691914852255446e23a9bcac46ee5255625f5d5

Допускается и альтернативный вариант через параметр запроса:

&auth-token=5a2a5f0e538dd5.6691914852255446e23a9bcac46ee5255625f5d5

Основной URL

Все ссылки на запросы к API включают обязательный базовый URL:

https://mpstats.io/api/

Коды ответов сервера

КодОписание
200Успешный запрос
202Запрос принят в обработку, но еще не завершен. Повторите запрос позже
401Ошибка авторизации
429Исчерпан лимит запросов по текущему тарифному плану. Подробности доступны в поле message. В заголовке Retry-After указывается время в секундах, через которое рекомендуется повторить запрос
500Внутренняя ошибка сервера. Подробности доступны в поле message

Примеры использования

cURL

curl --location --request POST 'https://mpstats.io/api/wb/get/category?d1=2020-07-13&d2=2020-08-11&path=%D0%96%D0%B5%D0%BD%D1%89%D0%B8%D0%BD%D0%B0%D0%BC/%D0%9E%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0' \
--header 'X-Mpstats-TOKEN: 5edfe8277ff2a5.941835169784f269a9244f13350db36eedb814d1' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[{"colId":"revenue","sort":"desc"}]}'

PHP - cURL

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://mpstats.io/api/wb/get/category?d1=2020-07-13&d2=2020-08-11&path=%D0%96%D0%B5%D0%BD%D1%89%D0%B8%D0%BD%D0%B0%D0%BC/%D0%9E%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"startRow\":0,\"endRow\":100,\"filterModel\":{},\"sortModel\":[{\"colId\":\"revenue\",\"sort\":\"desc\"}]}",
CURLOPT_HTTPHEADER => array(
"X-Mpstats-TOKEN: 5edfe8277ff2a5.941835169784f269a9244f13350db36eedb814d1",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

NodeJs - Native

var https = require('https');
var fs = require('fs');

var options = {
'method': 'POST',
'hostname': 'mpstats.io',
'path': '/api/wb/get/category?d1=2020-07-13&d2=2020-08-11&path=%D0%96%D0%B5%D0%BD%D1%89%D0%B8%D0%BD%D0%B0%D0%BC%2F%D0%9E%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0',
'headers': {
'X-Mpstats-TOKEN': '5edfe8277ff2a5.941835169784f269a9244f13350db36eedb814d1',
'Content-Type': 'application/json'
},
'maxRedirects': 20
};

var req = https.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});

res.on("error", function (error) {
console.error(error);
});
});

var postData = JSON.stringify({"startRow":0,"endRow":100,"filterModel":{},"sortModel":[{"colId":"revenue","sort":"desc"}]});

req.write(postData);
req.end();