本文介绍客服与客户聊天时,切换客服人员的实践方案。

实践介绍

客服聊天有以下特点:
  • 包括用户和客服两个角色,用户跟一个店铺(服务方)所有客服人员的聊天都展示在一个会话里,客服人员也可以看到其他客服和用户的聊天内容。
  • 服务的客服人员会变化,一般同一时刻只有一个客服人员为用户服务,客服人员的变化可能发生在售前售后的转交或上下班交接,比如17:29是客服A在服务,客服A在17:30下班后系统可指定客服B提供服务。

下图是手机淘宝App用户看到一个会话的聊天记录,维1、维2、服务助手是店铺旗舰店的客服子账号,其中服务助手是自动化机器人。

客服聊天

实现

AIM自定义单聊可以用来实现客服聊天,下面是一个客服聊天的例子。
  • 用户A与一个店铺的客服X和客服Y聊天。
  • 用户A发起跟店铺的聊天,刚开始是跟客服X聊天,AppServer根据分配策略改成了由客服Y进行服务。
  • 客服X仍然可以拉取到与用户A的所有聊天记录,包含本店铺其他客服发的消息。
客户聊天实现原理
  1. 整个过程核心的是使用发消息前AIMServer回调AppServer,AppServer通过修改receiverId列表,来修改服务用户的客服,从而实现客服分流。如果receiverIds为空,默认发给之前在这个会话中接收过消息的所有账号。
  2. 为了更好的容灾,建议客户端发消息时的receiverIds包含最近给他发消息的对方账号,AppServer处理分流时如果出现异常可以直接用客户端发上来的receiverIds。