Create template
Create a WhatsApp message template. Note: Templates must be approved by Meta before use.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Default template body. Used when no channel-specific body is set.
Channel-specific body for SMS. Falls back to body if not set.
Channel-specific body for Telegram. Falls back to body if not set.
Channel-specific body for Instagram. Falls back to body if not set.
WhatsApp template category.
UTILITY, MARKETING, AUTHENTICATION Type of header for the template.
text, image, video, document Header content (text string or media URL).
Footer text for the template.
60Template buttons (max 3).
3Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.
Code expiration time in minutes. Only for AUTHENTICATION templates.
1 <= x <= 90Response
Template created.
Template name. For WhatsApp, must match the approved template name in Meta.
"order_confirmation"
Language code.
"en"
Default template body with variables: positional ({{1}}, {{2}}) or named ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are submitted to Meta as positional; templates imported from a WhatsApp Business Account keep their original format (named or positional). Used when no channel-specific body is set.
"Hi {{1}}, your order {{2}} has shipped."
The category the template is billed under. For a template linked to WhatsApp this is the category Meta currently assigns, not the one it was submitted with: Meta can recategorize a template at approval or at any point afterwards, and that changes what the message costs.
A recategorization reaches this field through the template.status_changed webhook, which carries data.category, and through POST /v1/templates/sync, which reconciles it against Meta. Read one of those rather than assuming the category you sent is the one in force.
For a template that was never submitted to WhatsApp, this is the category stored locally, defaulting to UTILITY.
UTILITY, MARKETING, AUTHENTICATION Channel-specific body for SMS messages. Falls back to body if not set.
Channel-specific body for Telegram messages. Falls back to body if not set.
Channel-specific body for Instagram messages. Falls back to body if not set.
draft, pending, approved, rejected List of variable names for documentation.
Type of header (text, image, video, document).
Header content (text or media URL).
Footer text for the template.
Template buttons.
Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.
Code expiration time in minutes. Only for AUTHENTICATION templates.
1 <= x <= 90WhatsApp-specific template information.
