We use machine learning technology to do auto-translation. Click "English" on top navigation bar to check Chinese version.
Automatización de flujos de trabajo con WhatsApp usando Amazon Web Services End User Messaging Social
En el mundo actual, WhatsApp se ha convertido en una aplicación de comunicación ampliamente utilizada, con más de 2.700 millones de usuarios globalmente. Como propietario de un negocio, probablemente tenga clientes que usan WhatsApp regularmente. Esto presenta una oportunidad para usar WhatsApp como un canal adicional para aumentar su alcance e interactuar con sus clientes de manera más efectiva. La mensajería de WhatsApp no necesita limitarse a interacciones uno a uno con sus clientes. También puede usarla para automatizar algunos de sus flujos de trabajo empresariales. Estos flujos de trabajo pueden ser parte de sus procesos corriendo en Amazon Web Services, o puede construir nuevas automatizaciones usando servicios de Amazon Web Services.
Amazon Web Services End User Messaging Social vincula de forma nativa su WhatsApp Business Account (WABA) y su cuenta de Amazon Web Services. Esto ayuda a simplificar la construcción de integraciones entre la aplicación de mensajería WhatsApp de su cliente y sus cargas de trabajo ejecutándose en Amazon Web Services. Además, también proporciona una experiencia de facturación unificada dentro de Amazon Web Services.
Esta publicación explica una solución para establecer esta integración y automatizar sus flujos de trabajo empresariales usando WhatsApp y Amazon Web Services End User Messaging Social.
Visión general de la solución
La solución utiliza Amazon Web Services End User Messaging Social para integrar su carga de trabajo implementada en Amazon Web Services con su portafolio de negocios de Meta. Esto le permite recibir mensajes de WhatsApp que sus clientes finales envían, directamente en su entorno Amazon Web Services. Un mensaje entrante de WhatsApp que Amazon Web Services End User Messaging Social recibe activa una notificación de Amazon Simple Notification Service (SNS), que luego activa una función Amazon Lambda. Esta función Lambda procesa la solicitud y luego envía un mensaje de WhatsApp como respuesta al usuario. Podrá construir flujos de trabajo empresariales complejos y marketing automatizado de WhatsApp expandiendo esta solución.

Figura 1: Arquitectura de la Solución
IMPORTANTE: Tenga en cuenta que cualquier usuario de WhatsApp puede enviar un mensaje a su número WABA y activar el flujo de trabajo. Para evitar incurrir en cargos continuos, complete los pasos en la sección “Limpieza“.
Requisitos previos
Antes de comenzar esta guía, asegúrese de tener:
- Una cuenta de Amazon Web Services
- Un portafolio de negocios de Meta. Cree uno siguiendo estas instrucciones
- Un número de teléfono para crear una WABA
- Un teléfono móvil con la aplicación WhatsApp Messenger instalada para probar la solución. Tenga en cuenta que la aplicación móvil usa un número de teléfono diferente al que está asociado con su WABA.
- Amazon Web Services CLI instalado y configurado para acceder a su cuenta Amazon Web Services
- Serverless Application Model CLI para implementar la aplicación de ejemplo
- node.js >= 22.x
Implementación de la solución
Paso 1: Crear un tema SNS
- Navegue a la página de SNS.
- Use la región de Amazon Web Services donde planea usar Amazon Web Services End User Messaging Social.
- Seleccione “Standard” como “Type” del tema
- Ingrese “WhatsAppIncomingMessages” como “Name” del tema
- Haga clic en el botón “Create topic“.
- En los detalles del tema que aparecen, tome nota del “ARN” del tema
Paso 2: Agregar WABA a Amazon Web Services End User Messaging Social
- Navegue a la página WABA.
- Haga clic en el botón “Add WhatsApp phone number“
- Haga clic en “Launch Facebook portal” para conectar su cuenta Amazon Web Services y su portafolio de negocios de Meta.
- Siga las instrucciones en la ventana emergente de Facebook para completar el registro. A continuación se muestran capturas de pantalla de los pasos clave en el proceso:

Figura 2: Conectar Amazon Web Services y el Portafolio de Negocios de Meta
- Después de que se cierre la ventana emergente de registro de Facebook, verá este mensaje “Link established” en su consola Amazon Web Services. Ingrese el ARN del tema SNS creado en el Paso 1 en la sección “Message and event destination”.

