Cómo Enviar WhatsApp Flows: Envía Formularios de Encuesta

Los WhatsApp Flows son una herramienta poderosa que te permite enviar formularios de encuesta directamente a través de la API de WhatsApp. A continuación, te guiaré paso a paso para configurar y enviar un flujo (Flow) en WhatsApp, integrando un formulario de encuesta.

¿Qué es un WhatsApp Flow?

Un WhatsApp Flow es un tipo de mensaje estructurado que permite a las empresas enviar encuestas, formularios o series de preguntas a través de WhatsApp. Es ideal para recopilar información de los usuarios de manera directa y efectiva, utilizando la API de WhatsApp.

Configuración Inicial de WhatsApp en Meta Business

Antes de empezar, es importante tener configurada tu cuenta de WhatsApp en Meta Business. Si aún no lo has hecho, sigue estos pasos:

  1. Crea o accede a tu cuenta en Meta Business.
  2. Configura WhatsApp en Meta Business: Sigue el tutorial en video que he preparado, donde explico cómo realizar la configuración inicial para que puedas tener WhatsApp Business activo y listo para usar.

Configuración del Flow en WhatsApp

Una vez que tengas tu cuenta configurada, el siguiente paso es crear un Flow en WhatsApp.

Selecciona o crea una Plantilla de Mensaje:

En el administrador de Meta Business, selecciona la plantilla que mejor se adapte a tus necesidades. Debe ser una plantilla que permita el flujo de preguntas y respuestas, comúnmente conocida como «flujo» o «flow».

Configura las Preguntas del Cuestionario:

Define las preguntas que deseas incluir en tu encuesta, asegúrate de hacer bien las preguntas porque después no se pueden editar amenos que crees una nueva plantilla.

  1. Configura el orden y la lógica de las preguntas dentro de la plantilla.
  2. Una vez configurado, envía la plantilla para su aprobación por parte de WhatsApp.
  3. Nota: La aprobación puede tardar un poco, así que asegúrate de hacerlo con antelación.

Obtención del ID del Template

Para enviar un WhatsApp Flow, necesitas el ID del template aprobado. Esta es una parte un poco confusa, no funciona igual que el envío de un mensaje normal, de hecho si intentas hacerlo donde solo de las el nombre al template y le das en send, te aparecerá un mensaje de error como este:

El mensaje es el siguiente:

{
	"error": {
		"message": "(#131008) Required parameter is missing",
		"type": "OAuthException",
		"code": 131008,
		"error_data": {
			"messaging_product": "whatsapp",
			"details": "Please specify a flow button component within template['components']"
		},
		"fbtrace_id": "ALu2UAo6yFD12VlDQU1XloN"
	}
}

Para poderlo enviar, igual será necesario hacer una solicitud diferente en el cuerpo del json en el mensaje.

¿Cómo obtengo el ID de mi Flujo de Whatsapp?

