# WhatsApp API integration

> Step-by-step integration of WhatsApp Business API via BroadNet — embedded sign-up, template submission, sending, webhooks for inbound. Every message category.

- Canonical URL: https://www.broadnet.me/developers/whatsapp
- Language: en
- Last updated: 2026-10-21
- Publisher: BroadNet (https://www.broadnet.me)

End-to-end integration of the WhatsApp Business API through BroadNet: embedded sign-up, template submission and sending. Sends go through POST /whatsapp/message/sendbulk with messageType TEXT, IMAGE, VIDEO, AUDIO, DOCUMENT, STICKER, LOCATION, CONTACTS, TEMPLATE, INTERACTIVE, REACTION or FLOW. The response carries a batch ID, and per-recipient status (SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED) is pushed to your webhook and readable at /whatsapp/message/bulk-insights.

> **Start with embedded sign-up** BroadNet's embedded sign-up flow handles WhatsApp Business Account creation, phone-number verification, and display-name approval in a single hosted modal. Most teams go from zero to first template send in under a day.

## Examples

### template send

```bash
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -F batchId=0 \
  -F campaignName=order-updates \
  -F destinationNo=447700900123 \
  -F messageType=TEMPLATE \
  -F templateName=order_update \
  -F templateLanguage=en_US \
  -F bodyTemplateVariables=INV-400
```

### whatsapp.ts

```typescript
import { Configuration, WhatsAppWhatsAppMessagingAPIApi } from "@broadnet/cpaas-sdk";

const wa = new WhatsAppWhatsAppMessagingAPIApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

const res = await wa.whatsappMessageSendbulkPost({
  campaignName: "order-updates",
  messageType: "TEXT",
  destinationNo: "447700900123",
  content: "Your order has shipped.",
});

console.log(res.data); // batchId + per-file acceptance counts
```

Official TypeScript SDK · npm install @broadnet/cpaas-sdk axios
