Enviar plantilla de WhatsApp
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.
Authorization
ApiKey API key opaca del tenant, creada en Settings → API Tokens. Una
key revocada, inexistente o malformada responde 401 {"error":"unauthorized"}.
In: header
Header Parameters
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.
1 <= length <= 200Identificador 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" }}