Vamos por partes, primero hay que hacer los siguientes pasos:

  1. Consulta los Templates:
    • Para esto, necesitamos pedirle a Meta vía API, que nos de las plantillas que tiene que hemos creado y que estén en nuestra, para lograr eso necesitaremos hacer una solicitud GET a un endpoint, el cual es:
      https://graph.facebook.com/v20.0/{{WhatsApp-Business-ID}}/message_templates
    • El {{WhatsApp-Business-ID}} es el ID de tu cuenta, para poderlo hacer fácilmente cree un KIT en Postman.
    • Si eres un mortal y no sabes de lo que estoy hablando note te preocupes, lo que necesitamos hacer es ir a Postman y crear una cuenta gratis y tienes que copiar un proyecto que cree para hacerlo fácilmente siguiendo este tutorial. Puedes hacer un fork de este kit aquí.
  2. Configura el Entorno en Postman:
    • Una vez hiciste fork al kit tienes que configurar los datos de tu cuenta de Meta, para eso necesitamos tu Business ID
    • Asegúrate de agregar el Access Token de Meta y el Business ID en el entorno de Postman, hazlo como en la siguiente imagen:
      1. Dirígete a Environments.
      2. Dale clic en test y asegúrate que este la palomita en test.
      3. Llena los datos, donde dice token, WhatsApp-Phone-ID, WhatsApp-Business-ID y Recipient-Phone-Number, son los datos de tu cuenta y el número de pruebas.
      4. Dale en Save
  • Iremos a la sección de Collections, y abriremos «GetWhatsappTemplates«.
  • Realizaremos una solicitud tipo GET usando el endpoint que se llama GetWhatsappTemplates mencionado para obtener todas las plantillas, ósea que le vamos a pedir a Meta si porfa nos ayuda con la info que tiene.
  • Puedes filtrar por categoría (en el caso de tener muchos) usando ?category=utility al final de la URL:
    https://graph.facebook.com/v20.0/{{WhatsApp-Business-ID}}/message_templates?category=utility
  • Antes de iniciarAsegúrate que el el Environment sea el que estas usando
  • Ahora si vamos nuevamente a darle en Send
  1. Respuesta de la Solicitud GET Encuentra y Copia el ID del Template:
    • Revisa la respuesta de la solicitud y encuentra el template que has configurado.
    • Copia el ID del template, ya que lo necesitarás para enviar el Flow. Y con eso hemos conseguido el tan aclamado flow_id del template.

Envío del WhatsApp Flow

Ahora que tienes el ID del template, estás listo para enviar la encuesta.

  1. Configura el Endpoint de Envío:
    • En Postman, utiliza el endpoint configurado en la colección para enviar el Flow. Este se llama SendWhatsAppFlow.
    • Ve a la pestaña de Body y elimina cualquier comentario en gris que solo sirve como explicación; dejarlos puede causar errores en la solicitud, debe de verse algo así con los datos de tu template.
    • Hay que consumir el endpoint:
      https://graph.facebook.com/v20.0/{{WhatsApp-Phone-ID}}/messages
    • El {{WhatsApp-Phone-ID}} es el ID del teléfono que te da Meta, tienes que hacer el envío de Whatsapp normal, solo agregando unas cosas como en la siguiente imagen en la parte de components. El Json debería ser algo asi:
{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "{{Recipient-Phone-Number}}", 
  "type": "template",
  "template": {
    "name": "encuesta_test_dani", 
    "language": {
      "code": "es_MX"
    },
    "components": [
      {
        "type": "button",
        "sub_type": "flow",
        "index": "0",
        "parameters": [
          {
            "type": "action",
            "action": {
              "flow_token": "unused", 
              "flow_action_data": {
                "flow_id": "", 
                "flow_action": "NAVIGATE",
                "navigate_screen": "SURVEY"
              }
            }
          }
        ]
      }
    ]
  }
}
  1. Configura el Número de Teléfono:
    • Asegúrate de que el número de teléfono que estás usando para las pruebas esté correctamente configurado en el entorno de Postman.
    • Debe estar en el formato correcto sin el símbolo «+» (por ejemplo, 521228217000).
  2. Envía la Solicitud:
    • Una vez que todo esté configurado y los comentarios hayan sido eliminados, presiona Send.
    • Si todo está correcto, deberías recibir la encuesta en el número de prueba configurado.

Configuración de Webhook para la Recepción del Formulario

Finalmente, para recibir las respuestas del formulario, deberás configurar un Webhook. Sigue las instrucciones en la documentación de Facebook para asegurarte de que las respuestas se registren correctamente, solo resta parsear la información y listo

Documentación de Referencia

¿Te Sirvió este Tutorial?

Espero que este tutorial te haya sido útil para integrar y enviar WhatsApp Flows de manera efectiva. Si te ayudó a resolver tus dudas o facilitó tu trabajo, ¡invítame un café! Tu apoyo me permite seguir creando contenido de calidad. Si quieres conocer más de marketing suscríbete.

Invítame un café ☕ vía PayPal

Salir de la versión móvil