我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用亚马逊云科技终端用户消息社交 WhatsApp 实现工作流程自动化
在当今世界,WhatsApp 已转变为一种广泛使用的通信应用程序,全球拥有超过 27 亿用户。作为企业的所有者,您可能拥有经常使用 WhatsApp 的客户。这为使用 WhatsApp 作为附加渠道提供了一个机会,可以提高知名度并以更有效的方式与客户互动。WhatsApp 的消息不必仅限于与客户进行一对一的互动。您也可以使用它来自动执行企业工作流程中的一些流程。这些工作流程可以成为您在亚马逊云科技中正在进行的流程的一部分,也可以使用亚马逊云科技服务构建新的自动化。
亚马逊云科技终端用户社交消息是在 WhatsApp 商业账户 (WABA) 和您的亚马逊云科技账户上的原生表单链接。这有助于简化客户端 WhatsApp 消息应用程序与您在亚马逊云科技上执行的工作负载之间的集成构建。此外,它还提供了一种在亚马逊云科技中统一计费的体验。
本文阐述了使用 WhatsApp 和亚马逊云科技终端用户消息社交来建立这种集成并自动执行您的企业工作流程的解决方案。
解决方案的总体愿景
该解决方案利用亚马逊云科技终端用户消息社交将您在亚马逊云科技中实施的工作负载与您的 Meta 业务组合整合。它允许您接收来自 WhatsApp 的消息,这些消息是您的最终客户直接在您的亚马逊云科技环境中发送的。来自 WhatsApp 的入口消息由亚马逊云科技终端用户消息社交接收,然后发送到 Amazon Simple Notification Service(SNS)主题,该主题随后激活了 Amazon Lambda 函数。这个 Lambda 函数会处理请求,然后发送一条来自 WhatsApp 的消息作为对用户的回复。您可以构建复杂的企业工作流程和自动化营销,从而扩展此解决方案。

图 1:解决方案架构
重要提示:请记住,任何 WhatsApp 用户都可以向您的 WABA 号码发送消息并激活工作流程。要避免不必要的费用,请完成"清理"部分中的步骤。
前提条件
在开始本指南之前,请确保:
- 一个亚马逊云科技账户
- Meta 的业务投资组合。按照这些说明创建一个
- 用于创建 WABA 的电话号码
- 一款安装了 WhatsApp Messenger 应用程序的移动电话,用于测试解决方案。请注意,移动应用程序使用的电话号码应与您的 WABA 关联的电话号码不同。
- 已安装并配置了亚马逊云科技 CLI 以访问您的亚马逊云科技帐户
- 用于实现示例应用程序的无服务器应用程序模型 CLI
- node.js >= 22.x
解决方案的实施
第 1 步:创建 SNS 主题
- 浏览 SNS 页面。
- 使用亚马逊云科技终端用户消息社交平台使用计划的亚马逊云科技区域。
- 选择"标准"作为主题的"类型"
- 输入"WhatsAppIncomingMessages"作为主题的"名称"
- 点击"创建主题"按钮。
- 在出现的主题细节中,记下主题"ARN"
第 2 步:将 WABA 添加到亚马逊云科技终端用户消息社交
- 浏览到 WABA 页面。
- 点击"添加 WhatsApp 电话号码"按钮
- 点击"启动 Facebook 门户"以连接您的亚马逊云科技账户和 Meta 业务组合。
- 按照 Facebook 新窗口中的说明完成注册。下面显示了该过程中的关键步骤的屏幕截图:

图 2:连接亚马逊云科技和 Meta 商业投资组合
- 尽管打开了 Facebook 注册表的弹出窗口,但您将在您的亚马逊云科技控制台上看到"已建立链接"消息。在"消息和事件目的地"部分输入在第 1 步创建的 SNS 主题的 ARN。

