/v1/whatsapp/*. El alcance es deliberadamente limitado: ciclo de vida de las plantillas más envío saliente de plantillas. La conexión de la WABA solo se hace desde el navegador (OAuth) y sigue estando en el panel.
Todos los comandos aceptan en la posición
<account-id> tanto el UUID interno de la cuenta social (de accounts:list) como el ID de proveedor de la WABA de Meta. El controlador v1 resuelve los UUID a ID de proveedor en el servidor.whatsapp:templates
Lista todas las plantillas registradas en una cuenta de WhatsApp Business, incluidos el estado (APPROVED, PENDING, REJECTED), la categoría, el idioma y la estructura de componentes.
Ejemplos
whatsapp:create-template
Envía una plantilla nueva a Meta para su aprobación. La aprobación de una plantilla puede tardar de minutos a horas; consulta periódicamentewhatsapp:templates para ver la transición del estado de PENDING a APPROVED.
Proporciona la definición de la plantilla con
--file o --data (si se pasan ambas, gana --file; si no se pasa ninguna, el comando da un error). La carga coincide con el esquema de la API en la nube de WhatsApp de Meta. Campos mínimos:
name: en minúsculas y con guiones bajoslanguage: p. ej.en_UScategory:MARKETING,UTILITYoAUTHENTICATIONcomponents[]:HEADER,BODY,FOOTER,BUTTONS
accountId (de --account) a la carga antes de enviarla, así que no hace falta incluirlo en el JSON.
Ejemplos
whatsapp:delete-template
Elimina una plantilla de forma permanente. Una vez eliminada, no se puede restaurar; debes volver a enviarla con un nombre nuevo.
Sin
-y, el comando pregunta Delete template "<name>" on account <id>? (y/N) y se cancela a menos que respondas y.
Ejemplos
whatsapp:send
Envía un mensaje de plantilla aprobada a un destinatario. Es la forma principal de iniciar una conversación de WhatsApp fuera de la ventana de atención al cliente de 24 horas.--components y --file son opcionales (una plantilla sin variables no necesita ninguno). Si se indican ambos, --file tiene prioridad.
Los parámetros de los componentes rellenan las variables ({{1}}, {{2}}, etc.) de la plantilla aprobada. La estructura coincide con la API en la nube de Meta:
Ejemplos
whatsapp:upload-media
Sube multimedia de cabecera (imagen/vídeo/documento) para usarla dentro del componenteHEADER de una plantilla. Devuelve un identificador de multimedia al que puedes hacer referencia al crear o enviar plantillas.
Indica exactamente una de las opciones
--url o --base64: el comando da un error si no indicas ninguna o indicas ambas.
Ejemplos
Panorama general
- Los mensajes de sesión (respuestas dentro de las 24 horas siguientes a un mensaje entrante) pasan por
inbox:reply; no requieren plantilla. - Los mensajes de plantilla (primer contacto o fuera de la ventana de 24 horas) usan
whatsapp:sendy requieren una plantilla aprobada por Meta. - Conectar una cuenta de WhatsApp Business sigue haciéndose solo desde el navegador: completa OAuth en el panel primero y después tus scripts de la CLI podrán referirse a la cuenta conectada.