API интеграции
Оглавление
- Краткое описание
- Авторизация
- Основной URL
- Коды ответов сервера
- Примеры использования
- cURL
- PHP - cURL
- NodeJs - Native
Краткое описание
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();