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

Push API v1.3.0

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


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

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

Изменения: Push API v1.2.0 → v1.3.0

Новые возможности:

  • POST /api/v1/push/delivery — отправка одиночного пуша
  • POST /api/v1/push/bulk/single — массовая отправка (один текст, много получателей)
  • POST /api/v1/push/bulk/multi — отправка разных пушей разным получателям
  • GET /api/v1/push/{messageId}/transactional-state — получение статуса доставки

Безопасность:

  • Аутентификация по сертификатам

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

API использует модель RESTful. Данные передаются в формате JSON. Партнёр отправляет пуш-уведомления, Кошелёк возвращает информацию о статусе доставки.

Подключение

Для подключения к Push API партнёру необходимо:

  1. Зарегистрировать компанию — предоставить ИНН и контактную информацию
  2. Получить сертификаты — для аутентификации в API
  3. Настроить доступ — детали предоставляются после регистрации

Авторизация

Для доступа к API используется аутентификация по сертификатам. Детали подключения предоставляются после регистрации компании.

Кодировки

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

Коды HTTP

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

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

Код Назначение
400 Неверный формат запроса
401 Ошибка аутентификации
403 Ошибка авторизации (недостаточно прав)
422 Ошибка валидации данных
429 Превышен лимит запросов
500 Внутренняя ошибка сервера

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

JSON
{
    "errorCode": "VALIDATION_ERROR",
    "errorId": "err-7f8a9b0c-1d2e-3f4a-5b6c-7d8e9f0a1b2c",
    "errorMessage": "Неверный формат запроса",
    "errorDetails": [
        {
            "field": "msisdn",
            "message": "Номер телефона должен быть в формате 79XXXXXXXXX"
        },
        {
            "field": "payload.title",
            "message": "Заголовок должен содержать от 1 до 50 символов"
        }
    ]
}

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

JSON
{
    "errorCode": "INSUFFICIENT_ROLES",
    "errorId": "err-auth-1a2b3c4d-5e6f-7g8h-9i0j",
    "errorMessage": "Недостаточно прав для выполнения операции",
    "errorDetails": [
        {
            "requiredScope": "opensme/inn/1234567890/kpp/123456789/partner-push/send",
            "requiredRole": "push-send"
        }
    ]
}