Connect your iOS and Android app once with your own APNs key and Firebase service account. The app registers its device, your backend links it to the guest after login, and one call sends a rich push: title, body, image, up to three buttons and a deep link, with delivered and opened reported back onto the contact.
Your APNs and Firebase credentials ✦ No SDK, a device contract ✦ 600 sends per minute per organisation
The most guest-obsessed brands trust Lodgestory to power 50M+ conversations a year
On every token the OS hands out, the app calls PUT /api/push/v1/devices with the publishable key. After your own login, your backend links the device to the guest by phone or email, or mints a short-lived contact token the app sends with its registration. Then send. The app posts delivered when it rendered the push and opened or action on a tap, with the beacon token from the payload, and the contact's timeline shows it.
Title to 120 characters, body to 1,000, an image, up to three buttons, ten data keys, a deep link, a live countdown on Android.
to a phone, an email, a contact id, one device, or your flagged test devices. The same contact Lodgestory messages on WhatsApp.
Idempotency-Key on the send, GET the message for per-device outcomes, cancel while queued, and list every device's delivery log.
The push app shows up in the campaign builder, the Send push automation action on any trigger, the contact panel's Send push, webhooks and MCP. Campaign funnels count sent, delivered and opened per push. Device events fire as webhooks: registered, identified, invalidated.
Create an organisation, enable Developer Access and run your first request against your own workspace today.
What engineering teams ask before they integrate.
No. The app registers its device token with a publishable key, your backend links the device to the guest after your own login, and the app renders the push from the payload. Reference Swift and Kotlin files are on the settings page; the shapes are documented so any language works.
Yours: your APNs key with its Key ID and Team ID, and your Firebase service account, uploaded once in Settings, Connections, Push notifications and stored encrypted. Expo apps can use Expo's push service instead.
POST /api/wp-crm/push/{organisationId}/send with to as a phone, email, contact id, device id or testDevices, a title and body, and optional image, buttons, url, data, kind and sendAt. The response is 202 with the queued message id and how many devices matched.
Set kind to promotional. It reaches only devices whose person opted in to marketing in the app, outside quiet hours and under the daily cap; recipients.excluded in the response says who was skipped and why.