接口调用流程
在本部分中,我们将介绍用户与座席进行文字交谈时的接口调用过程。通过详细的步骤描述和接口说明,开发人员可以了解如何利用 AICC 提供的接口,实现用户与座席之间的无缝文字交流。下面是多媒体交谈的整个过程。


1. 调用第三方请求鉴权接口applyToken,生成客户端访问的Token信息。该token对应其他接口请求头中ccmessaging-token字段。
2. 获取接口请求鉴权token后,可以选择是否展示该用户对应的历史消息。若需要展示,则调用queryHistoryChatMessage接口查询历史消息。
3. 与AICC的座席进行多媒体交谈时,首选需要与座席建立连接,调用send接口或者sendAsync接口,发送消息类型为CONNECT的消息(即消息请求体中controlType字段为CONNECT),请求与座席或机器人建连。

send接口是同步接口,sendAsync为异步接口,两者实现的功能完全相同,使用异步消息处理可以降低请求耗时。
4. 若建立连接失败,用户可以给座席留言,通过doLeaveMessage接口将留言内容发送给AICC进行处理。提交留言后,本次会话流程结束。
5. 若建立连接成功,需要主动轮询poll接口获取座席侧发送过来的消息。在会话期间,若不调用该接口,超过CCUCS配置的默认会话时间,会话会被自动释放。
6. 轮询poll接口获取座席侧发送的消息,如果是多媒体类型的消息(图片、音频、视频等消息),则需要调用downloadFileStream接口获取多媒体资源。
7. 与座席建连成功后,需要调用queryQueueInfo检查当前用户是否处于排队状态,若处于排队状态则用户需要进行等待。并持续调用queryQueueInfo接口检查当前是否处于排队状态。
8. 若处于非排队状态,用户可以与座席或者机器人进行交谈。
9. 发送消息时可以调用queryPhraseByKeyword接口,根据客户输入的内容查询联想常用语。该步骤非必选。
10.若用户发送的消息是多媒体类型的消息,则需要调用uploadFileStream接口将对应的多媒体文件上传到文件服务器上。
11.无论是多媒体消息还是文字消息,均需要调用send/sendAsync接口,将消息发送给座席。
12.用户与座席交谈结束后,调用getSatisfactionSurveyMode接口查询配置的满意度调查信息。
13.若当前渠道未配置满意度调查,则调用send/sendAsync接口发送断连消息(请求体中controlType字段为IDSCONNECT),本次会话结束。
14.若配置了渠道满意度调查,且当前接入为座席,则调用saveSatisfaction接口提交对座席的满意度,并发送断连消息。
15.若配置了渠道满意度调查,且当前接入为机器人,则调用feedbacksatisfaction提交对机器人满意度评价,并发送断连消息。