Ir al contenido
Start free

Channels

Esta página aún no está disponible en tu idioma.

A channel is the messaging account you send and receive through. API calls use the channel_id returned by channels.list().

Surface Channel
WhatsApp WhatsApp Business numbers
Web Website chat installed on approved origins
Instagram Instagram Professional accounts linked to a Facebook Page (beta)
Messenger Facebook Pages with messaging access (beta)

Open Channels, then select Connect beside the channel you need. For WhatsApp, Wabery asks how the number is used today and shows the matching setup:

Choose When to use it
Set up a new number The number is new or is not connected to another WhatsApp API provider.
Keep using the Business app Your team wants to keep using the WhatsApp Business mobile app alongside Wabery.
Move an existing API number The number is currently connected to another provider or WhatsApp Business Account.
Reconnect a Wabery number The channel was previously disconnected from this Wabery project.

Choosing the correct path matters: normal setup does not move an existing API number between accounts. See Connect WhatsApp for the short guided checklist. Once connected, your wab_live_ key can send and receive on the channel. The sandbox gives you a shared test number with no Meta setup. Sandbox messages are free through September 30, 2026; from October 1, their published destination-market service rate is deducted from your Wabery wallet without markup.

WhatsApp Calling requires a dedicated, eligible Meta Cloud number plus your own WebRTC or SIP media application. It is not available on the shared Wabery sandbox. Follow WhatsApp Calling to enable the number, configure call permissions, and receive signaling webhooks.

Instagram and Messenger appear as Beta options on your project’s Channels page. Select Connect, start the Meta sign-in, and choose the Facebook Page that owns the messaging account. Follow Connect Instagram or Connect Messenger, and check the channel capability comparison before promising either to a client.

Website chat connects without a Meta account. Choose Website chat, add the allowed website origins, customize the launcher, then install the script shown by Wabery. Read Website chat for the complete setup and security boundaries.

Disconnected social-channel attempts cannot be revived because Wabery removes their access tokens. Reconnect them through a new Meta sign-in after the required permissions have been approved.

Each connected number, account, or website has its own row on Channels. Choose Manage on that row to view its status and change its connection settings. The WhatsApp Business sandbox has its own row under Testing on Channels. Choose Manage, then Flows, to return to draft and sandbox-tested Flows before or after you connect a live number.

Every send takes a channelId:

await wabery.messages.send({
channelId: "channel_...",
conversationId: "conversation_...",
text: "Thanks for reaching out!",
});

Each channel has a routing_mode that decides what happens to inbound messages on it — AGENT runs your Wabery-hosted agent with its automations and functions, and EXTERNAL forwards to your project webhook. On a dedicated number, this overrides the project’s routing_mode. A channel left in AGENT under an EXTERNAL project still goes to the hosted agent. New channels copy the project’s routing when you connect them. See Webhooks → Channel routing for the full precedence rules.

channels.list() / channels.get(id) include a routing_warning when a channel bypasses the project’s configured webhook. Set a channel’s routing in code:

const { data } = await wabery.channels.list();
data.forEach((c) => c.routing_warning && console.warn(c.id, c.routing_warning));
await wabery.channels.update("channel_...", { routingMode: "EXTERNAL" });

WhatsApp channels include publish_readiness on channels.list(), channels.get(id), and project responses. Use it before publishing Flows or submitting templates:

{
"can_publish_flows": false,
"can_submit_templates": false,
"business_verification_status": "not_verified",
"account_review_status": "APPROVED",
"phone_number_status": "CONNECTED",
"blockers": ["BUSINESS_NOT_VERIFIED", "NO_PAYMENT_METHOD"]
}

The shared Wabery sandbox can publish Flows when the sandbox WhatsApp Business Account is verified, but it cannot submit templates because templates belong to Wabery’s sandbox account. Dedicated WhatsApp numbers must pass Meta’s business and account readiness checks before Flows can be published. Templates have one extra billing prerequisite: template submission and proactive template sending require a Meta payment method on the WhatsApp Business Account. Without it, can_publish_flows can still be true, but can_submit_templates is false and blockers includes NO_PAYMENT_METHOD. Read why WhatsApp templates need a payment method for the billing context. Wabery returns 412 with the same publish_readiness blockers instead of queueing work that cannot succeed.

The broadcast composer lists only connected, dedicated WhatsApp numbers. Unavailable numbers remain visible with their exact blocker so an operator can fix the account instead of guessing. Common blockers include missing Meta billing, an unverified business, a restricted or disconnected number, poor quality, and a readiness check that must be retried.

Wabery allows only one active dedicated WhatsApp channel for a normalized phone number across the platform. Reconnecting the same number reuses its eligible channel in the current organization and project; it never transfers a channel from another tenant. Disconnected rows are retained because historical messages refer to them, but they are not selectable for new broadcasts. This is why an older number can appear in channel history without representing another active sender.

If a channel says Payment method required, add billing to the WhatsApp Business Account in Meta Business Manager and then refresh its status in Wabery. If it says the payment status could not be checked, retry the check before changing billing—the unknown state is not treated as proof that billing is missing.

WhatsApp restricts free-form messages to a 24-hour window after the user’s last message. 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.