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

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

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

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

Взаимодействие партнера и Cardsmobile

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

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

Параметры

Описание

host:port

Адрес узла Cardsmobile, предоставляющего API.

login:password

Имя пользователя и пароль для авторизации API-запросов.

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

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

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

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

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

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

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

Коды HTTP

В случае успешного выполнения запроса, со стороны узла Cardsmobile будет возвращен тип данных, описанный в документации запроса, и 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:

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

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