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 tokenfA9kQ2xRTb2mLp0WYs4nEv:APA91b… (~163 символи)Єдине значення, яке приймає message.token.
Expo push tokenExponentPushToken[…]Власний сервіс Expo — інший транспорт, тут не використовується.

Токен починається з FID — саме тому їх і плутають. При реєстрації треба надсилати обидва.

Навіщо потрібні зворотні статуси

Повідомлення надсилаються data-only, і каскад чекає на статус delivered, перш ніж перейти на Viber або SMS. Відсутність статусу означає, що клієнт заплатить за повідомлення, яке користувач уже прочитав на екрані.

Пов’язані матеріали