View as Markdown

Message templates

A template is a message pre-approved by Meta. It is the only format deliverable outside the 24-hour window, and therefore the only one usable for a quote, a receipt or a reminder sent on your initiative.

List

GET /whatsapp/templates?status=APPROVED&limit=50

Real even with a test key, so you build against your actual templates.

Create

POST /whatsapp/templates
{
  "templateData": {
    "name": "payment_receipt",
    "category": "UTILITY",
    "language": "en",
    "components": [
      {
        "type": "BODY",
        "text": "Hello {{1}}, we have received your payment of {{2}}. Thank you."
      }
    ]
  }
}

The name accepts only lower-case letters, digits and underscores.

Refresh status

POST /whatsapp/templates/sync

Pulls the real state from Meta. Use this rather than polling the list: the list returns the known state, not the current one.

Approval times

A well-written utility template is usually approved within an hour, often within minutes. Meta commits to 24 hours at most.

Why a template gets rejected

Nearly all rejections come from the same mistake: promotional wording inside a UTILITY template. "Enjoy 20% off" in a utility template is rejected; "Your order has shipped" goes through.

The three categories: UTILITY for transactional, MARKETING for promotion, AUTHENTICATION for one-time codes.

Delete

DELETE /whatsapp/templates/{name}