Figura 3: Conexión exitosa entre la cuenta WABA y Amazon Web Services
- Haga clic en “Add phone number” para completar la vinculación de su cuenta comercial de WhatsApp con su cuenta Amazon Web Services.
- Navegue a la página WABA y verifique que la cuenta agregada esté en estado “Active”.
- Haga clic en el ID de cuenta comercial que agregó para navegar a la página de detalles.
- En la sección “Phone Numbers“, tome nota del “Phone number ID” del número que agregó.
Paso 3: Implementar la función Lambda para manejar los mensajes de WhatsApp de los clientes
- Clone el repositorio de ejemplo e implemente la función Lambda siguiendo los pasos a continuación:
$ git clone https://github.com/aws-samples/aws-end-user-messaging-social-automation.git $ cd aws-end-user-messaging-social-automation/
- Construya el proyecto ejecutando este comando:
$ sam build
- Implemente la aplicación ejecutando el comando a continuación y siga las indicaciones:
$ sam deploy --guided ... # Enter the details for questions asked Stack Name [sam-app]: EndUserMessagingWhatsApp Amazon Web Services Region [us-east-1]: <Amazon Web Services region where you have created the WABA account> Parameter SNSTopicArn []: <ARN of the SNS topic created in Step 1> Parameter PhoneNumberID []: <Phone number ID from Step 2>
Acepte los valores predeterminados del resto de las preguntas para completar la implementación. Esto creará una función Lambda que se activa cuando se envía un mensaje de WhatsApp a su número WABA.
Paso 4: Prueba de la solución
- Desde un teléfono que tenga WhatsApp instalado, envíe este mensaje a su número WABA:
Hello
- Valide que ve lo siguiente en respuesta al mensaje anterior:
- Marca azul, indicando que el mensaje ha sido recibido y leído
- Una reacción 👋 a su mensaje
- Un mensaje de respuesta diciendo “Hello {nombre del perfil}, how can we help you?”
- Una lista de opciones para elegir
- Seleccione una de las opciones
- Recibirá un mensaje estático que lo dirigirá a encontrar más información sobre Amazon Web Services End User Messaging Social en la página de documentación. La interacción se verá como en la imagen siguiente:

Figura 4: Interacción del usuario final con WhatsApp con el negocio
Solución de problemas
Acceda a los registros de su función lambda navegando a la página de registros de CloudWatch y buscando “WhatsAppMessageHandler” en el cuadro de búsqueda. Seleccione el grupo de registros de su función Lambda y haga clic en el flujo de registro correspondiente al momento en que ejecutó la prueba. La función Lambda registra información cuando se recibe y procesa un mensaje. Sin embargo, los eventos SNS recibidos por Lambda y los mensajes de usuario extraídos se excluyen deliberadamente de los registros de CloudWatch. El evento contiene información como el número de teléfono del remitente y el nombre del perfil de WhatsApp que su empresa puede clasificar como sensible. Verifique las políticas de manejo de datos de su organización antes de registrar esta información. Encuentre más información sobre la estructura de mensajes de los diferentes tipos de mensajes en la documentación para desarrolladores de Meta.
También puede usar Amazon Web Services CLI para enviar mensajes a los clientes. Puede enviar mensajes de tipo “text” si su cliente ya ha iniciado una conversación con usted. Ejecute el siguiente comando para enviar una respuesta a un mensaje de WhatsApp:
aws socialmessaging send-whatsapp-message \ --cli-binary-format raw-in-base64-out \ --message '{"messaging_product": "whatsapp", "to": "+15554567890", "text": { "preview_url": false, "body": "Hello! How can we help you?"}}' \ --origination-phone-number-id phone-number-id-beac123456789abcdefgh \ --meta-api-version v20.0
Tenga en cuenta que solo puede enviar mensajes de tipo “text” al cliente si han iniciado una conversación con usted y han pasado menos de 24 horas desde la última vez que le enviaron un mensaje. Use mensajes con plantillas para iniciar conversaciones con sus clientes, por ejemplo, para enviar una OTP (contraseña de un solo uso) o mensajes de marketing. Meta necesita aprobar las plantillas de mensajes antes de que pueda enviarlas a los clientes.
Monitoreo
Amazon Web Services End User Messaging Social puede publicar datos relacionados con el costo de usar el servicio en las métricas de CloudWatch. Para habilitarlo, ingrese el comando a continuación para crear un rol vinculado al servicio IAM llamado “AWSServiceRoleForSocialMessaging“:
aws iam create-service-linked-role --aws-service-name social-messaging.amazonaws.com
Puede monitorear Amazon Web Services End User Messaging Social usando CloudWatch para ver métricas:
- WhatsAppMessageFeeCount
- WhatsAppConversationFeeCount
También puede recibir notificaciones cuando se alcance un umbral específico configurando una alarma de CloudWatch en estas métricas. Esto puede ayudarlo a realizar un seguimiento de los costos asociados con Amazon Web Services End User Messaging Social.
Limpieza
Tenga en cuenta que cualquier usuario de WhatsApp puede enviar un mensaje a su número WABA y activar el flujo de trabajo. Para evitar incurrir en cargos continuos, complete los siguientes pasos de limpieza:
- Para eliminar la función Lambda y los recursos asociados, ejecute el siguiente comando:
sam delete
- Para eliminar los recursos de Amazon Web Services End User Messaging Social, navegue a la página WABA. Seleccione el ID de cuenta comercial de su WABA y haga clic en el botón “Unlink”.
Conclusión
Esta publicación muestra cómo puede simplificar la integración entre WhatsApp y sus cargas de trabajo ejecutándose en Amazon Web Services, permitiéndole automatizar las interacciones con sus clientes finales. Muestra cómo puede activar una función Lambda desde un mensaje de WhatsApp iniciado por su cliente final. Puede extender esta solución para construir flujos de trabajo más complejos, por ejemplo, activar Amazon Step Functions, invocar sus cargas de trabajo basadas en contenedores ejecutándose en Amazon Web Services, entre otros.
Para más información, consulte los siguientes recursos:
- Plantillas de mensajes WABA
- Trabajo con archivos multimedia
- Mejores prácticas para Amazon Web Services End User Messaging Social
The mentioned AWS GenAI Services service names relating to generative AI are only available or previewed in the Global Regions. Amazon Web Services China promotes AWS GenAI Services relating to generative AI solely for China-to-global business purposes and/or advanced technology introduction.