Enviar plantilla
Envía una plantilla aprobada por Meta. Las plantillas se pueden enviar en cualquier momento, también a contactos nuevos y fuera de la ventana de 24 horas.
bash
01plazbot whatsapp send-template -p <número> -t <plantilla> [opciones]
Parámetros
| Parámetro | Flag | Requerido | Descripción |
|---|---|---|---|
| Teléfono | -p, --phone <number> | Sí | Número del destinatario en formato internacional, por ejemplo +51912345678 |
| Plantilla | -t, --template <name> | Sí | Nombre exacto de la plantilla aprobada en Meta (ej: welcome_message) |
| Variables del cuerpo | --var <name=value...> | No | Uno o más pares nombre=valor (ej: --var name=Anna code=PB-123) |
| Variables de cabecera | --header-var <name=value...> | No | Pares nombre=valor para una cabecera de texto (ej: --header-var store=Lima) |
| URL del archivo | --file-url <url> | No | URL pública (http/https) de la imagen, video o documento de la cabecera |
| Nombre del archivo | --file-name <name> | No | Nombre que ve el destinatario en una cabecera de documento. Requiere --file-url. Default: file |
| JSON | --json | No | Imprime solo JSON en stdout |
Formato de las variables
- Siempre
nombre=valor. Solo el primer=separa, así que el valor puede contener=. - Si el valor tiene espacios, pon el par entre comillas:
--var "name=Anna Lopez". - Un par sin
=, sin nombre o con valor vacío es un error: el CLI no lo descarta en silencio. --vary--header-varaceptan varios pares. Ponlos después de las demás opciones o repite el flag.
Ejemplos
bash
01# Plantilla sin variables02plazbot whatsapp send-template -p +51912345678 -t welcome_message0304# Plantilla con variables del cuerpo05plazbot whatsapp send-template -p +51912345678 -t order_status --var name=Anna code=PB-1230607# Variable de cabecera de texto más variable del cuerpo08plazbot whatsapp send-template -p +51912345678 -t promo --header-var store=Lima --var amount=200910# Plantilla con documento en la cabecera11plazbot whatsapp send-template -p +51912345678 -t invoice --file-url https://files.example.com/inv.pdf --file-name invoice.pdf
Resultado
text
01 Sending WhatsApp template02 ────────────────────────────────────────03 To: +5191234567804 Template: order_status05 Body variables: name=Anna, code=PB-12306✔ Template sent
Cuando corresponde, también se muestran Header variables: ... y File: <url> (<nombre>).
Salida JSON
json
01{02 "phone": "51912345678",03 "template": "order_status",04 "status": "sent",05 "messageId": "..."06}
messageId aparece solo cuando la API lo devuelve.
Errores comunes
| Mensaje | Causa | Solución |
|---|---|---|
Invalid --var "name". | Falta el = o el nombre | Usa --var name=Anna |
Variable "name" in --var has an empty value. | El valor está vacío (--var name=) | WhatsApp rechaza variables vacías: pasa un valor |
--file-name needs --file-url. | Pasaste --file-name sin archivo | Agrega --file-url <url> |
Invalid --file-url "..." | La URL no es http(s) | Usa una URL pública http(s) |
The template was not sent. (más el detalle de la API) | Nombre incorrecto, plantilla no aprobada o variables que no coinciden | Revisa la plantilla y sus variables en el panel (Templates) |
Invalid phone number "..." | Número mal formado | Usa el formato internacional, por ejemplo +51912345678 |
--header-var llena los marcadores de una cabecera de texto. Para una cabecera de imagen, video o documento usa --file-url (y --file-name para documentos).