Saltearse al contenido

WhatsApp Business

Este modulo permite enviar mensajes a traves de la WhatsApp Business Cloud API de Meta (Graph API v18.0). Soporta envio de texto, plantillas (templates), imagenes, documentos, audio, video, ubicacion, contactos, mensajes interactivos con botones y listas. Tambien permite marcar mensajes como leidos, consultar plantillas, gestionar el perfil de negocio y manejar archivos multimedia (subir, consultar URL y descargar).

La operacion se determina por el campo operation o por el nombre del nodo. El numero de telefono del remitente (phoneNumberId) puede configurarse en las credenciales o en cada nodo.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCuenta de WhatsApp Business
operationselectSiOperacion: sendText, sendTemplate, sendImage, sendDocument, sendAudio, sendVideo, sendLocation, sendButtons, sendList, markAsRead, getTemplates, getBusinessProfile, updateBusinessProfile, uploadMedia, getMedia, downloadMedia
to / toKeytextCondicionalNumero de telefono destino con codigo de pais (ej: 521234567890)
text / textKeytextCondicionalTexto del mensaje
templateNametextCondicionalNombre de la plantilla aprobada (para sendTemplate)
languageCodetextNoCodigo de idioma de la plantilla (default: “es”)
templateComponentsjsonNoComponentes de la plantilla (header, body, buttons)
imageUrltextCondicionalURL de la imagen a enviar
documentUrltextCondicionalURL del documento a enviar
buttonsjsonCondicionalArray de botones (max 3, titulo max 20 caracteres)
sectionsjsonCondicionalSecciones para lista interactiva
headerTexttextNoTexto del encabezado (para botones y listas)
footerTexttextNoTexto del pie (para botones y listas)

Tipo de servicio: whatsapp_business. Se almacenan en la tabla servicecredentials.

Campos de configuracion:

  • accessToken: Token de acceso permanente de la API de WhatsApp Business (obligatorio)
  • phoneNumberId: ID del numero de telefono de WhatsApp Business
  • businessAccountId: ID de la cuenta de negocio de WhatsApp (para consultar plantillas)
{
"nextModule": "siguiente_modulo",
"data": {
"messageResult": {
"messaging_product": "whatsapp",
"contacts": [{ "input": "521234567890", "wa_id": "521234567890" }],
"messages": [{ "id": "wamid.xxxxx" }]
}
},
"_meta_": {
"operation": "sendText",
"phoneNumberId": "123456789",
"service": "whatsapp_business"
}
}
{
"credentials_id": 1,
"operation": "sendText",
"to": "521234567890",
"text": "Hola, tu pedido ha sido enviado"
}
{
"credentials_id": 1,
"operation": "sendTemplate",
"to": "521234567890",
"templateName": "order_confirmation",
"languageCode": "es"
}
  • Los botones interactivos estan limitados a 3 por mensaje, con titulo de maximo 20 caracteres
  • Las filas de listas tienen titulo maximo de 24 caracteres y descripcion de 72 caracteres
  • El boton de lista tiene un maximo de 20 caracteres
  • Las plantillas deben estar aprobadas por Meta antes de usarse
  • Para iniciar conversaciones con usuarios nuevos se debe usar sendTemplate (ventana de 24h)
  • El numero de telefono debe incluir el codigo de pais sin el signo +
  • La descarga de medios retorna el contenido en base64
  • El parametro continueOnError permite que el workflow continue incluso si la operacion falla
  • Los errores de la API incluyen codigo y detalles especificos de WhatsApp
  • WA Send Text, WA Send Template, WA Send Image, WA Send Document
  • WA Send Audio, WA Send Video, WA Send Location, WA Send Contact
  • WA Send Buttons, WA Send List, WA Mark as Read
  • WA Get Templates, WA Get Business Profile, WA Update Business Profile
  • WA Upload Media, WA Get Media, WA Download Media