Skip to main content
POST
Los templates son mensajes pre-aprobados por Meta que puedes enviar en cualquier momento, incluso fuera de la ventana de 24 horas. Son ideales para:
  • Notificaciones transaccionales (confirmación de pedido, envío, etc.)
  • Re-engagement con clientes inactivos
  • Marketing autorizado
  • Alertas y recordatorios
Los templates deben ser aprobados por Meta antes de usarlos. La aprobación puede tomar hasta 24 horas.

Formatos de Envío

Whaapy soporta tres formas de enviar templates:
Formato simplificado con templateName y template_parameters:

Shortcut Whaapy (Simplificado)

El formato más sencillo para templates con solo parámetros de texto en el body.

Campos

string
required
Nombre exacto del template como aparece en Meta Business Manager.
array
Array de strings con los valores para cada {{placeholder}} del template body, en orden.
El shortcut asume idioma es_MX por defecto. Para otros idiomas, usa el formato Meta completo.

Shortcut con Header Media

Para templates que incluyen imagen, video o documento en el header.

Con Video

Con Documento

Campos de header_media

string
required
Tipo de media: image, video, o document.
string
required
URL pública del archivo multimedia.
string
Media ID de Meta previamente subido con el mismo número/WABA que enviará el template.

Ejemplo con media_id (sin URL pública)

Compatibilidad legacy: si un cliente envía accidentalmente el media_id en header_media.url, Whaapy intenta normalizarlo automáticamente.

Formato Meta Completo

Control total sobre todos los componentes del template: header, body, footer y botones.

Template Básico

Template con Header de Imagen

Template con Currency y Date

Template con Botones


Tipos de Parámetros

Parámetro Currency

amount_1000 es el monto multiplicado por 1000. Para $1,500.00 MXN, el valor es 1500000.

Parámetro Date/Time


Estructura de Botones

Los botones en templates tienen diferentes tipos:

Política de IDs (payload) para quick reply

Cuando envías templates por POST /messages/v1, Whaapy resuelve el payload del botón en este orden:
  1. override explícito en request solo si allowButtonIdOverride=true
  2. buttonId configurado en el template del negocio
  3. fallback automático: btn_{index}_{templateName}
Esto garantiza trazabilidad estable en webhooks por negocio.
boolean
Opcional (default: false). Si está en true, permite sobreescribir el payload de quick reply desde template.components.

Ejemplo de override explícito (avanzado)

Ejemplo Quick Reply

Ejemplo URL Dinámica

Si tu template tiene botón URL con https://example.com/track/{{1}}:
El resultado será https://example.com/track/ENV-789.
string
required
Índice del botón (0-9). Corresponde al orden de los botones en el template.

Respuesta Exitosa


Errores Comunes

Template No Encontrado (132000)

Soluciones:
  1. Verifica el nombre exacto en Meta Business Manager
  2. Confirma que el template está aprobado (no en revisión)
  3. Verifica el código de idioma correcto

Número de Parámetros Incorrecto

Solución: Revisa cuántos {{placeholders}} tiene tu template y envía la misma cantidad de parámetros.

Permisos de Media (MEDIA_PERMISSION_DENIED)

Soluciones:
  1. Confirma que el media_id pertenece al mismo WABA/número emisor.
  2. Re-sube el archivo usando la misma credencial que envía el template.
  3. Si no tienes media_id válido, usa header_media.url pública.

Códigos de Idioma Comunes

Usa "policy": "deterministic" para asegurar que se use exactamente el idioma especificado. Sin esto, WhatsApp puede seleccionar un idioma diferente basado en las preferencias del usuario.

Crear Templates en Meta

  1. Ve a Meta Business Suite
  2. Navega a WhatsApp ManagerMessage Templates
  3. Click en Create Template
  4. Selecciona categoría (Marketing, Utility, Authentication)
  5. Define header, body, footer y botones
  6. Envía para aprobación
Los templates de categoría “Authentication” tienen reglas especiales y mayores restricciones.

Próximos Pasos

Mensajes Interactivos

Botones y listas sin templates

Reintentar Mensajes

Reenviar después de template