注意
TCCC 是加载 SDK 后的全局变量,可直接访问。
通用结构
AgentStatus
座席状态。
字段 | 描述 |
free | 空闲 |
busy | 忙碌 |
arrange | 话后整理 |
notReady | 示忙 |
rest | 小休 |
CommonSDKResponse
参数 | 类型 | 必填 | 备注 | |
options | status | 'success' |'error' | 是 | SDK API 调用结果: 成功:返回 success 失败:返回 error |
| errorMsg | string | 否 | 错误信息,当 status 为 error 时返回 |
Chat(在线客服相关接口函数)
发送卡片消息
tccc.Chat.sendCardMessage(options): Promise<CommonSDKResponse>
参数 | 参数名称 | 类型 | 必填 | 备注 | |
options | payload | header | String | 是 | 卡片标题 |
| | desc | String | 是 | 卡片描述 |
| | pic | String | 是 | 卡片封面 |
| | url | String | 是 | 卡片跳转地址 |
| sessionId | sessionId | String | 是 | 发送消息的会话 ID |
//调用示例:window.tccc.Chat.sendCardMessage({sessionId: '9dd2e08b-99d9-4ca6-84eb-0353ad65cb1a',//会话idpayload: {header: "这里是标题",// 商品描述desc: "这里是描述",// 商品图片链接pic: "https://cloudcache.tencent-cloud.com/qcloud/portal/kit/images/presale.a4955999.jpeg",// 商品跳转链接url: "https://www.qcloud.com/"},})
发送订单消息
tccc.Chat.sendOrderMessage(options): Promise<CommonSDKResponse>
参数 | 参数名称 | 类型 | 必填 | 备注 | |
options | payload | guide | String | 否 | 订单标题 |
| | name | String | 否 | 订单名称 |
| | desc | String | 否 | 订单描述 |
| | pic | String | 否 | 订单图片 |
| | customField | Object | 否 | 订单自定义字段 |
| sessionId | sessionId | String | 是 | 发送消息的会话 ID |
//调用示例:window.tccc.Chat.sendOrderMessage({sessionId: '9dd2e08b-99d9-4ca6-84eb-0353ad65cb1a',//会话idpayload: {guide:"引导标题",name: "订单名称",desc: "描述",pic: "https://cloudcache.tencent-cloud.com/qcloud/portal/kit/images/presale.a4955999.jpeg",customField: [{name: "订单状态:", // 字段名称value: "已完成", // 字段值valueColor: "green", // 字段值颜色customerValue: "customerValue",},{name: "订单金额:", // 字段名称value: "1000元", // 字段值valueColor: "red", // 字段值颜色customerValue: "customerValue",},] ,},})
发送自定义消息
tccc.Chat.sendCustomMessage(options): Promise<CommonSDKResponse>
参数 | 参数名称 | 类型 | 必填 | 备注 | |
options | payload | title | String | 是 | 自定义消息的标题 |
| | description | String | 是 | 自定义消息的描述 |
| | iconUrl | String | 是 | 自定义消息的图片标题 |
| | extension | any | 否 | 自定义消息的自定义字段 |
| sessionId | sessionId | String | 是 | 发送消息的会话 ID |
//调用示例:window.tccc.Chat.sendCustomMessage({sessionId: '9dd2e08b-99d9-4ca6-84eb-0353ad65cb1a',//会话idpayload: {title: '这里是标题',// 必传参数 自定义消息的标题description: '这里是描述',// 必传参数 自定义消息的标题iconUrl: 'https://cloudcache.tencent-cloud.com/qcloud/portal/kit/images/presale.a4955999.jpeg',// 必传参数 自定义消息的图片标题extension: {extenson: 1,},// 自定义消息的自定义字段},})
Agent(座席状态相关接口函数)
上线
tccc.Agent.online(): void
下线
tccc.Agent.offline(): void
设置座席状态
tccc.Agent.setStatus(optoins): Promise<CommonSDKResponse>
参数 | 类型 | 必填 | 备注 | |
options | status | String | 是 | 座席状态,可选值: free: 空闲 rest: 小休 arrange: 话后整理 notReady: 示忙 stopNotReady: 停止示忙 |
| restReason | String | 否 | 小休原因 |
获取座席状态
tccc.Agent.getStatus():AgentStatus
Devices(设备相关接口函数)
检测当前浏览器是否支持
tccc.Devices.isBrowserSupported(): boolean
说明
TCCC Web SDK 支持 Chrome 56、Edge80以上的浏览器。
返回麦克风设备列表
tccc.Devices.getMicrophones(): Promise<MediaDeviceInfo []>
返回扬声器设备列表
tccc.Devices.getSpeakers(): Promise<MediaDeviceInfo []>
UI(用户界面相关接口函数)
隐藏 SDK 所有 UI
tccc.UI.hide(): void
显示 SDK 所有 UI
tccc.UI.show(): void
显示浮动按钮
tccc.UI.showfloatButton(): void
隐藏浮动按钮
tccc.UI.hidefloatButton(): void
显示工作台
tccc.UI.showWorkbench(): void
隐藏工作台
tccc.UI.hideWorkbench(): void
Events(事件)
事件监听
tccc.on(event, callback)
取消事件监听
tccc.off(event, callback)
SDK 初始化完成
tccc.events.ready
当 SDK 初始化完成时触发,此时可安全调用 API。
会话呼入
tccc.events.callIn
会话呼入类型包括:
phone:电话会话
im:在线会话
voip:音频会话
video:视频会话
internal:内线会话
在线会话呼入
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 会话 ID |
| type | 'phone' | 是 | 电话会话类型 |
| timeout | Number | 是 | 会话接入超时时长,0代表不超时 |
| nickname | String | 是 | 用户昵称 |
| avatar | String | 否 | 用户头像 |
| remark | String | 否 | 备注 |
| peerSource | String | 否 | 渠道来源 |
| channelName | String | 否 | 自定义参数 |
| clientData | String | 否 | 用户自定义参数 |
座席接入会话
tccc.events.userAccessed
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 指定会话 ID |
会话超时转接事件
tccc.events.autoTransfer
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 指定会话 ID |
会话结束事件
tccc.events.sessionEnded
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 指定会话 ID |
| closeBy | String | 是 | 表示挂断方: client:用户挂断 seat:座席挂断 admin:系统挂断 timer:定时器挂断 |
| mainReason | String | 否 | 仅在电话类型,并且挂断方为"admin"时存在,表示挂断原因 |
| subReason | String | 否 | 仅在电话类型,并且挂断方为"admin"时存在,表示挂断的详细原因 |
会话转接事件
tccc.events.transfer
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 指定会话 ID |
座席状态变更事件
tccc.events.statusChanged
参数 | 类型 | 必填 | 备注 | |
options | status | 否 |
会话变更事件
tccc.events.userChanged
参数 | 类型 | 必填 | 备注 | |
options | sessionId | String | 是 | 指定会话 ID |
| callInfo | Object | 是 | 会话信息 |