Skip to main content

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

The 24-hour window rule is exclusive to Meta Cloud API. On the other channels you send messages at any time, with no window and no templates.

How we identify the contact

The recipient.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.