Общие принципы интеграции

  • Все API Retail Rocket доступны по протоколу HTTP/2;
  • Если для вызова метода требуется передача данных в теле запроса, то система ожидает их в формате JSON и соответствующего http-заголовка: content-type: application/json;
  • Все данные, которые возвращаются в результате вызова, возвращаются в формате JSON;
  • Статусы HTTP-ответа имеют значение. Возможные статусы метода описываются в его документации;
  • В целях оптимизации скорости подключения и передачи данных соединение следует кешировать;
  • При отправке событий ответ ждать не нужно, исключение составляет лишь пакетная загрузка событий, детали которой описаны в соответствующем разделе;
  • Важно: при использовании методов API в реальных приложениях/системах, обязательно учитывать возможность отказа API. Необходимо запрашивать данные асинхронно, с максимальным временем ожидания в 500мс. Обязательно предусматривать fallback-сценарий, в котором приложение/система должны продолжить нормальную работу, даже если метод API не ответил или ответил с ошибкой;

Идентификатор интернет-магазина

Для идентификации интернет-магазина в API используется параметр partnerId. Значение параметра выдается при регистрации в системе Retail Rocket и может быть получено либо запросом к аккаунт-менеджеру Retail Rocket, либо обращением в службу поддержки ([email protected]), либо в личном кабинете Retail Rocket.

📘

Значение является публичным и может быть использовано в открытом виде.

Авторизация

Доступ к некоторым методам API ограничен, и для их использования требуется передавать параметр apiKey, значение которого можно получить у сотрудника Retail Rocket.

❗️

Значение apiKey является секретным, не должно передаваться третьим лицам или храниться на клиентской стороне (на сайте или в мобильном приложении).

🚧

В случае утечки значения apiKey следует запросить у аккаунт-менеджера новое. Старое значение перестанет действовать.

📘

Рекомендация

Хранить значение apiKey в хранилище, в котором его можно изменить без необходимости выпускать новую версию сайта/приложения.

Метка времени вызова

Для корректной работы многих продуктов Retail Rocket необходимо знать время, когда метод был вызван, для этого в некоторых методах API предусмотрен опциональный параметр timestamp, в значении которого система Retail Rocket ожидает дату и время в формате ISO 8601.

Если опциональный параметр не задан, то в качестве временной метки будет использовано серверное время Retail Rocket на момент вызова.

Товарная база

Если в методе API требуются товарные данные (например, идентификатор товара/склада и т.д.), значение таких параметров должно совпадать со значениями, переданными с товарной базой в Retail Rocket/

Товарная база в Retail Rocket может быть передана двумя способами:

  • С помощью YML-фида;
  • С помощью product API трекера, дополнительно устанавливаемого на страницу карточки товара;

Сведения о товаре

Если в методе API требуются товарные данные (например, идентификатор товара/склада и т.д.), значение таких параметров должно совпадать со значениями, которые содержит товарная база, переданная в Retail Rocket.

Коды ответов

Код ответНазваниеОписание
200ОКЗапрос принят
204NoContentПо запросу ничего не найдено
400BadRequestОшибка в запросе, необходимо проверить правильность построения запроса
401UnauthorizedОшибка авторизации, необходимо проверить корректность partnerId, apiKey
403ForbiddenДоступ запрещен
404NotFoundЗапрошенный ресурс не найден, необходимо проверить правильность URL
429TooManyRequestsПревышение лимита запросов

Время ответа и ограничения

Время обработки запроса платформой Retail Rocket до 100 мс. Время ответа может отличаться из-за особенностей сетевой инфраструктуры.

📘

По умолчанию действует ограничение в 600 запросов/секунду для площадки. При необходимости возможно изменить (с помощью аккаунт-менеджера).