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().

SurfaceChannel
WhatsAppWhatsApp Business numbers
InstagramInstagram DMs
MessengerFacebook 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.

Channels | Wabery Docs | Wabery