One channelId, five platforms
In Omni Z-API you connect the channel once and use the same endpoints for all of them: send message, webhooks, all identical. What changes is the connection flow and what each platform accepts.
Meta
Meta Cloud API, Instagram and Messenger connect through Meta OAuth.
QR Code
WhatsApp Web connects by scanning the QR Code.
Telegram
Telegram connects with the bot token.
Not every channel accepts everything
The request body is the same on every channel, but each platform has its own limits: Instagram has no location message, Telegram has no call button, product catalog only exists where there is a catalog. The limit is the platform’s, not our API’s. The full table, with every caveat spelled out and what to send instead when the channel does not accept it, lives on a page of its own:What each channel accepts
The 20 message types across the five channels, mark by mark, with the condition behind each ⚠️.
Conversation window: only Meta Cloud API has one
How we identify the contact
Therecipient.identifier field changes format depending on the channel:
Pre-approved templates: WhatsApp and Messenger
Two channels have templates that go through Meta approval, with different scopes:
Instagram, WhatsApp Web and Telegram have none. On Instagram that follows from the login model we use — see Connect Instagram.
Flows are Meta Cloud API only.
Omni Z-API’s Templates endpoints currently cover Meta Cloud API only. The Messenger Utility Template is being implemented.
Next steps
Channel lifecycle
Create, connect, subscribe, disconnect and delete.
Send your first message
The endpoint is the same for every channel.