全球用户OTP验证码触达

本文为您介绍Chat App消息服务流程编辑器在OTP消息发送场景中的实践教程。

需求背景

截至到2023年底的统计数据,WhatsApp的全球活跃用户已超过20亿,覆盖了近200个国家和地区,WhatsApp不仅限于个人之间的交流,也被广泛应用于商业活动中,成为了连接企业和消费者的重要桥梁。此外,因其账号体系基于手机号码的特点,能够高效触达目标用户,许多企业在向全球用户发送一次性密码(OTP)、通知和营销活动时,都会优先选择WhatsApp。

然而,不少已经覆盖了全球大部分国家用户的企业会发现,通过WhatsApp发送OTP消息的用户触达效果并不如意。

主要有两个核心原因:

  • 首先,虽然OTP消息、通知消息和营销活动类消息都是通过短信、电子邮件或即时通讯应用发送给用户的信息,但它们在目的、内容和用户期望方面有着本质的区别。比如,OTP的目的是帮助用户完成身份验证,通常要在1分钟之内进行。因此,对消息收取的准确性和及时性都有更高的要求,触达的效果判断标准也十分简单。

  • 其次,虽然WhatsApp在全球范围内广受欢迎,但在不同国家的渗透率差异显著。每个国家的主流即时通讯应用也各不相同。这种差异导致在某些国家,WhatsApp并不是用户优先选择的即时通讯工具,从而影响了OTP消息的触达效果。

这样一来,当企业面对全球各个国家的海量用户时,如果只选择通过WhatsApp进行触达,效果必定会存在偏差。想要解决这个难题,企业就要做到“用户习惯在哪里,我的消息就要到哪里”,实现主流通讯通道的全面覆盖。但是,海量的手机号要如何识别和区分?区分之后如何通过多个通道将消息发送出去?

解决方案

使用阿里云Chat App消息服务流程编辑器,识别号码归属+多通道发送,快速搞定!

Chat App消息服务是阿里云为企业设计的一款高效触达用户的消息引擎,可帮助企业轻松使用WhatsApp、Viber、Messenger,Instagram等多个海外社媒平台的消息服务,结合丰富的消息类型,提升互动体验。同时为降低操作门槛,我们内置了流程编辑器(Chat Flow)工具,使企业中的任何一名员工都可以用“低代码”的方式,快速搭建交互流程。

Chat Flow是一个超大商业画布,在画布的左边,我们提供各式各样的组件,包括消息组件、流程流转组件、AI的组件和营销的组件。通过拖拉拽的方式将这些组件拖到画布当中,通过简单的配置就可以实现聊天流程,或者根据业务流程快速搭建起一个场景。

Chat Flow的功能分为四大类,分别是通道拓展坞、流程拓展坞、AI拓展坞、营销拓展坞。具体详情您可参见流程编辑器功能

Chat Flow的特点可分为五个,分别是易操作,易维护,高灵活性,深度融合,应用广泛。具体详情您可参见流程编辑器特点

209d1e6d64eb0dfd883a1211beb5f267

操作指南

场景:当用户覆盖多个国家,决定用Viber触达菲律宾用户,用WhatsApp触达马来西亚用户,用短信触达其他国家用户。

画布编排流程图:

image.png

