logo
enes

WhatsApp Flows

Last update: 4 days ago by Irais Aguirre

Resumen para integración

  • Endpoint: POST https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging
  • Token: de mensajería, en el encabezado Authorization: Bearer {{wa-msg-api-token}} (cómo generarlo)
  • Campos comunes: from, to (teléfono o BSUID) y type (detalle)
  • Valores de type en esta página: "interactive"
  • Respuesta: la misma para todos los mensajes (ver respuesta)

Mensajes que abren un WhatsApp Flow. Para crear y administrar Flows, consulta la sección Flows. Se envían con POST /v1/messaging; los encabezados, los campos comunes y la respuesta están en Conexión HTTP.

WhatsApp Flows

El campo type debe ser "interactive" y el contenido del mensaje se envía en el objeto flow. Consulta la estructura general de los mensajes interactivos.

Cuerpo

Campos de WhatsApp Flows:

NombreDescripciónTipoRequerimientos
flowObjeto con el WhatsApp Flow. Envía solo uno: listMessages, replyButtons o flow (o algún otro tipo de mensaje interactivo).ObjetoCondicional

Objeto flow

NombreDescripciónTipoRequerimientos
bodyEl contenido del mensajeStringObligatorio
actionLa acción que deseas que realice el usuario después de leer el mensaje.ObjetoObligatorio

Objeto action

NombreDescripciónTipoRequerimientos
nameNombre de la acción. El servicio siempre envía "flow".StringOpcional
parametersParámetros del Flow.ObjetoObligatorio

Objeto action.parameters

NombreDescripciónTipoRequerimientos
modeEl flujo puede estar en modo
  • draft (borrador)
  • published (publicado)
String
  • Opcional.
  • El valor por defecto es "published"
flow_message_versionVersión del mensaje de Flow. El servicio siempre envía "3", aunque se mande otro valor.String
  • Opcional.
  • Siempre se envía "3".
flow_idID único del Flow proporcionado por WhatsApp.StringObligatorio.
flow_tokenToken que genera tu negocio para identificar la sesión del Flow. Se devuelve en la respuesta del Flow.StringOpcional.
flow_ctaTexto del botón de llamada a la acción, por ejemplo, "Registrarse".String
  • Obligatorio
  • Límite de caracteres: 20 caracteres (sin emojis).
flow_action
  • navigate (navegar). Predefinir la primera pantalla como parte del mensaje
  • data_exchange (intercambiar datos). Casos de uso avanzados en los que tu punto de conexión proporciona la primera plantilla.
String
  • Obligatorio.
  • Valores permitidos: "navigate" o "data_exchange".
flow_action_payloadObjetoObligatorio si el flow_action es de tipo “navigate”. En caso contrario, deberá omitirse.

Objeto flow_action_payload

NombreDescripciónTipoRequerimientos
screenEl ID de la pantalla que se muestra primero.StringTiene que ser una pantalla de entrada
dataDatos de entrada opcionales para la primera pantalla del Flow. Si se proporciona, debe ser un objeto que no esté vacío.Map<String, Object>Opcional

Ejemplo

Ejemplo completo de WhatsApp Flows (petición HTTP y cuerpo JSON):

Petición HTTP WhatsApp Flows

curl -X POST 'https://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging' \
-H 'Authorization: Bearer {{wa-msg-api-token}}' \
-H 'Content-Type: application/json' \
-d '{
"from": "5215500000001",
"to": "5215500000002",
"type": "interactive",
"flow": {
"body": "Agenda una sesión de asesoría de la API de WhastApp con uno de nuestros agentes de Concepto Móvil para familiarizarte con nuestras soluciones",
"action": {
"name": "flow",
"parameters": {
"mode": "draft",
"flow_message_version": "3",
"flow_id": "1",
"flow_token": "AQAAAAACS5FpgQ_cAAAAAD0QI3s.",
"flow_cta": "Agendar ahora",
"flow_action": "navigate",
"flow_action_payload": {
"screen": "screen name",
"data": {
"product_name": "name",
"product_description": "description",
"product_price": 100
}
}
}
}
}
}'

Body WhatsApp Flows

{
"from": "5215500000001",
"to": "5215500000002",
"type": "interactive",
"flow":
{
"body": "Agenda una sesión de asesoría de la API de WhastApp con uno de nuestros agentes de Concepto Móvil para familiarizarte con nuestras soluciones",
"action": {
"name": "flow",
"parameters": {
"mode": "draft",
"flow_message_version": "3",
"flow_id": "1",
"flow_token": "AQAAAAACS5FpgQ_cAAAAAD0QI3s.",
"flow_cta": "Agendar ahora",
"flow_action": "navigate",
"flow_action_payload": {
"screen": "screen name",
"data": {
"product_name": "name",
"product_description": "description",
"product_price": 100
}
}
}
}
}
}


Anterior
Solicitud de información de contacto
Siguiente
Solicitud de ubicación