A WhatsApp message template is made up of four components.
These parts determine how your message looks and whether it passes Meta’s approval process.
Your order has shipped!, ).Hi , your order has shipped! Track it here: Thanks for shopping with us!Buttons add interactivity to your template.
Allowed types:
⚠️ Important Rule: You must choose either Quick Replies or CTAs — they cannot be mixed in the same template.
Component | Mandatory? | Limitations | Variables Allowed? | Example Use Case |
🧱 Header | Optional | - Text: 60 chars, no variables | ❌ No (text) | “Order Confirmation” header or product image |
📝 Body | ✅ Yes | Max 1024 chars | ✅ Up to 25 | “Hi , your order has shipped!” |
🧾 Footer | Optional | Max 60 chars, static only | ❌ No | “Thanks for shopping with us!” |
🔘 Buttons | Optional | - Quick Reply: Max 3 | ⚠️ Limited (URL buttons can contain variables) | “Confirm” / “Cancel” (Quick Replies), “Call Support” (CTA) |
{ "name": "order_update", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Your order has shipped!" }, { "type": "BODY", "text": "Hi , your order has shipped! Track here: " }, { "type": "FOOTER", "text": "Thank you for shopping with us!" }, { "type": "BUTTONS", "buttons": [ { "type": "URL", "text": "Track Package", "url": "https://track.com/" }, { "type": "PHONE_NUMBER", "text": "Call Support", "phone_number": "+1234567890" } ]} ]}✨ Pro Tip: Keep the Body focused and personalized with variables, while using Headers and Buttons strategically for attention and action. Footers should remain simple and static.