操作步骤可大致分为五步:

  1. 设置变量

    Chat App 消息服务控制台>流程编辑器>流程管理页签,单击触发器类型为手动的流程名称,进入画布编排页面,点击画布中的开始,在右侧关闭不接受传入变量。以本场景为例,在关闭不接受传入变量后需要输入变量:用户手机号码(customerPhoneNumber)和验证码(verificationCode)。

    image

  2. 创建分支PH,ML

    在组件库中选择识别电话号码组件,拖拽至画布。开启启用多分支按钮,如果需要使用地区代码判断,选择地区代码单选项。在下方的分支中选择目标国家地区的国际代码,比如菲律宾(PH)、马来西亚(ML)。设置输出代码变量名称,此名称可在后续组件中进行变量调用。

    image

  3. 配置else分支

    在else分支中,拖拽发送短信组件。设置发送者的ID,选择接收人的电话号码,在本流程中选择的是在开始中设置的customerPhoneNumber消息内容内容类型需要选择验证码,消息内容即为下发给用户的正文内容,以本场景为例,输入:

    “Your one-time password is:{{verificationCode}} The password is valid for 10 minutes. Please do not tell anyone the password to avoid losses.”

    其中verificationCode是在开始中定义的代表验证码的变量名称。其中的变量是通过点击插入变量进行选择。变量列表是在当前组件中所有的可用变量。

    image

    说明

    先配置else分支的意义在于,在其他分支的配置过程中如果需要例外条件,需要跳转到兜底分支,也就是else分支。

  4. 配置PH分支

    拖拽发送Viber消息组件到PH分支中,并进行发送设置消息设置超时设置等相关设置。

    • 发送设置:动作选择From/To发送消息类型选择交易发送类型选择Service ID(即Viber商业账号),发送通道选择发送消息的通道,接收者使用在开始中定义的变量customerPhoneNumber,代表用户手机号码。

    • 消息设置:消息类型选择文本,内容填写需要下发的正文内容。以本场景为例,输入:

      “Your one-time password is:{{verificationCode}} The password is valid for 10 minutes. Please do not tell anyone the password to avoid losses.”
      说明

      其中verificationCode是在开始中定义的代表验证码的变量名称。

      image

    • 超时设置:为确保用户可以收到OTP消息,可以设置指定时间内未送达或用户未读将触发某项操作。

      image

      在本场景中,如30秒内消息未送达,则会进行WhatsApp消息发送。如60秒内用户未读,则会进行发送短信。具体操作步骤如下。

      30秒消息未到达进行WhatsApp消息发送

      操作步骤可分为三步

      1. 拖拽发送WhatsApp消息组件至PH分支发送Viber消息组件下。

      2. 单击发送WhatsApp消息组件,在右侧的发送设置->动作中选择From/To发送类型选择电话号码,发送通道选择您发送消息的WABA通道,发送号码选择WABA下已验证的号码,接收者单击插入变量选择在开始中定义的用户手机号码变量customerPhoneNumber

      3. 消息设置消息类型选择模板消息通道选择与发送通道相同的通道,模板消息选择需要下发的模板。模板需要事先创建并由WhatsApp审核通过。

        image

      60秒消息未读进行发送短信

      操作步骤可分为两步

      1. 拖拽跳至节点组件至PH分支发送Viber消息组件下。

      2. 单击跳至节点组件,在右侧基础配置->跳转到中选择节点组件发送短信最大跳转次数是指跳转组件会被触发的最大次数,比如填写3,那么在第4次进入到跳转组件时不会触发跳转组件。

        image

      在PH分支下的发送Viber消息->发送WhatsApp消息组件中,WhatsApp同样支持开启未送达、未读分支并对分支进行设置,当前流程中,如果30秒未送达WhatsApp消息,会跳转到else分支下的统一发送短信使用短信进行发送。与上述步骤类似,可参考上述步骤进行配置。跳转组件中,需要指定跳转到的组件名称,在流程编排时可以对组件的名称进行自定义以进行区分。

    说明

    给菲律宾用户发送OTP消息时,首先会通过Viber发送。如果Viber发送失败,会立即尝试通过WhatsApp发送。若WhatsApp也发送失败,最终会通过短信发送,以确保消息成功触达用户。

  5. 配置ML分支

    在ML分支中设置针对马来西亚号码的流程,实际操作与PH(菲律宾)分支下的配置相同,可参考上述PH分支进行配置。对于马来西亚的手机号码,首先会优先使用WhatsApp发送消息。如果WhatsApp发送失败,会立即使用Viber发送。如果Viber也发送失败,则通过配置的跳转至节点组件跳转至else分支中的统一短信通道,通过统一短信通道发送SMS。如果WhatsApp消息发送成功并且用户已读,流程会自动结束。