Documentación / Completo
Crear, listar y sincronizar plantillas
POST /v1/templates
¿Programás con IA? Conectala a tu cuenta por MCP: revisa tu configuración, crea webhooks y plantillas con tu confirmación y te escribe el código. Ver cómo →
Ya podés administrar plantillas desde Connect: GET /v1/templates (listar por número/estado/categoría), POST /v1/templates (crear — corre el pre-chequeador ANTES de Meta: si hay un bloqueante ni se intenta, así no gastás el ciclo de rechazo, que es lento), POST /v1/templates/precheck (validar un borrador en vivo), GET /v1/templates/catalog + POST /v1/templates/seed (adoptar plantillas por rubro redactadas con las reglas de Meta; la aprobación la decide Meta), POST /v1/templates/bulk (aplicarlas a varios números), POST /v1/templates/sync y DELETE /v1/templates/:id. La plantilla nace PENDING; suscribite a template.status_changed para enterarte cuando Meta la aprueba o rechaza, con el motivo en lenguaje humano. El estado se actualiza cada pocos minutos (no en tiempo real), y Meta puede tardar entre minutos y horas en revisar una plantilla — el evento llega, con esa demora. Usá el botón Actualizar por conexión en el panel para un chequeo a demanda.
curl -X POST https://api.waiaconnect.com/v1/templates \
-H "Authorization: Bearer wc_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"connectionId":"conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","name":"order_confirmation","language":"es","category":"UTILITY","body":{"text":"Hola {{1}}, tu pedido {{2}} está listo.","examples":["María","#A-1042"]}}'
# Pre-checked before Meta. On success the template is PENDING; subscribe to
# template.status_changed to hear when Meta approves or rejects it.Idiomas: language va con el código de Meta, tal cual: he (hebreo), ar, fa, ur, en_US, pt_BR, es_AR… (111; la lista de Meta). No existe pt solo: es pt_BR o pt_PT. Un código que Meta no acepta vuelve antes de Meta con TPL_LANGUAGE_INVALID y un hint a la lista. En hebreo, árabe, persa y urdu la vista previa sale de derecha a izquierda (dir: "rtl").
La causa #1 de rechazo es una variable {{n}} sin ejemplo — dale un ejemplo a cada una (el pre-chequeador te lo genera).
Categorías: UTILITY (transaccional, la más barata) · MARKETING (promos, más cara por mensaje) · AUTHENTICATION (códigos). Marcar un mensaje transaccional como MARKETING te hace pagar de más.
Editar: PATCH /v1/templates/:id, donde Meta lo permite — una aprobada, rechazada o pausada; la aprobada mantiene su categoría y se edita 1 vez cada 24 h (10 cada 30 días). Borrar una aprobada bloquea su nombre 30 días.