Перейти к содержанию

Подключение к API

Требования к организации подключения


Модель взаимодействия

Promo API использует модель REST, данные передаются в виде объектов JSON.

Взаимодействие партнёра и Кошелька

Взаимодействие партнёра и Кошелька

Параметры подключения

Провайдером Promo API выступает узел платформы Кошелька. Партнёру передаются следующие параметры для подключения к API:

Параметры Описание
host:port Адрес узла платформы Кошелька, предоставляющего API.
login:password Имя пользователя и пароль для авторизации API-запросов.

Авторизация запросов

Взаимодействие осуществляется по протоколу HTTPS. Для авторизации запросов необходимо использовать HTTP Basic Authentication (RFC 7617). Данные для авторизации запросов передаются в HTTP-заголовке Authorization.

Формат и структура сообщений

Все методы API ожидают в заголовке запроса:

JSON
Content-type ="application/json;charset=utf-8"

Требования к формату изображений

Ожидаемый формат изображений: JPG или PNG. Требования к разрешению изображений приведены в описаниях запросов API.

Коды HTTP

В случае успешного выполнения запроса, со стороны сервера Кошелька будет возвращён тип данных, описанный в документации запроса, и HTTP-код 200.

Код Назначение
200 OK Возвращается в случае успешного выполнения запроса API.

В случае ошибки обработки запроса будет возвращен один из HTTP-кодов с описанием ошибки в теле ответа в формате JSON:

Код Назначение
400 Bad Request Неверный формат запроса.
401 Unauthorized Ошибка авторизации.
403 Forbidden Ошибка аутентификации (недостаточно прав для осуществления запроса).
422 Unprocessable Entity Ошибка обработки бизнес-сценария запроса.
500 Internal Server Error Внутренняя ошибка сервера.

Формат тела ошибки

В случае получения одного из допустимых 4XX HTTP-кодов в ответ на запрос, в теле ошибки будет передан объект JSON, содержащий поля code и details:

JSON
{
  "code": string, //Код ошибки. Не равен HTTP-коду. Осмысленное значение в формате UPPER_SNAKE_CASE.
  "details": string //Описание ошибки на английском языке. Не предназначено для отображения конечному пользователю.
}

Info

Описания возможных ошибок формата запроса и бизнес-ошибок приведены в описании методов API.