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

Push API v1.0.0

API для отправки одиночных и пакетных пуш-сообщений пользователям Кошелька.


Общие сведения

Руководство предназначено для компаний-партнёров ООО «Бесконтакт», выпускающих карты лояльности своих клиентов в мобильном приложении «Кошелёк».

Push API предоставляет партнёру интерфейс для отправки пуш-сообщений на устройства клиентов.

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

API использует модель RESTful (данные передаются в виде объектов JSON). Особенностью является использование партнёром и Кошельком двух интерфейсов:

  • Push API — используется партнёром для отправки пуш-сообщений;
  • Callback API — используется Кошельком для передачи информации о доставке и прочтении сообщений.

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

Подключение

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

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

Количество учётных записей не ограничено. При этом каждая учётная запись определяет:

  • партнёра, клиентам которого отправляются сообщения;
  • адрес Callback API для информирования о доставке и прочтении сообщений.

Авторизация

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

Кодировки

Как в запросах, так и в ответах API используется кодировка UTF-8.

Коды HTTP

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

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

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

Код Назначение
304 Новый запрос поступил ранее ожидаемого времени.
400 Неверный формат запроса.
401 Ошибка авторизации.
404 Не найден запрашиваемый тип данных.

Пример тела ошибки, HTTP code 400:

JSON
{
    "status": "BAD_REQUEST",
    "errors": [
        "msisdn: size must be between 0 and 10000",
        "subId: may not be null"
    ]
}

Пример тела ошибки, HTTP code 401:

JSON
{
    "status": "UNAUTHORIZED",
    "errors": [
        "Auth token is invalid"
    ]
}