Push API
Push API реєструє інсталяції мобільного застосунку в сервісі push-сповіщень SMSBAT і приймає зворотні статуси, від яких залежить робота каскаду.
Базова адреса
https://restapi.smsbat.com
Це перше, що варто виключити при проблемах. Одна з інтеграцій зверталася до omni.smsbat.com, де запити приймалися без помилки й нікуди не записувалися — реєстрація виглядала успішною, а даних не було.
Авторизація
Кожен запит несе ключ застосунку, виданий у панелі Omni:
X-Push-App-Key: <ключ застосунку>
Content-Type: application/json
Ендпоінти
| Ендпоінт | Призначення |
|---|---|
POST /api/push/registerInstallation | Реєстрація інсталяції при вході |
POST /api/push/unregisterInstallation | Деактивація інсталяції при виході |
POST /api/push/notifications/{guid}/status | Передача статусу delivered / seen |
GET /api/push/notifications | Історія сповіщень |
Три ідентифікатори
На плутанині між ними втрачається більше часу, ніж на будь-чому іншому. Вони не взаємозамінні:
| Ідентифікатор | Вигляд | Для чого |
|---|---|---|
| Firebase installation id (FID) | fA9kQ2xRTb2mLp0WYs4nEv | Ідентифікує інсталяцію. Ключ upsert. Доставити на нього не можна. |
| FCM registration token | fA9kQ2xRTb2mLp0WYs4nEv:APA91b… (~163 символи) | Єдине значення, яке приймає message.token. |
| Expo push token | ExponentPushToken[…] | Власний сервіс Expo — інший транспорт, тут не використовується. |
Токен починається з FID — саме тому їх і плутають. При реєстрації треба надсилати обидва.
Навіщо потрібні зворотні статуси
Повідомлення надсилаються data-only, і каскад чекає на статус delivered, перш ніж перейти на Viber або SMS. Відсутність статусу означає, що клієнт заплатить за повідомлення, яке користувач уже прочитав на екрані.
Пов’язані матеріали
- Push-сповіщення у мобільні застосунки — що це за канал і як він працює в каскаді
- Налаштування мобільного застосунку — Firebase, Android та iOS
- Каталог помилок Push — симптом → причина → рішення
- Cascade API — відправка push першим каналом каскаду