ReachBellDocs

WhatsApp

Reach customers on WhatsApp from the same dashboard and audience as your other channels — order updates and reminders (transactional), or campaigns to a segment. Built on the WhatsApp Business API.

1. Connect WhatsApp

In your project's channel settings, enable WhatsApp and connect your business sender:

  • WhatsApp Cloud API (Meta) — connect your WhatsApp Business Account, phone-number id, and access token.
  • BSP — or route through a supported business solution provider.

Credentials are stored per project. Import your approved message templates (managed in Meta / your BSP) so you can send business-initiated messages.

Templates & the 24-hour window. WhatsApp requires a pre-approved template for business-initiated messages. Within 24 hours of a user's last inbound message (the customer-service window), you can also send free-form text.

2. Send

Campaigns — compose to a segment from the dashboard (Messaging → Broadcasts), choosing an approved template.

Transactional — one recipient, from your backend, via the Server SDK:

import { ReachBell } from '@reachbell/node';
 
const rb = new ReachBell({ apiKey: process.env.REACHBELL_API_KEY! });
 
// Business-initiated — use an approved template:
await rb.transactional.whatsapp({
  externalId: 'user_42',                       // or: to: '+919876543210'
  template: { name: 'order_update', params: ['#4821', 'shipped'] },
});
 
// Inside the 24h service window — free-form text is allowed:
await rb.transactional.whatsapp({ to: '+919876543210', text: 'Thanks! Anything else?' });

Prefer raw HTTP? The same call is POST /transactional/whatsapp — see the Server API.

3. Receiving messages & delivery status

Delivery receipts and inbound replies arrive over a webhook — this is what powers the deliverability dashboard and automatic STOP handling.

On ReachBell Cloud this is already wired — nothing to do. If you self-host or connect your own Meta app, point WhatsApp at ReachBell's webhook in Meta → WhatsApp → Configuration → Webhooks:

  • Callback URL — https://<your-api-host>/webhooks/whatsapp (e.g. https://api.reachbell.com/webhooks/whatsapp)
  • Verify token — any random string; set it as WHATSAPP_VERIFY_TOKEN in the API and paste the same value here
  • Subscribe to the messages field

Set WHATSAPP_APP_SECRET (your Meta app secret) in the API so incoming requests are signature-verified (X-Hub-Signature-256). One webhook serves every project — inbound events are routed to the right project by their WhatsApp phone-number id.

Opt-out

Per-channel opt-out from the hosted preference center, and inbound STOP is honoured — without affecting the subscriber's email or push subscriptions.

See also