Manage event formats
Format selection defines the JSON payload structure of events delivered to your webhook. Each subscription automatically uses a default format for its channel, but you can select a different format if your webhook receiver requires a specific API version or structure.
Prerequisites [#prerequisites]
To manage event formats, you need:
- Infobip account: An active account.
- Webhook subscription: At least one subscription configured. See Manage webhook subscriptions.
- Channel awareness: Knowledge of which channels your subscription monitors (default formats vary by channel).
Format selection overview [#format-selection-overview]
Each subscription automatically receives a default format (event schema), which is channel-specific to ensure consistent processing of events. If the default format does not meet your requirements, you can select a different supported format for available channels.
This allows you to:
- Control the JSON payload structure delivered to your webhook
- Use formats that match a specific API version your webhook expects
- Receive payloads that automatically adapt to the API version you used to send the original message
- Ensure compatibility with your webhook receiver logic
Default formats by channel [#default-formats]
| Channel | Default format | Payload example |
|---|---|---|
| SMS | MO_JSON_2 | SMS API: Receive inbound SMS messages |
| MMS | MO_MMS_2 | MMS API: Receive inbound MMS messages |
MO_OTT_CONTACT | WhatsApp API: Receive inbound WhatsApp messages | |
| RCS | MO_OTT_MSISDN | RCS API: Receive incoming RCS messages |
| Facebook Messenger | MO_OTT_MSISDN | Messenger API: Receive incoming Messenger messages |
| LINE | MO_OTT_MSISDN | — |
| TikTok | MO_OTT_MSISDN | TikTok API: Receive TikTok inbound message |
| Viber Business Messages | MO_OTT_MSISDN | Viber API: Receive inbound Viber messages |
| Apple Messages for Business | MO_OTT_CONTACT | AMB API: Receive incoming AMB messages |
| Zalo | MO_OTT_MSISDN | Zalo API: Receive incoming Zalo messages |
Selectable formats [#selectable-formats]
Formats fall into two types:
- Static formats deliver a fixed payload structure tied to a specific API version (for example,
delivery.sms.v3.json). All events use the same schema regardless of how the original message was sent. - Adaptive format (
adaptive.subscription.format) dynamically matches the payload to the API version the sender used to submit the original message.
Selectable formats are available for the following channels and services:
Messaging channels
Apple Messages for Business, Facebook Messenger, MMS, SMS, Open Channel
Platform services
Mobile Identity services, Blocklist tool events
For other channels, the default format is applied automatically. To change the format for other channels, contact Infobip Support.
SMS format example [#sms-formats]
SMS demonstrates all available format options. Other channels follow similar patterns.
| Event | Format name | Payload example |
|---|---|---|
| Click | tracking.sms.v1.json | SMS API: Receive SMS tracking notifications |
| Delivery | adaptive.subscription.format | Adapts based on the API version used in your submission |
| Delivery | delivery.sms.v2.json | Omni-failover API: Receive delivery status report |
| Delivery | delivery.sms.v3.json | SMS API v2: Receive outbound SMS message report |
| Delivery | delivery.sms.v4.json | SMS API v3: Receive outbound SMS message reports |
| Delivery | delivery.sms.v5.json | Messages API: Receive delivery reports |
| Inbound message | inbound-message.sms.v1.json | SMS API: Receive inbound SMS messages |
| Inbound message | inbound-message.sms.v2.json | Messages API: Receive inbound messages |
For other channels and platform services, see Available webhook events for the complete list of events.
Select a format [#select-format]
You can select a different format when creating or editing a subscription.
- Log in to the Infobip web interface and go to Developer Tools > Subscriptions Management.
- Find your subscription in the list.
- Open the three-dot menu next to the subscription name and select Edit.
- On the Select events screen, choose your preferred format from the list.
- Save your subscription to apply the new settings.
Configure formats when creating or updating a subscription by including the format field in the events object.
Without a format (default applied):
With a selected format:
If the format field is not provided, the system automatically assigns the default format for that event and channel.
For complete API documentation, see the Subscriptions API.
When to use each format type [#when-to-use]
Use static formats when
Your webhook receiver expects a specific API version structure, you want predictable and unchanging JSON payloads, you are migrating from a specific API version and need backward compatibility, or you want consistency across all events of that type.
Use adaptive format when
You support multiple API versions in your webhook receiver, you want payloads to match the API version each sender used, you need flexibility as senders update their API versions, or your webhook can handle variable JSON structures.
Understanding webhook subscriptions
How subscriptions work and filtering options.
Manage webhook subscriptions
Create and configure subscriptions.
Inbound message routing
Route inbound messages through subscriptions.
Available webhook events
Complete event reference across all channels and services.