Enviar plantilla de WhatsApp

POST
/api/meta/whatsapp/templates/send

Envía una plantilla aprobada (ADR 0024). Es la forma de escribirle a un contacto con la ventana de 24 horas cerrada o que nunca escribió: esta ruta no evalúa la ventana.

Destino, Idempotency-Key (obligatoria), controles de cuenta y forma de la respuesta son los mismos de POST /api/meta/whatsapp/send.

template usa el vocabulario de Cloud API: name, language (código como es_MX o en_US) y components opcional, que se reenvía tal cual a Meta (Resender solo valida que sea un array). Si la copia local del catálogo sabe que la plantilla no está APPROVED, responde 409 template_not_approved sin llamar a Meta; si no la conoce, envía y decide Meta.

Disponible también en el plan Free. Consume 1 de cuota solo si Meta aceptó. Meta factura las plantillas directo al método de pago de la WABA, no a través de Resender.

AuthorizationBearer <token>

API key opaca del tenant, creada en Settings → API Tokens. Una key revocada, inexistente o malformada responde 401 {"error":"unauthorized"}.

In: header

Header Parameters

Idempotency-Key*string

Obligatoria en WhatsApp. Clave elegida por el cliente (1–200 caracteres). Repetirla devuelve 200 con el resultado original y resender.idempotentReplay: true, sin volver a llamar a Meta ni consumir cuota. Ausente, vacía o de más de 200 caracteres responde 400.

Length1 <= length <= 200
x-request-id?string

Identificador de correlación opcional que se copia a los logs del servidor.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Destino del envío. O conversationId solo, o pageId + recipientId (opcionalmente con conversationId, que debe coincidir con el par).

Destino del envío. O conversationId solo, o pageId + recipientId (opcionalmente con conversationId, que debe coincidir con el par).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/meta/whatsapp/templates/send" \  -H "Idempotency-Key: order-8841-shipped" \  -H "Content-Type: application/json" \  -d '{    "pageId": "109876543210987",    "recipientId": "+52 55 1234 5678",    "template": {      "name": "hello_world",      "language": "en_US"    }  }'
{  "meta": {    "messaging_product": "whatsapp",    "contacts": [      {        "input": "5215512345678",        "wa_id": "5215512345678"      }    ],    "messages": [      {        "id": "wamid.HBgNNTIxNTUxMjM0NTY3OBUCABEYEjBBQkNERUYxMjM0NTY3ODkwAA==",        "message_status": "accepted"      }    ]  },  "resender": {    "conversationId": "6f0e5a2c-8a5e-4a3d-9c2b-1f2e3d4c5b6a",    "messageId": "0c9d2f6e-3b7a-4e1d-8f5c-2a1b3c4d5e6f",    "status": "sent"  }}