视频客服小程序预约接口
- 调用方向
发起方 | 接收方 | 请求方式 |
---|---|---|
第三方 | Udesk | POST |
- 鉴权方式
计算鉴权token, token = DigestUtils.sha256Hex(appId + "&" + secret + "&" + nonce + "&" + timestap); 请求时header携带该token,header ("token: token")
- 鉴权参数说明
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
appId | String | 是 | 公司标识,Udesk提供 |
secret | String | 是 | 鉴权秘钥,Udesk提供 |
nonce | String | 是 | 单次请求保证唯一,建议uuid |
timestap | Long | 是 | 时间戳,秒 |
-
请求地址: https://baseavs.udesk.cn/avs/openApi/v1/wechatSchema
-
请求参数(详情见下方实例):
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
appId | String | 是 | 公司标识,Udesk提供 |
nonce | String | 是 | 单次请求保证唯一,建议uuid |
timestap | Long | 是 | 时间戳,秒 |
- 请求体(详情见下方实例):
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
bizId | String | 否 | null | 第三方业务主键,用于关联视频客服视频记录 不能包含中文 |
customChannel | String | 否 | null | 自定义渠道,视频路由会根据此字段进行路由 |
lockedSecond | Int | 否 | 300 | 锁定客服的时间,单位秒,最大 3600秒 |
lockedAgentId | Long | 否 | null | 锁定客服的ID |
sdkAppId | String | 是 | null | Udesk下发的小程序sdkAppId |
customerInfo | Object | 否 | null | 客户信息对象,详见对象说明 |
miniPath | String | 否 | null | 小程序的跳转路径,page/index/index |
subscribeType | Int | 否 | 1 | 1 锁定客服并生成预约链接,2 仅生成预约链接 默认值1 |
navigateAction | String | 否 | CALL_DIRECT | CALL_DIRECT 进入小程序后直接进行呼叫 HOME_PAGE 进入小程序后停留在呼叫页面,默认CALL_DIRECT |
notifyInfo | Object | 否 | null | 需要展示的通知信息,详细notifyInfo对象说明(subscribeType 为锁定客服时生效) |
noteInfo | Object | 否 | null | 自定义参数,详见noteInfo对象说明 |
urlButtons | List | 否 | null | 自定义按钮,详见UrlBtton对象说明 形如 [{"name":"测试按钮","url":"https://www.baidu.com"}] |
-
customerInfo 对象说明
参数 类型 是否必填 默认值 说明 id Long 否 null 通过udesk openApi 新增客户后获取的客户ID ,不传会自动新增客户 nickName String 否 null 客户名称 avatar String 否 Null 客户头像 email String 否 null 客户邮箱 telephones [Object] 否 null 客户电话,对象数组,形如[{"id":null,"content":"13212314423"}],不传id或者id为null代表新增 ,如需传id需通过openApi向udesk查询 description String 否 null 客户描述 level String 否 null 客户等级, 'vip'(vip客户)或者'normal'(普通客户) customerToken String 否 null 客户外部标识,第三方提供的客户唯一标识,此标识相同,udesk会识别为同一个用户 openId String 是 null 客户的openId customFields Object 否 null 客户的自定义字段 形如 customFields: {TextField_1: "普通文本内容",SelectField_1: ["0"]} 客户自定义字段 值TextField_1 由客户拼接(需先调用获取客户自定义字段接口) -
notifyInfo
参数 类型 是否必填 默认值 说明 title String 是 null 通知标题,例如 "客服锁定提示" fields [Object] 是 null 通知字段值 形如 [{"key":"咨询单号","value":"123123"},{"key":"客户姓名","value":"张三"}] remark String 否 Null 通知备注 -
noteInfo
参数 类型 是否必填 默认值 说明 content String 否 null 业务记录主题 customFields [Object] 否 null 自定义段值 形如 {"TextField_1":"单行文本测试","SelectField_2":"1,2"} 对于多选、单选、级联、复选等SelectField的选项只需传入"1,2,3"这种将选项的序号按逗号隔开的字符串。 -
urlButton
参数 类型 是否必填 默认值 说明 name String 否 null 按钮名称 url String 否 null 按钮链接 -
返回参数:
参数 | 类型 | 说明 |
---|---|---|
code | Int | 返回码,成功时返回 1000 |
message | String | 请求结果信息,成功时为 ok |
data | Object | 请求成功时的结果返回体,详见对象说明,失败时不返回该字段 |
-
data对象说明
参数 类型 说明 agentId Long 预约成功的客服id nickName String 预约成功的客服姓名 openlink String 预约链接,嵌入短信,或者手机端h5页面 lockedToken String 锁定的token,支持场景 1073,客服消息列表下发的小程序消息卡片 miniPath String 默认值 plugin/pages/preIndex/index -
code值说明
错误码 | 说明 |
---|---|
1000 | 成功 ok |
2001 | 无效的小程序sdkAppId |
2002 | 预约客服无空闲 |
2003 | 保存客户失败 |
2004 | shcemaUrl生成失败 |
2005 | 锁定时间不能大于3600秒 |
60000 | 签名校验失败 |
-
实例
-
请求
curl -XPOST 'https://baseavs.udesk.cn/avs/openApi/v1/wechatSchema?appId=dccf×tap=1607399411&nonce=75988827-0a66-4657-afa9-cdf422c95c04'
-d '{
"sdkAppId":"SqFpwzdR3IsYVdTP",
"bizId":"898887",
"lockedSecond":60,
"lockedAgentId":123456,
"customChannel":"beijing",
"miniPath":"plugin/pages/preIndex/index",
"customerInfo":{
"nickName":"张三",
"avatar":"www.sdfsdfsd.com/avatar1.jpg",
"telephones":[{"id":null,"content":"13212314423"}],
...
}
}'
-H 'token:yyiuuyyyyyyyyyyyyyyyyyyyy'
- 预约成功响应
{
"code": 1000,
"data": {
"agentId": "255764",
"nickName":"测试客服",
"openlink":"https://wxaurl.cn/wuJlIDskuhn",
"lockedToken": "c88827b1001d495b9552c7b1168909ed",
"miniPath": "plugin/pages/preIndex/index"
},
"message": "ok"
}
- 预约失败响应
{
"code": 2002,
"message": "预约客服无空闲"
}