Templates & categories
WhatsApp business messaging is template-based. You send a pre-approved template and supply values for its dynamic parts at send time, using a components array.
Template components
| Component | Description | When to include |
|---|---|---|
| Header | Top section: text, image, document, or video. Text headers can contain variables. | When the template has a header. Use empty parameters if static. |
| Body | Main text. Variables {{1}}, {{2}}… each need a parameter object. | Always. Use empty parameters if there are no variables. |
| Footer | Short bottom line, usually static. | Only if the template has a footer. |
| Button | Quick-reply or call-to-action; dynamic URL suffix or payload. | Only if the template has dynamic buttons. |
Each component is an object: { "type": "body", "parameters": [ { "type": "text", "text": "123456" } ] }. Pass "parameters": [] for components with no dynamic variables.
Template categories
| Category | Description |
|---|---|
| MARKETING | Promotional content; subject to WhatsApp marketing policy. |
| UTILITY | Transactional messages (orders, shipping, appointments, account alerts). |
| AUTHENTICATION | Account verification flows using the native WhatsApp authentication format. |
WABA accounts
Each WhatsApp Business Account (WABA) corresponds to a registered business phone number. Your source must be an approved sender under the selected WABA.