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

API интерфейс используется для того, чтобы интегрировать возможности сервиса Mpstats.so в личный проект клиента. 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 http = require('follow-redirects').http;
var fs = require('fs');

var options = {
  'method': 'POST',
  'hostname': 'local.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 = http.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();