Описание REST API сервиса
Краткое описание
API интерфейс используется для того, чтобы интегрировать возможности сервиса Mpstats.io в личный проект клиента. API предназначен для разработчиков и сопровождается детальной документацией.
REST API сервиса работает по протоколу HTTP и представляет собой набор методов, с помощью которых совершаются запросы и возвращаются ответы для каждой операции. Все ответы приходят в виде JSON структур.
Авторизация
Процесс авторизации возможен при наличии персонального ключа (далее токен), которым в дальнейшем должен быть подписан каждый запрос к API.
Токен можно сформировать в настройках личного кабинета в блоке "Настройки интеграции".
Токен автоматически будет обновлен в случае смены пароля пользователя или по нажатию кнопки "Сформировать новый токен".
Токен необходимо использовать как значение заголовка X-Mpstats-TOKEN для совершения авторизованных запросов.
Пример ключа:
X-Mpstats-TOKEN: 5a2a5f0e538dd5.6691914852255446e23a9bcac46ee5255625f5d5Как альтернатива использованию токена в качестве значения заголовка, допускается использование параметра auth-token в запросе
Пример:
&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 (chunk) {
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();