Channels
One schema for WhatsApp, Instagram, and Messenger.
A channel is a connected messaging account you send and receive through.
Wabery normalizes all three behind one schema. API calls target a concrete
channel_id returned by channels.list().
| Surface | Channel |
|---|---|
| WhatsApp Business numbers | |
| Instagram DMs | |
| Messenger | Facebook Messenger |
Connect a channel
Link an account from the dashboard under Channels, or bring an existing
WhatsApp Business number. Once connected, your wab_live_ key can send and
receive on it. The free sandbox gives you a shared test number with no setup.
Targeting a channel
Every send takes a channelId:
await wabery.messages.send({
channelId: "channel_...",
conversationId: "conversation_...",
text: "Thanks for reaching out!",
});curl https://api.wabery.com/v1/messages \
-H "Authorization: Bearer $WABERY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel_id": "channel_...",
"conversation_id": "conversation_...",
"text": "Thanks for reaching out!"
}'Use the channel_id returned by the API. For WhatsApp dedicated channels you
can send to an E.164 phone number (+14155550100); otherwise send on an
existing conversationId.
The 24-hour window
WhatsApp, Instagram, and Messenger all restrict free-form messages to a window after the user's last message (24 hours on WhatsApp). Outside the window you must use an approved template. Wabery returns a clear error when a send falls outside the window — see Errors & rate limits.