第三方接入渠道

本文档用于第三方IM系统集成到阿里云CCC系统中,阿里云CCC可以管理多个渠道,坐席可以在阿里云工作台统一管理所有渠道的消息。

消息收发流程image

接入步骤

1.配置渠道

  1. 在云联络中心-网络业务控制台中创建三方渠道。在接入中找到渠道,在右上角点击添加渠道,然后选择第三方渠道

image

  1. 进行基础设置,配置渠道名称和接待技能组。同时支持是否打开工作日与节假日配置,开启开关,工作日不进行转接(可在设置-营业时间计划中进行更新);关闭开关,不区分工作日。image

  2. 配置回复相关的配置

    1. AI机器人:可以选择是否开启AI机器人相关服务。若需要开启,可参考文档联络中心渠道中接入对话机器人

    2. 排队设置:支持自定义配置排队位置播报、排队超时时间、排队上限话术等。

    3. 转人工系统消息设置:支持自定义配置坐席提示语、无坐席在线提示语。

  3. 进行配置第三方消息发消息回调地址image

  4. 获取验证信息image.png

2.验证域名合法性

请根据回调地址,回调地址校验路径,回调地址校验内容进行校验内容的配置。

3.向CCC发送消息

调用CCC提供的POP接口向CCC发送消息,见下方接口定义。

4,接收CCC发送的消息

POST https://www.yourdomain.com/your-path HTTP/1.1
Content-Type:application/json;charset=utf-8

{
   "contactId": "xxx-xxxx-xxx", // 必填,聊天会话id
   "messageId": "123", // 必填,消息id
   "senderId": "asdfjsa2", //必填,发送人id
   "senderName": "tom", //发送人名称
   "senderAvatorMediaId": "xxxx-yyy", //发送人头像
   "content": "", //必填,消息内容
   "signature": "=ADSLFJL2JFAL23SKALJFAL" //必填,签名
}

//signature的计算过程
// 先获取当前时间戳,单位毫秒
time = 1614764611561
// 设置过期时间,单位秒,如300
ttl = 300
ts = time + ttl
// 生成signature
key = sha1(ts + secretKey + contactId)
// 组装成json
json = {"key": "xx", "time":1614764611561, "ttl": 600}
// 将json转成字符串后进行base64编码,生成最终的signature
signature=base64(json)

CCC消息发送

支持的消息格式

  • 文本消息(Text)

  • 图片消息(Image)

  • 视频消息(Video)

  • 音频消息(Audio)

  • 文件消息(File)

{
  "contentType":"Text",
  "text":"你好 <img data-mediaId="xxx"/>",
  "quotedMessageId": "xxxx-xxx",
  "quotedMessageContent": {
    "contentType":"File",
    "mediaId": "xxx-xxx-xxx"
  }
}

{
  "contentType":"Image",
  "mediaId": "xxx-xxx-xxx",
  "fileType": "png",
  "fileSize": 1233 
}

{
  "contentType":"Video",
  "mediaId": "xxx-xxx-xxx"
  "duration": 12,
  "fileSize": 1233,
}

{
  "contentType":"Audio",
  "mediaId": "xxx-xxx-xxx"
  "duration": 12,
  "fileSize": 1233
}

{
  "contentType":"File",
  "mediaId": "xxx-xxx-xxx",
  "fileSize": 223232,
  "filename": "xyz.zip"
}

{
  "contentType":"Recall",
  "recalledMessageId:"xxx",
}

接口定义

1.发送消息(ProcessCustomIMCallback)

ProcessCustomIMCallback - 第三方IM消息回调

支持第三方向CCC发送消息

2.获取媒体文件临时上传地址(CreateChatMediaUrl)

CreateChatMediaUrl - 获取媒体文件上传地址

在发送非文本消息时(如图片,音频,视频等),需要先将文件进行上传。

  1. 集成方通过CreateChatMediaUrl接口可以获取到文件上传的临时URL和文件的MediaId

  2. 集成方可以通过临时URL完成文件上传

  3. 集成方发送消息,消息内容指明文件类型和MediaId。

image

3.获取聊天消息媒体文件访问URL(GetChatMediaUrl)

GetChatMediaUrl - 获取聊天消息媒体文件访问URL