当前位置: 首页 > article >正文

基于WhatsApp打造高效的CRM系统

背景

在 2023 年的统计数据中,WhatsApp 成为了印尼最常用的社交媒体,拥有高达 2.2 亿的用户量,占据印尼互联网人群的 90%之多。

WhatsApp 开发的 WhatsApp Business API 为企业开辟了一条与客户进行大规模、高效且合规沟通的崭新途径。它使得企业能够借助自动化和集成的模式,发送通知、营销信息以及客户支持回复等各类内容。通过使用 WhatsApp Business API,企业能够在引流、服务、促活以及客户管理等诸多方面充分发挥积极作用。

目前,在印尼业务中虽然存在短信、电话、邮箱、推送等多种触达方式,但在成本和触达率方面均存在差异。鉴于 WhatsApp 作为印尼最为常用的社交媒体,业务方面有着强烈的诉求,期望借助 WhatsApp 来触达客户。正因如此,WABA SCRM 系统应运而生,从而解决业务上的痛点。

能力模块

Agent模块

Agent 代表着此系统的用户,即能够使用 INBOX 与客户进行聊天的用户。在该模块当中,能够创建用户、分配角色权限,还能够对用户状态予以修改等。

Team模块

在该模块中,能够创建团队,并且可以对团队人员进行修改等操作。

Contact模块

联系人,多指客户信息,通过外部API对接或者文件导入的方式,给经办分配上不同客户,以实现聊天

Sender模块

企业发送号码,由业务采购手机号码,绑定在企业号上。在INBOX上,经办使用SENDER与客户聊天。该模块可以进行号码分配,包括主号、副号设定。

角色权限模块

该模块支持创建系统角色,并支持对角色进行权限配置

inbox模块

聊天信箱,系统核心能力,用户可以使用INBOX与客户在线聊天

系统架构

scrm系统由backend,ws,backduser,waba四个服务组成。

系统

职责

scrm-back

后台服务,负责聚合业务逻辑,提供后台操作界面及聊天界面等

scrm-ws

长连接服务,使用websocket保持聊天会话连接

scrm-backuser

负责用户登录注册,角色权限配置

scrm-waba

实现系统核心功能,包括聊天、sender分配、联系人管理、案件出入池等

长连接通信

当用户打开聊天界面时,用户端会与后台服务建立一个长连接。多个用户端将会与后台服务的多个 pod 形成 n-n 的连接关系,如下图所示。鉴于此情况,需要对长连接实施有效的管理,以确保客户的消息能够精准无误地推送至用户端。

目前,系统采用了 rabbitmq 的广播模式来解决相关问题。首先,每个 pod 自行维护其与用户端(手机号)的关系。接着,每个 pod 都会在 rabbitmq 中创建队列。当某个 pod 收到回调通知(即有消息到达)后,该 pod 会将指令发送至 rabbitmq 交换机上,随后交换机会向各个队列进行广播通知。各个 pod 收到消息后,会依据收件人的手机号自行检查此连接是否归属于自身。若是,则通过 websocket 将消息推送至用户端;若否,则不进行任何处理。

由于发版或者系统的扩容缩容,会引发 pod 的销毁与创建。因此,需要在 pod 创建时自动新建队列并绑定交换机,同时在 pod 销毁时自动销毁队列并解绑交换机。当前,通过使用注解声明的方式来解决这一问题,具体实现情况如下。基于此种方式,能够实现优雅的扩容缩容

public static final String EXCHANGE_YML_KEY = "${rabbitmq.exchange.forward}";public static final String QUEUE_KEY = "auto-declare-" + APP_NAME + "-#{T(java.util.UUID).randomUUID().toString()}";​@RabbitListener(bindings = @QueueBinding(  value = @Queue(    name = QUEUE_KEY,    durable = "true",    exclusive = "false",    autoDelete = "true",    declare = "true"  ),  exchange = @Exchange(    value = EXCHANGE_YML_KEY,    type = ExchangeTypes.FANOUT,    declare = "false"  )))public void onMessage(Message mqMessage) {  try {    String messageStr = new String(mqMessage.getBody(), StandardCharsets.UTF_8);    log.info("Send message: {} ", messageStr);  } catch (Throwable t) {    log.error("Send message error: ", t);  }}​

未来挑战

虽然 WhatsApp 为企业开放了 WhatsApp Business API ,企业在完成认证后能够获得官方背书。但是,为了有效防止对用户造成过度打扰,WABA 做出了严格限制,规定首次触达用户时必须且只能是模板消息。并且,这些模板内容需要经过 META 的审核管控。只有当用户收到模板消息后主动进行回复,双方之间才能展开自由对话。

正因如此,在 WABA 模板的设计、养号、触达的策略以及使用场景等课题方面,还需要结合具体的实际情况进行全面、深入且细致的考虑。比如,不同行业的特点和用户需求差异明显,模板设计要符合行业规范和用户习惯,巧妙设置引导话术刺激用户主动回复;养号阶段要注重号码质量提升;触达策略要精准把握时机和频率;使用场景也要根据产品或服务的特性来精心规划。

总结

WABA SCRM 系统与 WhatsApp Business API 深度融合,由业务系统精准管控联系用户名单,对用户名单及信息进行过滤及加工,能确保员工与客户之间通过 WhatsApp 进行顺畅、高效且精准的触达,为双方搭建起便捷、有效的沟通桥梁。


http://www.kler.cn/news/294041.html

相关文章:

  • day-50 求出最长好子序列 I
  • PyTorch 全连接层(Fully Connected Layer)详解
  • 【开源免费】基于SpringBoot+Vue.JS高校校园招聘服务系统(JAVA毕业设计)
  • JAVA开源项目 图书个性化推荐系统 计算机毕业设计
  • 2024年全国大学生数学建模A题借鉴论文
  • java设计模式(行为型模式:状态模式、观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式)
  • Azure和Transformers的详细解释
  • uni-app填坑指南——解决处理处理静态资源的问题
  • CentOS 7 升级 OpenSSH 9.8p1
  • 苹果手机升级iOS 18时一直显示“正在检测更新”怎么办?
  • UWB定位室外基站
  • 使用openhtmltopdf 工具进行转PDF
  • RPC框架-protobuf-rpc-pro
  • 【图文实操教程】如何备份Docker容器中的PostgreSQL数据
  • Web3社交新经济,与 SOEX 实现无缝交易的高级安全性
  • 力扣第124题 二叉树中的最大路径和
  • HQL || SQL :连续签到领金币
  • 爆改YOLOv8|利用yolov10的SCDown改进yolov8-下采样
  • Harmony OS DevEco Studio 如何导入第三方库(以lottie为例)?-- HarmonyOS自学2
  • 【全网最新最全】Docker面试题
  • 浅析网页不安装插件播放RTSP/FLV视频的方法
  • chrome 插件开发入门
  • HTML <input> accept 属性
  • MQTT broker搭建并用SSL加密
  • 免费SSL证书怎么申请?
  • C#索引器(Indexer)
  • 排序算法(冒泡排序,选择排序,插入排序,快速排序)
  • 图片隐写方法
  • 使用c++创建WMI应用程序
  • Llama 3.1大模型的预训练和后训练范式解析