Push API
The Push API registers mobile app installations with the SMSBAT omni push service and collects the delivery callbacks that the cascade depends on.
Base URL
https://restapi.smsbat.com
Getting this wrong is the first thing to rule out. An earlier integration pointed at omni.smsbat.com, where every request was swallowed without an error — registration appeared to succeed and nothing was ever stored.
Authentication
Every request carries the application key issued for your app in the Omni panel:
X-Push-App-Key: <application key>
Content-Type: application/json
Endpoints
| Endpoint | Purpose |
|---|---|
POST /api/push/registerInstallation | Register an installation on sign-in |
POST /api/push/unregisterInstallation | Unregister an installation on logout |
POST /api/push/notifications/{guid}/status | Report delivered / seen |
GET /api/push/notifications | Read the notification inbox |
The three identifiers
More integration time is lost to these three being confused than to anything else. They are not interchangeable:
| Identifier | Looks like | What it is for |
|---|---|---|
| Firebase installation id (FID) | fA9kQ2xRTb2mLp0WYs4nEv | Identifies the installation. Upsert key. Not deliverable. |
| FCM registration token | fA9kQ2xRTb2mLp0WYs4nEv:APA91b… (~163 chars) | The only value message.token accepts. |
| Expo push token | ExponentPushToken[…] | Expo’s own service — a different transport entirely, not used here. |
The registration token begins with the FID, which is exactly why the two get mixed up. Registration must send both.
Why the callbacks matter
Messages are delivered data-only, and the cascade waits on a delivered callback before falling through to Viber or SMS. A missing callback means the client is charged for a message the user already read on screen.
Related
- Mobile push notifications — what the channel is and how it fits the cascade
- Set up your mobile app for push — Firebase, Android and iOS setup
- Push error catalogue — symptom → cause → fix
- Cascade API — sending push as the first channel in a cascade