Objetos
Estructura general
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| from | Teléfono (con código de país) del que se enviará el mensaje. | String | Obligatorio. |
| to |
| String | Obligatorio. |
| type | El valor por defecto es "text". | String | Obligatorio. |
| text | Texto del mensaje. | String |
|
| category | Categoría de activación de Direct Send. Valor válido: utility. Enviar service se considera fuera de Direct Send y sigue el comportamiento de envío existente. | String |
|
| ttl_seconds | Permite configurar el TTL; se agrega debajo del campo category. Para utility:
| String | Opcional. |
| direct_send_config | Objeto para atribuir los mensajes a un template con nombre explícito. | Objeto | Opcional. |
Atribución de template
Por defecto, Direct Send hace matching automático del mensaje contra las plantillas existentes o crea una nueva con un nombre generado por Meta. Si se necesita que todos los mensajes de un mismo flujo se atribuyan siempre al mismo template, se puede fijar un nombre explícito.
Objeto direct_send_config
| Nombre | Descripción | Tipo | Requerimientos |
|---|---|---|---|
| template_name | Nombre explícito del template a crear o reutilizar. Único por WABA. Solo es válido junto con category: "utility". | String |
|
Formatos adicionales soportados por Direct Send
Además del texto, Direct Send soporta los siguientes mensajes interactivos. En ambos casos el type es interactive y se envían con category igual a utility. Ver ejemplos en Ejemplos.
Botones combinados (CTA URL + respuesta)
Un mismo mensaje interactivo puede combinar botones de URL (cta_url) y de respuesta (reply), definidos en el arreglo buttons del objeto replyButtons:
- Hasta 10 botones en total.
- Máximo 2 botones de tipo cta_url.
- Los botones cta_url deben ir antes que los reply en el arreglo.
Botón de llamada de voz (voice_call)
El botón de llamada de voz de WhatsApp ("Llamada en WhatsApp") permite a un usuario tocar para iniciar una llamada de voz de WhatsApp al número de teléfono del negocio. Se envía como un mensaje interactivo de formato libre con la etiqueta category: "utility" de nivel superior y un solo botón de llamada, definido en el objeto voice_call. Los campos display_text y ttl_minutes se aplican al botón de llamada de voz.
Nota: para usar esta función el número debe tener habilitado WhatsApp Calling en WhatsApp Manager; de lo contrario, Meta responde el error 138000 ("Calling API not enabled") aunque el JSON sea correcto.