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 партнёру необходимо:
- Зарегистрировать компанию — предоставить ИНН и контактную информацию
- Получить сертификаты — для аутентификации в API
- Настроить доступ — детали предоставляются после регистрации
Авторизация
Для доступа к 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"
}
]
}