图 3:WABA 和亚马逊云科技账户之间的现有连接
- 点击"添加电话号码",完成您的 WhatsApp 商业账户与亚马逊云科技账户的关联。
- 浏览 WABA 页面,确认添加的账户处于"活跃"状态。
- 点击添加的商业账户的 ID 以浏览详情页面。
- 在"电话号码"部分,请注意添加的号码的"电话号码 ID"。
第 3 步:实现 Lambda 功能来管理来自客户的 WhatsApp 消息
- 克隆示例存储库并实现 Lambda 函数,然后继续:
$ git clone https://github.com/aws-samples/aws-end-user-messaging-social-automation.git $ cd aws-end-user-messaging-social-automation/
- 通过执行以下命令来构建项目:
$ sam build
- 通过执行以下命令来实现应用程序,然后按照指示操作:
$ sam deploy --guided ... # Enter the details for questions asked Stack Name [sam-app]: EndUserMessagingWhatsApp AWS Region [us-east-1]: <亚马逊云科技region where you have created the WABA account> Parameter SNSTopicArn []:Parameter PhoneNumberID []:
接受其余问题中的默认值以完成实施。这将创建一个 Lambda 函数,当您向 WABA 号码发送 WhatsApp 消息时,该函数就会被激活。
第 4 步:测试解决方案
- 使用安装了 WhatsApp 的手机,将此消息发送到您的 WABA 号码:
Hello
- 在回复您之前的留言时,您会看到以下内容:
- 蓝色标记,表示该消息已被收到并已阅读
- 对您的消息的反应 👋
- 一条回复消息说:"你好 {个人资料名称},我们能帮你什么?"
- 可供选择的选项清单
- 从选项中选择一个
- 您将收到一条静态消息,提供在文档页面找到有关亚马逊云科技终端用户社交消息的更多信息的链接。互动就像下图所示:

图 4:最终用户与 WhatsApp 的业务互动
问题排查
通过浏览 CloudWatch 日志页面,访问您的 Lambda 函数的日志,然后在搜索框中搜索"WhatsAppMessageHandler"。选择您的 Lambda 函数的日志组,然后在执行测试时查看相应的日志流。Lambda 函数会在接收和处理消息时记录信息。请注意,Lambda 收到的 SNS 事件以及来自外部用户的消息故意不包含在 CloudWatch 日志中。该事件包含诸如发送方电话号码和 WhatsApp 个人资料名称之类的信息,您的公司可能将其归类为敏感数据。在记录此信息之前,请检查您的组织数据管理政策。在 Meta 开发者文档中查找有关不同类型消息结构的更多信息。
您也可以使用亚马逊云科技 CLI 向客户发送消息。如果您的客户已开始与您的对话,则可以发送"文本"类型的消息。执行以下命令向 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
请记住,如果客户发起了与您的对话,并且自上次发送消息以来已经过了不到 24 小时,则只能向客户发送"文本"类型的消息。使用带有模板的消息来发起与客户的对话,例如,发送 OTP(一次性密码)或营销消息。Meta 需要先审核邮件模板,然后才能发送给客户。
监控
亚马逊云科技终端用户消息社交可以在 CloudWatch 指标中发布与服务使用成本相关的数据。要启用它,请输入以下命令以创建与 IAM 服务关联的名为"AWSServiceRoleforSocialMessaging"的角色:
aws iam create-service-linked-role --aws-service-name social-messaging.amazonaws.com
您可以使用 CloudWatch 监控亚马逊云科技终端用户社交消息以查看指标:
- WhatsAppMessageFeeCount
- WhatsAppConversationFeeAmount
当您在这些指标上配置 CloudWatch 警报时,也可以在达到特定阈值时收到通知。这可以帮助您管理与亚马逊云科技终端用户消息社交相关的费用。
清理
请记住,任何 WhatsApp 用户都可以向您的 WABA 号码发送消息并激活工作流程。要避免不必要的费用,请完成以下清理步骤:
- 要删除 Lambda 函数和关联资源,请执行以下命令:
sam delete
- 要删除亚马逊云科技终端用户消息社交资源,请访问 WABA 页面。选择您的 WABA 的商业账户 ID,然后单击"取消链接"按钮。
结论
本文展示了如何简化 WhatsApp 与您在亚马逊云科技上执行的工作负载之间的集成,允许自动化与您的最终客户的交互。演示了如何从最终客户发起的 WhatsApp 消息中激活 Lambda 功能。您可以扩展此解决方案来构建更复杂的工作流程,例如,激活 Amazon Step Functions,调用基于亚马逊云科技中正在运行的容器的工作负载等。
欲了解更多信息,请查阅以下资源:
- WABA 留言模板
- 使用多媒体文件工作
- 亚马逊云科技终端用户社交消息的最佳实践
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。