Zernio
Zernio
PlatformsWhatsAppConnection & SetupBroadcastsTemplatesContactsPhone NumbersCallingSandboxGroup ChatsInboxMeta Business AgentFlowsClick-to-WhatsApp AdsPricing & CostsMedia & Limits
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources

WhatsApp

Send template messages, broadcasts, flows and replies from a WhatsApp Business Account with the Zernio API, plus groups, calling and Click-to-WhatsApp attribution.


Send template messages, broadcasts, flows and replies on WhatsApp from a connected WhatsApp Business Account (platform value whatsapp). A conversation starts with POST /v1/inbox/conversations and a template; a broadcast starts with POST /v1/broadcasts. The same account serves the inbox, group chats, voice calling and Click-to-WhatsApp attribution.

Quick reference

PropertyValue
Message typesText, template, image, video, document, audio, interactive, location, contact card
Template requiredYes, outside the 24-hour customer service window
Media limitsMedia requirements
SchedulingBroadcasts only (no scheduled single messages)
Inbox (DMs)Yes
Inbox (comments)No
Group chatsYes, non-coexistence numbers only (Group chats)
FlowsYes (forms, surveys, booking)
CallingYes, inbound and outbound voice (Calling)
AnalyticsNo (delivery status per message only)

Before you start

WhatsApp requires a WhatsApp Business Account (WABA) inside a Meta Business account (business.facebook.com); a personal WhatsApp account cannot be connected. The WABA is created during the connection flow if you do not have one, and it needs at least one phone number registered to it.

Two rules shape every send. You can message a customer freely for 24 hours after their last message; outside that window the message must be an approved template (Templates). A freshly connected number starts on Meta's lowest messaging tier, 250 unique contacts per day, and Meta raises it as you build messaging history and keep quality up.

Connect

Call GET /v1/connect/whatsapp with profileId and redirect_url. Embedded Signup is the only browser route onto Meta's Cloud API; the coexistence variant adds a QR code the business scans with the WhatsApp Business app (coexistence).

import Zernio from '@zernio/node';

const zernio = new Zernio();

const { data: connect } = await zernio.connect.getConnectUrl({
  path: { platform: 'whatsapp' },
  query: {
    profileId: '66a1f0c2a4b9d3e8f1a2b3c4',
    redirect_url: 'https://myapp.com/callback',
    onboarding: 'api'
  }
});

console.log(connect.authUrl);

Response (200):

{
  "authUrl": "https://www.facebook.com/v21.0/dialog/oauth?client_id=...",
  "state": "..."
}

Send the user to authUrl. They land back on redirect_url with accountId, the id every WhatsApp call takes from here on.

Three questions decide how you connect, and the connection guide answers each with the call to make:

  • Whose number. A number you buy through Zernio can also carry Calls and SMS and can only be connected on the profile it was bought for. A number you already own connects through Embedded Signup or with a Meta System User token.
  • Coexistence or Cloud API only. Keeping the number in the WhatsApp Business app (coexistence) caps throughput at 20 messages per second and turns off the Groups API and calling. Pass onboarding=api to skip it.
  • One number per profile. Each profile holds exactly one WhatsApp number; connect a second number to a second profile.

Who bills what

WhatsApp has two billers, Zernio and Meta. Pricing & costs says which charge lands on which invoice; WhatsApp rates has Meta's numbers by country.

In this section

Connection & Setup

Embedded Signup, coexistence, System User credentials, and the business profile customers see

Broadcasts

Send a template to many recipients with per-recipient variables and scheduling

Templates

Create templates, read Meta's review status, import from the template library

Contacts

Create and import contacts with a WhatsApp channel so broadcasts can target them

Phone Numbers

Which number gets WhatsApp, the liveness check, and the two-step PIN

Calling

Inbound and outbound WhatsApp voice calls forwarded to a phone, SIP or AI agent

Sandbox

Test against Zernio's shared number before buying one

Group Chats

Create groups, manage participants, invite links and join requests

Inbox

Receive and reply, interactive and commerce messages, delivery webhooks

Meta Business Agent

Provision and run Meta's AI agent on a number without the merchant opening Business Manager

Flows

Native forms, surveys and booking screens inside WhatsApp

Click-to-WhatsApp Ads

Capture the ad click and send conversions back to Meta

Pricing & Costs

What Zernio charges and what Meta charges

Media & Limits

Media formats and sizes, what the API does not expose, and every Meta error code with its fix

Analytics

WhatsApp exposes no post-level analytics through its API. Delivery status (sent, delivered, read) is tracked per message and per broadcast recipient, and arrives as the message.delivered and message.read events (inbox webhooks).

Common errors

The connect call fails on a 404 when profileId is unknown, and on a 402 when the team has no payment method (connecting accounts). The conflicts that matter for WhatsApp appear later, when the user picks a number: they come back on your redirect_url as error=one_whatsapp_per_profile, whatsapp_number_pinned_to_profile or whatsapp_number_already_connected, each with its fix in connection and setup.

Related

  • Connecting accounts: the redirect flow, headless mode and scopes shared by every platform.
  • Messages: the inbox API reference.
  • Broadcasts and Contacts: API reference.
  • WhatsApp webhooks and phone number webhooks: template reviews, number lifecycle.
  • Phone numbers: buying, porting, KYC and per-country pricing.
Was this page helpful?

Snapchat

Publish Stories, Saved Stories and Spotlight videos to a Snapchat Public Profile with the Zernio API, once your account is approved for the closed beta.

Connection & Setup

Connect a WhatsApp Business Account to a profile through Meta's Embedded Signup or a System User token, choose coexistence or Cloud API only, and set the business profile customers see.

On this page

Quick referenceBefore you startConnectWho bills whatIn this sectionAnalyticsCommon errorsRelated