CCPaaS应用侧API
公共信息
通用说明
1. 接口规范
1.1 请求格式
Base URL
https://{host}/{Type}/{version}/{api}?Timestamp={Timestamp}&AppId={AppId}&Token={Token}
- host:api 域名
- Type:api
- version:api版本,当前为 v1
- api:具体见 api uri
- Timestamp: UTC时间戳,精确到秒
- AppId:用于指明操作哪个APP,UUID字符串, 除创建APP外都应包含
- Token: 根据鉴权方式计算出的鉴权Token,参考章节2计算
HTTP Header
-
Accept:
"application/json"
-
Content-Type:
"application/json;charset=utf-8"
HTTP METHOD
-
GET(SELECT):从服务器取出资源(一项或多项)。
-
POST(CREATE):在服务器新建一个资源。
-
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
-
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
-
DELETE(DELETE):从服务器删除资源。
HTTP Status Code
-
200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
-
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
-
202 Accepted - []:表示一个请求已经进入后台排队(异步任务)
-
204 NO CONTENT - [DELETE]:用户删除数据成功。
-
400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
-
401 Unauthorized - []:表示用户没有权限(令牌、用户名、密码错误)。
-
403 Forbidden - [] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
-
404 NOT FOUND - []:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
-
406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
-
410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
-
422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
-
500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
1.2 返回格式
通用
- 返回为采用 UTF-8 编码的 JSON 格式
- 响应码参见
HTTP Status Code
正确返回格式
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data":{
//数据
}
}
异常返回格式
{
"succeed":true,
"code":401,
"bizCode":"000000",
"message":"error info", //异常信息
"visible":false,
"data":{
//数据
}
}
2 鉴权方法
鉴权参数说明
参数名称 | 是否必须 | 备注 |
---|---|---|
AppId | 是 | 租户id |
Timestamp | 是 | UTC时间戳,精确到秒 |
Token | 是 | 鉴权签名,5分钟内有效 |
Token 使用 HMAC-SHA1算法
进行加密获取,其中待加密的消息使用AppId
和Timestamp
相加获得,加密使用的Secret需要联系管理员获取。
-
待加密消息 : 租户id + 时间戳
例如: a54a8b77-f12d-4ac9-742d-5b2bef5c4d111612513422, 其中
a54a8b77-f12d-4ac9-742d-5b2bef5c4d11
为租户id,1612513422
为时间戳 -
加密Secret : 联系管理员获取
备注: 所有接口调用需要携带签名参数 Token,只有当 Token 值合法时请求才会被接受
示例
假设要调用以下接口:
https://demo.udesk.cn/api/v1/petitions/search
鉴权所需数据如下:
名称 | 数据 |
---|---|
AppId | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 |
Timestamp | 1612513422 |
Secret | secret-1234567890abc |
计算Token (java示例代码)
HmacUtils hmacUtils = new HmacUtils(HmacAlgorithms.HMAC_SHA_1, "secret-1234567890abc");
hmacUtils.hmacHex("a54a8b77-f12d-4ac9-742d-5b2bef5c4d11"+"1612513422")
-> Token: e44a3e72aa3bd8cb903f72eacd4126682d1e7ff7
注意:
- Token生成可参考网址: https://1024tools.com/hmac
- 此请求为自动外呼接口,需增加Email参数鉴权,普通接口不需要此参数
最终请求URL:
https://demo.udesk.cn/api/v1/petitions/search?AppId=a54a8b77-f12d-4ac9-742d-5b2bef5c4d11&Timestamp=1612513422&Token=e44a3e72aa3bd8cb903f72eacd4126682d1e7ff
开放接口
01 创建外呼任务
基本信息
Path: /api/v1/ads/external/callTasks?Email={Email}
Method: POST
接口描述:
概述
新增自动外呼任务
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/callTasks?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X POST -H 'Content-Type: application/json' -d '{
"name":"测试拨号1",
"remark":"测试拨号",
"callTemplateId":5,
"ivrId":1,
"queueId":11,
"spnumberType":1,
"spnumberValue":72,
"startMode":1,
"startTime":null,
"workTimeId":31,
"priority":1,
"controlOptionList":[
1
],
"ivrMode":0,
"callType":1,
"concurrentLimit":1,
"dialParam":{
"optimizeParam":1,
"optimizeTarget":1
},
"redialSceneList":[
{
"result":"用户拒接",
"dealOption":1,
"redialTimes":1,
"redialGuide":1,
"guideIncrement":1,
"nextDeal":1
}
],
"taskContactBatchRelList":[
{
"callWeight":100,
"contactBatchId":3
}
]
}'
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data":{
"id":80,
"name":"测试拨号1",
"remark":"测试拨号",
"callTemplateId":5,
"ivrId":1,
"queueId":11,
"spnumberType":1,
"spnumberValue":72,
"startMode":1,
"startTime":null,
"workTimeId":31,
"priority":1,
"controlOption":"1",
"controlOptionList":[
1
],
"status":1,
"ivrMode":0,
"callType":1,
"dialParam":{
"optimizeParam":1,
"optimizeTarget":1
},
"concurrentLimit":1,
"taskContactBatchRelList":[
{
"contactBatchId":3,
"callWeight":100
}
],
"redialSceneList":[
{
"result":"用户拒接",
"dealOption":1,
"redialTimes":1,
"redialGuide":1,
"guideIncrement":1,
"nextDeal":1
}
]
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
name | string | 必须 | 任务名称 | mock: test | |
remark | string | 非必须 | 描述 | ||
callTemplateId | number | 必须 | 外呼模板id | mock: 1 | |
ivrId | number | 非必须 | 外呼IVR id | ||
queueId | number | 非必须 | 外呼队列id | ||
spnumberType | number | 必须 | 主叫号码类型(1中继号2号码池) | ||
spnumberValue | number | 必须 | 主叫号码值 | ||
startMode | number | 必须 | 启动方式(1手动2定时3周期启动) | ||
startTime | string | 非必须 | 启动时间(定时使用yyyy-MM-dd HH:mm:ss) | ||
workTimeId | number | 必须 | 工作时间id | ||
priority | number | 必须 | 任务优先级 | ||
controlOptionList | number [] | 非必须 | 任务选项集合 | item 类型: number | |
├─ | 非必须 | controlOptionList | |||
ivrMode | number | 非必须 | IVR模式(0关1开) | ||
callType | number | 非必须 | 外呼模式(1预测模式3精准模式6精准IVR模式7纯IVR模式) | ||
concurrentLimit | number | 必须 | 任务并发数 | ||
dialParam | object | 非必须 | 拨号设置参数 | ||
├─ optimizeParam | number | 非必须 | 优化参数(1座席利用率2放弃通话率3座席平均等待时长) | ||
├─ optimizeTarget | number | 非必须 | 优化目标 | ||
redialSceneList | object [] | 非必须 | 重试选项集合 | item 类型: object | |
├─ result | string | 非必须 | 呼叫结果(关机,空号,停机,占线,用户拒接,无法接通,暂停服务,用户正忙,拨号方式不正确,呼入限制,呼叫转移失败,网络忙,无人接听,欠费,无法接听,改号,线路故障,稍后再拨,其他) | ||
├─ dealOption | number | 必须 | 处理方式(1重拨) | ||
├─ redialTimes | number | 非必须 | 重试次数 | ||
├─ redialGuide | number | 非必须 | 时间间隔(分钟) | ||
├─ guideIncrement | number | 非必须 | 间隔增量(分钟) | ||
├─ nextDeal | number | 必须 | 后续处理(1联系人下一电话) | ||
├─ type | number | 必须 | 呼叫结果类型(1呼叫无效2呼叫失败3标签) | ||
taskContactBatchRelList | object [] | 非必须 | 联系单集合 | item 类型: object | |
├─ callWeight | number | 非必须 | 呼叫权重 | ||
├─ contactBatchId | number | 非必须 | 联系单id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) | ||
data | object | 非必须 | 结果 | ||
├─ id | number | 必须 | 任务id | ||
├─ name | string | 必须 | 任务名称 | ||
├─ remark | string | 非必须 | 描述 | ||
├─ callTemplateId | number | 必须 | 外呼模板 | ||
├─ ivrId | number | 非必须 | 外呼IVRid | ||
├─ queueId | number | 非必须 | 外呼队列id | ||
├─ spnumberType | number | 必须 | 主叫号码类型(1中继号2号码池) | ||
├─ spnumberValue | number | 必须 | 主叫号码值 | ||
├─ startMode | number | 必须 | 启动方式(1手动2定时3周期启动) | ||
├─ startTime | null | 非必须 | 启动时间(定时使用yyyy-MM-dd HH:mm:ss) | ||
├─ workTimeId | number | 必须 | 工作时间id | ||
├─ priority | number | 必须 | 任务优先级 | ||
├─ controlOption | string | 非必须 | 任务选项 | ||
├─ controlOptionList | number [] | 非必须 | 任务选项(枚举整型数组,1无联系人自动停止) | item 类型: number | |
├─ | 非必须 | 任务选项枚举值 | |||
├─ status | number | 必须 | 1 已暂停 2 运行中 3 已停止 4 暂停中 5 停止中 | ||
├─ ivrMode | number | 必须 | IVR模式(0关1开) | ||
├─ callType | number | 必须 | 外呼模式(1预测模式3精准模式6精准IVR模式7纯IVR模式) | ||
├─ dialParam | object | 非必须 | 拨号设置参数 | ||
├─ optimizeParam | number | 非必须 | 优化参数(1座席利用率2放弃通话率3座席平均等待时长) | ||
├─ optimizeTarget | number | 非必须 | 优化目标 | ||
├─ concurrentLimit | number | 非必须 | 任务并发数 | ||
├─ taskContactBatchRelList | object [] | 非必须 | 联系单集合 | item 类型: object | |
├─ contactBatchId | number | 非必须 | 联系单id | ||
├─ callWeight | number | 非必须 | 呼叫权重 | ||
├─ redialSceneList | object [] | 非必须 | 重试选项集合 | item 类型: object | |
├─ result | string | 非必须 | 呼叫结果(关机,空号,停机,占线,用户拒接,无法接通,暂停服务,用户正忙,拨号方式不正确,呼入限制,呼叫转移失败,网络忙,无人接听,欠费,无法接听,改号,线路故障,稍后再拨,其他) | ||
├─ dealOption | number | 必须 | 处理方式(1重拨) | ||
├─ redialTimes | number | 非必须 | 重试次数 | ||
├─ redialGuide | number | 非必须 | 时间间隔(分钟) | ||
├─ guideIncrement | number | 非必须 | 间隔增量(分钟) | ||
├─ nextDeal | number | 非必须 | 后续处理(1联系人下一电话) | ||
├─ type | string | 非必须 | 呼叫结果类型(1呼叫无效2呼叫失败3标签) | ||
├─ valid | string | 非必须 | 是否有效(默认为无效-2) | ||
├─ labelInfos | string [] | 非必须 | 标签 | item 类型: string | |
├─ | 非必须 |
02 编辑外呼任务
基本信息
Path: /api/v1/ads/external/callTasks/{id}
Method: PUT
接口描述:
概述
修改自动外呼任务数据
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/callTasks/80?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT -H 'Content-Type: application/json' -d '{
"name":"测试拨号1",
"remark":"测试拨号",
"callTemplateId":5,
"ivrId":1,
"queueId":11,
"spnumberType":1,
"spnumberValue":72,
"startMode":1,
"startTime":null,
"workTimeId":31,
"priority":1,
"controlOptionList":[
1
],
"ivrMode":0,
"callType":1,
"concurrentLimit":1,
"dialParam":{
"optimizeParam":1,
"optimizeTarget":1
},
"redialSceneList":[
{
"result":"用户拒接",
"dealOption":1,
"redialTimes":1,
"redialGuide":1,
"guideIncrement":1,
"nextDeal":1
}
],
"taskContactBatchRelList":[
{
"callWeight":100,
"contactBatchId":3
}
]
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data":{
"id":80,
"name":"测试拨号1",
"remark":"测试拨号",
"callTemplateId":5,
"ivrId":1,
"queueId":11,
"spnumberType":1,
"spnumberValue":72,
"startMode":1,
"startTime":null,
"workTimeId":31,
"priority":1,
"controlOption":"1",
"controlOptionList":[
1
],
"status":1,
"ivrMode":0,
"callType":1,
"dialParam":{
"optimizeParam":1,
"optimizeTarget":1
},
"concurrentLimit":1,
"taskContactBatchRelList":[
{
"contactBatchId":3,
"callWeight":100
}
],
"redialSceneList":[
{
"result":"用户拒接",
"dealOption":1,
"redialTimes":1,
"redialGuide":1,
"guideIncrement":1,
"nextDeal":1
}
]
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
id | 1 | 任务id |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
name | string | 非必须 | 任务名称 | mock: test | |
remark | string | 非必须 | 描述 | ||
callTemplateId | number | 非必须 | 外呼模板id | mock: 1 | |
ivrId | number | 非必须 | 外呼IVR id | ||
queueId | number | 非必须 | 外呼队列id | ||
spnumberType | number | 必须 | 主叫号码类型(1中继号2号码池) | ||
spnumberValue | number | 非必须 | 主叫号码值 | ||
startMode | number | 非必须 | 启动方式(1手动2定时3周期启动) | ||
startTime | string | 非必须 | 启动时间(定时使用yyyy-MM-dd HH:mm:ss) | ||
workTimeId | number | 非必须 | 工作时间id | ||
priority | number | 非必须 | 任务优先级 | ||
controlOptionList | number [] | 非必须 | 任务选项集合 | item 类型: number | |
├─ | 非必须 | controlOptionList | |||
ivrMode | number | 非必须 | IVR模式(0关1开) | ||
callType | number | 必须 | 外呼模式(1预测模式3精准模式6精准IVR模式7纯IVR模式) | ||
concurrentLimit | number | 非必须 | 任务并发数 | ||
dialParam | object | 非必须 | 拨号设置参数 | ||
├─ optimizeParam | number | 非必须 | 优化参数(1座席利用率2放弃通话率3座席平均等待时长) | ||
├─ optimizeTarget | number | 非必须 | 优化目标 | ||
redialSceneList | object [] | 非必须 | 重试选项集合 | item 类型: object | |
├─ result | string | 非必须 | 呼叫结果(关机,空号,停机,占线,用户拒接,无法接通,暂停服务,用户正忙,拨号方式不正确,呼入限制,呼叫转移失败,网络忙,无人接听,欠费,无法接听,改号,线路故障,稍后再拨,其他) | ||
├─ dealOption | number | 非必须 | 处理方式(1重拨) | ||
├─ redialTimes | number | 非必须 | 重试次数 | ||
├─ redialGuide | number | 非必须 | 时间间隔(分钟) | ||
├─ guideIncrement | number | 非必须 | 间隔增量(分钟) | ||
├─ nextDeal | number | 非必须 | 后续处理(1联系人下一电话) | ||
├─ type | string | 非必须 | 呼叫结果类型(1呼叫无效2呼叫失败3标签) | ||
taskContactBatchRelList | object [] | 非必须 | 联系单集合 | item 类型: object | |
├─ callWeight | number | 非必须 | 呼叫权重 | ||
├─ contactBatchId | number | 必须 | 联系单id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) | ||
data | object | 非必须 | 结果 | ||
├─ id | number | 必须 | 任务id | ||
├─ name | string | 必须 | 任务名称 | ||
├─ remark | string | 非必须 | 描述 | ||
├─ callTemplateId | number | 必须 | 外呼模板 | ||
├─ ivrId | number | 非必须 | 外呼IVRid | ||
├─ queueId | number | 非必须 | 外呼队列id | ||
├─ spnumberType | number | 必须 | 主叫号码类型(1中继号2号码池) | ||
├─ spnumberValue | number | 必须 | 主叫号码值 | ||
├─ startMode | number | 必须 | 启动方式(1手动2定时3周期启动) | ||
├─ startTime | null | 非必须 | 启动时间(定时使用yyyy-MM-dd HH:mm:ss) | ||
├─ workTimeId | number | 必须 | 工作时间id | ||
├─ priority | number | 必须 | 任务优先级 | ||
├─ controlOption | string | 非必须 | 任务选项 | ||
├─ controlOptionList | number [] | 非必须 | 任务选项(枚举整型数组,1无联系人自动停止) | item 类型: number | |
├─ | 非必须 | 任务选项枚举值 | |||
├─ status | number | 必须 | 1 已暂停 2 运行中 3 已停止 4 暂停中 5 停止中 | ||
├─ ivrMode | number | 必须 | IVR模式(0关1开) | ||
├─ callType | number | 必须 | 外呼模式(1预测模式3精准模式6精准IVR模式7纯IVR模式) | ||
├─ dialParam | object | 非必须 | 拨号设置参数 | ||
├─ optimizeParam | number | 非必须 | 优化参数(1座席利用率2放弃通话率3座席平均等待时长) | ||
├─ optimizeTarget | number | 非必须 | 优化目标 | ||
├─ concurrentLimit | number | 非必须 | 任务并发数 | ||
├─ taskContactBatchRelList | object [] | 非必须 | 联系单集合 | item 类型: object | |
├─ contactBatchId | number | 非必须 | 联系单id | ||
├─ callWeight | number | 非必须 | 呼叫权重 | ||
├─ redialSceneList | object [] | 非必须 | 重试选项集合 | item 类型: object | |
├─ result | string | 非必须 | 呼叫结果(关机,空号,停机,占线,用户拒接,无法接通,暂停服务,用户正忙,拨号方式不正确,呼入限制,呼叫转移失败,网络忙,无人接听,欠费,无法接听,改号,线路故障,稍后再拨,其他) | ||
├─ dealOption | number | 必须 | 处理方式(1重拨) | ||
├─ redialTimes | number | 非必须 | 重试次数 | ||
├─ redialGuide | number | 非必须 | 时间间隔(分钟) | ||
├─ guideIncrement | number | 非必须 | 间隔增量(分钟) | ||
├─ nextDeal | number | 非必须 | 后续处理(1联系人下一电话) |
03 启动外呼任务
基本信息
Path: /api/v1/ads/external/callTasks/status/{id}/executing
Method: PUT
接口描述:
概述
启动外呼任务
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/callTasks/status/1/executing?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT -H 'Content-Type: application/json'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
id | 1 | 任务id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) |
04 暂停外呼任务
基本信息
Path: /api/v1/ads/external/callTasks/status/{id}/pause
Method: PUT
接口描述:
概述
暂停外呼任务
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/callTasks/status/1/pause?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT -H 'Content-Type: application/json'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
id | 1 | 任务id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) |
05 停止外呼任务
基本信息
Path: /api/v1/ads/external/callTasks/status/{id}/stop
Method: PUT
接口描述:
概述
停止外呼任务
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/callTasks/status/1/stop?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT -H 'Content-Type: application/json'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
id | 1 | 任务id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) |
06 创建联系单
基本信息
Path: /api/v1/ads/external/contactBatchs
Method: POST
接口描述:
概述
创建联系单
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/contactBatchs?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X POST -H 'Content-Type: application/json' -d '{
"name":"测试拨号1",
"remark":"测试拨号",
"focus":"标签"
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data":{
"id":80,
"name":"测试拨号1",
"remark":"测试拨号",
"focus":"标签",
"status":3
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 | ||
Body |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
name | string | 必须 | 联系单名称 | ||
remark | string | 非必须 | 备注 | ||
focus | string | 非必须 | 标签 | ||
callTaskId | string | 必须 | 外呼任务id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) | ||
data | object | 非必须 | 结果 | ||
├─ id | string | 必须 | 联系单id | ||
├─ name | string | 必须 | 联系单名称 | ||
├─ remark | string | 非必须 | 备注 | ||
├─ focus | string | 非必须 | 标签 | ||
├─ status | string | 必须 | 状态(1等待2导入中3完成) |
07 导入联系人号码
基本信息
Path: /api/v1/ads/external/contactBatchs/syncNumber
Method: POST
接口描述:
概述
导入联系人号码接口(单次上限50条)
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/ads/external/contactBatchs/syncNumber?Email=1@test.cn&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X POST -H 'Content-Type: application/json' -d '{
"contactBatchId":1,
"dealType": 1,
"encryptionFlag": 1,
"algorithmType": 1,
"secretKey": "MTIzNDU2",
"encryptionRange": ["name,mobile"],
"numberList":[
{
"name":"测试1",
"mobile":"13900000000",
"companyName":"测试公司1",
"remark":"备注1",
"variates":[{"key":"天气","type":"string","value":"北京"}]
},
{
"name":"测试2",
"mobile":"1390000001",
"companyName":"测试公司2",
"remark":"备注2",
"variates":[{"key":"天气","type":"string","value":"北京"}]
}
]
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data":{
"contactBatchId":1,
"successCount":1,
"failedCount":1,
"failedNumberList":[
{
"name":"测试2",
"mobile":"1390000001",
"companyName":"测试公司2",
"remark":"备注2",
"variates":[{"key":"天气","type":"string","value":"北京"}]
"failedReason":"号码无效"
}
]
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
contactBatchId | number | 必须 | 联系单id | ||
dealType | number | 非必须 | 重复处理类型(1不查重 2当前任务) | ||
encryptionFlag | number | 必须 | 0 | 是否加密(1 是 0 否) | |
algorithmType | number | 非必须 | 加密算法(1 AES,2 DES) | ||
secretKey | string | 非必须 | 加密密钥(需要base64加密) | ||
encryptionRange | list | 非必须 | 加密字段 | ||
numberList | object [] | 必须 | 号码列表集合 | item 类型: object | |
├─ name | string | 必须 | 联系人名称 | ||
├─ mobile | string | 必须 | 手机号 | ||
├─ companyName | string | 非必须 | 公司 | ||
├─ remark | string | 非必须 | 备注 | ||
├─ variates | object [] | 非必须 | 自定义变量 | item 类型: object | |
├─ key | string | 非必须 | 变量 | ||
├─ type | string | 非必须 | 变量类型 | ||
├─ value | string | 非必须 | 变量值 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | 业务码(暂不使用) | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见(暂不使用) | ||
data | object | 非必须 | 结果 | ||
├─ contactBatchId | number | 必须 | 联系单id | ||
├─ successCount | number | 必须 | 成功导入的号码数量 | ||
├─ failedCount | number | 必须 | 导入失败的号码数量 | ||
├─ failedNumberList | object [] | 非必须 | 导入失败的号码集合 | item 类型: object | |
├─ name | string | 非必须 | 姓名 | ||
├─ mobile | string | 非必须 | 号码 | ||
├─ companyName | string | 非必须 | 公司 | ||
├─ remark | string | 非必须 | 备注 | ||
├─ variates | string [] | 非必须 | 自定义变量(格式:[{"key":"天气","type":"string","value":"北京"}]) | item 类型: string | |
├─ failedReason | string | 非必须 | 失败原因 | ||
├─ dealType | number | 非必须 | 重复处理类型(1不查重 2当前任务) | ||
├─ encryptionFlag | number | 必须 | 是否加密 | ||
├─ algorithmType | number | 非必须 | 加密类型 | ||
├─ encryptionRange | list | 非必须 | 加密字段 | ||
├─ encryptionField | string | 非必须 | 加密字段 |
08 通话记录查询
基本信息
Path: /api/v1/petitions/search
Method: POST
接口描述:
概述
通话记录查询,支持时间范围、呼叫类型、callid的查询,其中查询时间范围不能超过7天,时间范围越大查询时间越长,尽量缩短查询范围。
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/petitions/search?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X POST -H 'Content-Type: application/json' -d '{
"pageNum": 1,
"pageSize": 1,
"startTime": "2021-06-26 00:00:28",
"endTime": "2021-06-26 10:00:28",
"category": 2,
"callId": "d44539e0-3d41-4854-83da-d22a0d251304"
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"paging": {
"pageNum": 1,
"pageSize": 1,
"total": 1
},
"data": [
{
"id": 16938727,
"callId": "d44539e0-3d41-4854-83da-d22a0d251304",
"category": 2,
"customerNumber": "18710180975",
"beginAt": "2021-06-26 00:09:28",
"endAt": "2021-06-26 00:09:51",
"defeatCause": null,
"displayNumber": "04536341334",
"agentName": "测试",
"customerRingingTime": 0,
"talkRecord": "https://s4-ccps-pri-std.obs.cn-north-4.myhuaweicloud.com/c055e127-95d0-44f0-7564-5f570d410b68/cc_recordings/20210626000945_d44539e0-3d41-4854-83da-d22a0d251304_a5138e4d-5eec-4d5f-bc1d-6cf9c5a0eacf_18710180975.mp3?AWSAccessKeyId=KNERXMMZRQZ7UHV2OSEN&Expires=1656173390&Signature=Pb%2BSiPvi9GtFvLIm98nyJV0CHZE%3D",
"outLineNumber": "",
"talkTime": 5,
"followUpCall": "无",
"queueName": "刘勇-队列",
"queueResult": "排队成功",
"ringResult": "客服接听",
"seqRing": "0",
"outCallRingTime": null,
"outCallDefeatCause": null,
"hangupBy": "坐席",
"callResult": "客服接听",
"agentInfo": {
"id": 10001,
"name": "测试",
"employeeId": "坐席-001",
"number": "99674238501001"
},
"talkInfo": null,
"ivrInfo": null,
"phoneInfo": null,
"queueInfo": null,
"surveryList": [
"已评价-1-12"
]
}
]
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
pageNum | number | 非必须 | 页码 | ||
pageSize | number | 非必须 | 每页行数 | ||
startTime | string | 非必须 | 开始时间,例如: 2021-02-24 18:50:00 | ||
endTime | string | 非必须 | 结束时间, 例如: 2021-02-24 19:50:00 | ||
category | number | 非必须 | 呼叫类型 1: 呼出 2: 呼入 | ||
callId | string | 非必须 | 通话唯一标识 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码。200成功 | ||
bizCode | string | 必须 | bizcode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | visible | ||
paging | object | 必须 | 页码信息 | ||
├─ pageNum | number | 必须 | 页码 | ||
├─ pageSize | number | 必须 | 每页行数 | ||
├─ total | number | 必须 | 总数 | ||
data | object [] | 非必须 | 结果数据 | item 类型: object | |
├─ id | number | 必须 | 唯一序列 | ||
├─ callId | string | 必须 | 通话id | ||
├─ category | number | 必须 | 呼叫类型 1: 呼出 2: 呼入 | ||
├─ customerNumber | string | 非必须 | 客户电话 | ||
├─ beginAt | string | 必须 | 呼叫时间 | ||
├─ endAt | string | 必须 | 结束时间 | ||
├─ displayNumber | string | 非必须 | 中继号 | ||
├─ agentName | string | 非必须 | 坐席名称 | ||
├─ customerRingingTime | number | 非必须 | 客户振铃时长 | ||
├─ talkRecord | string | 非必须 | 通话录音 | ||
├─ outLineNumber | string | 非必须 | 外线号码 | ||
├─ talkTime | number | 非必须 | 通话时长s | ||
├─ followUpCall | string | 非必须 | 后续通话 | ||
├─ queueName | string | 非必须 | 队列名称 | ||
├─ queueResult | string | 非必须 | 排队结果 | ||
├─ ringResult | string | 非必须 | 振铃结果 | ||
├─ seqRing | string | 非必须 | 顺振 | ||
├─ outCallRingTime | string | 非必须 | 外呼振铃时长 | ||
├─ outCallDefeatCause | string | 非必须 | 外呼失败原因 | ||
├─ hangupBy | string | 非必须 | 挂断方 | ||
├─ callResult | string | 非必须 | 通话结果 | ||
├─ agentInfo | object | 非必须 | 坐席信息 | ||
├─ id | number | 非必须 | 坐席id | ||
├─ name | string | 非必须 | 坐席名称 | ||
├─ employeeId | string | 非必须 | 坐席工号 | ||
├─ number | string | 非必须 | 坐席分机 | ||
├─ talkInfo | object | 非必须 | 电话信息 | ||
├─ beginAt | string | 非必须 | 开始时间 | ||
├─ endAt | string | 非必须 | 结束时间 | ||
├─ record | string | 非必须 | 记录 | ||
├─ talkTime | number | 非必须 | 通话时长 | ||
├─ hangupBy | string | 非必须 | 挂断方 | ||
├─ numOfAgentHold | number | 非必须 | 坐席保持次数 | ||
├─ numOfAgentSilence | string | 非必须 | 坐席静音次数 | ||
├─ numOfAgentToIvr | number | 非必须 | 坐席转IVR次数 | ||
├─ field_10numOfAgentTransfer | number | 非必须 | 坐席转接次数 | ||
├─ numOfAgentAdvisory | number | 非必须 | 坐席咨询次数 | ||
├─ numOfAgentThird | number | 非必须 | 坐席三方次数 | ||
├─ agentEvents | string [] | 非必须 | 坐席通话中事件 | item 类型: string | |
├─ | 非必须 | ||||
├─ category | number | 非必须 | 通话类型 | ||
├─ ivrInfo | object | 非必须 | IVR信息 | ||
├─ record | string | 非必须 | IVR通话记录录音 | ||
├─ variables | string [] | 非必须 | IVR变量列表 | item 类型: string | |
├─ | 非必须 | ||||
├─ viewCallVariablesList | string [] | 非必须 | IVR变量 | item 类型: string | |
├─ | 非必须 | ||||
├─ lables | string [] | 非必须 | IVR标签列表 | item 类型: string | |
├─ | 非必须 | ||||
├─ ivrTimes | number | 非必须 | IVR停留时长 | ||
├─ process | object [] | 非必须 | ivr事件流程 | item 类型: object | |
├─ seq | number | 非必须 | 序号 | ||
├─ beginAt | string | 非必须 | 进入时间 | ||
├─ endAt | string | 非必须 | 退出时间 | ||
├─ ivrName | string | 非必须 | 节点名称 | ||
├─ ivrLog | string | 非必须 | 节点日志 | ||
├─ phoneInfo | object | 非必须 | 客户电话信息 | ||
├─ number | string | 非必须 | 电话号码 | ||
├─ province | string | 非必须 | 所属省 | ||
├─ city | string | 非必须 | 所属城市 | ||
├─ operator | string | 非必须 | 运营商 | ||
├─ queueInfo | object | 非必须 | 队列信息 | ||
├─ enterQueue | number | 非必须 | 入队节点 | ||
├─ enterRule | string | 非必须 | 入队规则 | ||
├─ enterEvent | string | 非必须 | 入队事件 | ||
├─ repeatCusterRule | string | 非必须 | 回头客规则 | ||
├─ queueType | string | 非必须 | 队列类型 | ||
├─ queueId | number | 非必须 | 队列ID | ||
├─ queueName | string | 非必须 | 队列名称 | ||
├─ customerLevel | number | 非必须 | 客户等级 | ||
├─ callLevel | number | 非必须 | 呼叫等级 | ||
├─ enterAt | string | 非必须 | 入队时间 | ||
├─ queueTime | number | 非必须 | 排队时长 | ||
├─ assignAt | string | 非必须 | 分配时间 | ||
├─ assignRule | string | 非必须 | 分配规则 | ||
├─ continuousRingTime | number | 非必须 | 连续振铃时长 | ||
├─ lastAgentRingTime | number | 非必须 | 最后坐席振铃时长 | ||
├─ numOfSeqRing | number | 非必须 | 顺振次数 | ||
├─ seqRingEvent | string | 非必须 | 顺振事件 | ||
├─ queueResult | string | 非必须 | 排队结果 | ||
├─ ringResult | string | 非必须 | 振铃结果 | ||
├─ surveryList | string [] | 非必须 | 满意度调查信息 | item 类型: string | |
├─ | 非必须 | ||||
├─ messageUrl | string | 非必须 | 留言 | ||
├─ adTaskName | string | 非必须 | 自动外呼任务名称 | ||
├─ externFlag | string | 非必须 | 是否转外线 | ||
├─ validFlag | string | 非必须 | 话有效性(0不做判断1有效2无效) | ||
├─ viewCallVariablesList | string [] | 非必须 | IVR变量 | item 类型: string | |
├─ | 非必须 | ||||
├─ allRecordUrlList | object [] | 非必须 | 全部录音 | item 类型: object | |
├─ recordUrl | string | 非必须 | 录音地址 | ||
├─ recordType | string | 非必须 | 类型 | ||
├─ totalIvrTime | number | 非必须 | ivr总时长 |
09 通话详情查询
基本信息
Path: /api/v1/petitions/callId
Method: GET
接口描述:
概述
通话记录详情查询
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/petitions/callId?callId=d44539e0-3d41-4854-83da-d22a0d251304&AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"data": {
"id": 16938727,
"callId": "d44539e0-3d41-4854-83da-d22a0d251304",
"category": 2,
"customerNumber": "18710180975",
"beginAt": "2021-06-26 00:09:28",
"endAt": "2021-06-26 00:09:51",
"defeatCause": null,
"displayNumber": "04536341334",
"agentName": "测试",
"customerRingingTime": 0,
"talkRecord": "https://s4-ccps-pri-std.obs.cn-north-4.myhuaweicloud.com/c055e127-95d0-44f0-7564-5f570d410b68/cc_recordings/20210626000945_d44539e0-3d41-4854-83da-d22a0d251304_a5138e4d-5eec-4d5f-bc1d-6cf9c5a0eacf_18710180975.mp3?AWSAccessKeyId=KNERXMMZRQZ7UHV2OSEN&Expires=1656173390&Signature=Pb%2BSiPvi9GtFvLIm98nyJV0CHZE%3D",
"outLineNumber": "",
"talkTime": 5,
"followUpCall": "无",
"queueName": "测试-队列",
"queueResult": "排队成功",
"ringResult": "客服接听",
"seqRing": "0",
"outCallRingTime": null,
"outCallDefeatCause": null,
"hangupBy": "坐席",
"callResult": "客服接听",
"agentInfo": {
"id": 781,
"name": "测试",
"employeeId": "坐席-001",
"number": "98674238501001"
},
"talkInfo": {
"beginAt": "2021-06-26 00:09:45",
"endAt": "2021-06-26 00:09:51",
"record": "https://s4-ccps-pri-std.obs.cn-north-4.myhuaweicloud.com/c055e127-95d0-44f0-7564-5f570d410b68/cc_recordings/20210626000945_d44539e0-3d41-4854-83da-d22a0d251304_a5138e4d-5eec-4d5f-bc1d-6cf9c5a0eacf_18710180975.mp3?AWSAccessKeyId=KNERXMMZRQZ7UHV2OSEN&Expires=1656173390&Signature=Pb%2BSiPvi9GtFvLIm98nyJV0CHZE%3D",
"talkTime": 5,
"hangupBy": "坐席",
"numOfAgentHold": 0,
"numOfAgentSilence": 0,
"numOfAgentToIvr": 0,
"numOfAgentTransfer": 0,
"numOfAgentAdvisory": 0,
"numOfAgentThird": 0,
"agentEvents": [],
"category": 0
},
"ivrInfo": {
"record": null,
"variables": null,
"lables": null,
"ivrTimes": 30,
"process": [
{
"seq": 1,
"beginAt": "2021-06-26 00:09:28",
"endAt": "2021-06-26 00:09:58",
"ivrName": null,
"ivrLog": null
}
]
},
"phoneInfo": {
"number": "18710710970",
"province": "北京",
"city": "北京",
"operator": null
},
"queueInfo": {
"enterQueue": null,
"enterRule": null,
"enterEvent": null,
"repeatCusterRule": "",
"queueType": "队列",
"queueId": 2411,
"queueName": "测试-队列",
"customerLevel": null,
"callLevel": null,
"enterAt": "2021-06-26 00:09:31",
"queueTime": 14,
"assignAt": "2021-06-26 00:09:45",
"assignRule": null,
"continuousRingTime": null,
"lastAgentRingTime": 15,
"numOfSeqRing": 0,
"seqRingEvent": null,
"queueResult": "排队成功",
"ringResult": "客服接听"
},
"surveryList": [
"已评价-1-12"
]
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Query
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
callId | 是 | d44539e0-3d41-4854-83da-d22a0d251304 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码。200成功 | ||
bizCode | string | 必须 | bizcode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | visible | ||
data | object | 非必须 | 结果 | ||
├─ id | number | 必须 | 唯一序列 | ||
├─ callId | string | 必须 | 通话id | ||
├─ category | number | 必须 | 呼叫类型 1: 呼出 2: 呼入 | ||
├─ customerNumber | string | 非必须 | 客户电话 | ||
├─ beginAt | string | 必须 | 呼叫时间 | ||
├─ endAt | string | 必须 | 结束时间 | ||
├─ displayNumber | string | 非必须 | 中继号 | ||
├─ agentName | string | 非必须 | 坐席名称 | ||
├─ customerRingingTime | number | 非必须 | 客户振铃时长 | ||
├─ talkRecord | string | 非必须 | 通话录音 | ||
├─ outLineNumber | string | 非必须 | 外线号码 | ||
├─ talkTime | number | 非必须 | 通话时长s | ||
├─ followUpCall | string | 非必须 | 后续通话 | ||
├─ queueName | string | 非必须 | 队列名称 | ||
├─ queueResult | string | 非必须 | 排队结果 | ||
├─ ringResult | string | 非必须 | 振铃结果 | ||
├─ seqRing | string | 非必须 | 顺振 | ||
├─ outCallRingTime | string | 非必须 | 外呼振铃时长 | ||
├─ outCallDefeatCause | string | 非必须 | 外呼失败原因 | ||
├─ hangupBy | string | 非必须 | 挂断方 | ||
├─ callResult | string | 非必须 | 通话结果 | ||
├─ agentInfo | object | 非必须 | 坐席信息 | ||
├─ id | number | 非必须 | 坐席id | ||
├─ name | string | 非必须 | 坐席名称 | ||
├─ employeeId | string | 非必须 | 坐席工号 | ||
├─ number | string | 非必须 | 坐席分机 | ||
├─ talkInfo | object | 非必须 | 通话信息 | ||
├─ beginAt | string | 非必须 | 通话开始时间,yyyy-mm-dd HH:mm:ss格式 | ||
├─ endAt | string | 非必须 | 通话结束时间 | ||
├─ record | string | 非必须 | 通话录音 | ||
├─ talkTime | number | 非必须 | 通话时长 | ||
├─ hangupBy | string | 非必须 | 挂断方 | ||
├─ numOfAgentHold | number | 非必须 | 坐席保持次数 | ||
├─ numOfAgentSilence | number | 非必须 | 坐席静音次数 | ||
├─ numOfAgentToIvr | number | 非必须 | 坐席转IVR次数 | ||
├─ numOfAgentTransfer | number | 非必须 | 坐席转接次数 | ||
├─ numOfAgentAdvisory | number | 非必须 | 坐席咨询次数 | ||
├─ numOfAgentThird | number | 非必须 | 坐席三方次数 | ||
├─ agentEvents | string [] | 非必须 | 坐席通话中事件 | item 类型: string | |
├─ | 非必须 | 坐席事件 | |||
├─ ivrInfo | object | 非必须 | 通话IVR信息 | ||
├─ record | string | 非必须 | ivr通话记录录音 | ||
├─ variables | string [] | 非必须 | 通话记录变量集合 | item 类型: string | |
├─ | 非必须 | 变量 | |||
├─ labels | string [] | 非必须 | 通话记录标签集合 | item 类型: string | |
├─ | 非必须 | 标签 | |||
├─ ivrTimes | number | 非必须 | IVR停留时长 | ||
├─ process | object | 非必须 | IVR事件流程 | ||
├─ beginAt | string | 非必须 | ivr开始时间,时间格式:yyyy-MM-dd HH:mm:ss | ||
├─ endAt | string | 非必须 | ivr结束时间,格式同上 | ||
├─ ivrName | string | 非必须 | vr名称 | ||
├─ ivrLog | string | 非必须 | ivr日志 | ||
├─ phoneInfo | object | 非必须 | |||
├─ number | string | 非必须 | 号码 | ||
├─ province | string | 非必须 | 省份 | ||
├─ city | string | 非必须 | 市 | ||
├─ operator | string | 非必须 | 运营商 | ||
├─ queueInfo | object | 非必须 | |||
├─ enterQueue | number | 非必须 | 入队节点 | ||
├─ enterRule | string | 非必须 | 入队规则 | ||
├─ enterEvent | string | 非必须 | 入队事件 | ||
├─ repeatCusterRule | string | 非必须 | 回头客规则 | ||
├─ queueType | string | 非必须 | 队列类型 | ||
├─ queueId | number | 非必须 | 队列ID | ||
├─ queueName | string | 非必须 | 队列名称 | ||
├─ customerLevel | number | 非必须 | 客户等级 | ||
├─ callLevel | number | 非必须 | 呼叫等级 | ||
├─ enterAt | string | 非必须 | 入队时间 | ||
├─ queueTime | number | 非必须 | 排队时长 | ||
├─ assignAt | string | 非必须 | 分配时间 | ||
├─ assignRule | string | 非必须 | 分配规则 | ||
├─ continuousRingTime | number | 非必须 | 连续振铃时长 | ||
├─ lastAgentRingTime | number | 非必须 | 最后坐席振铃时长 | ||
├─ numOfSeqRing | number | 非必须 | 顺振次数 | ||
├─ seqRingEvent | string | 非必须 | 顺振事件 | ||
├─ queueResult | string | 非必须 | 排队结果 | ||
├─ ringResult | string | 非必须 | 振铃结果 | ||
├─ surveryList | string [] | 非必须 | 满意度调查信息 | item 类型: string | |
├─ | 非必须 | 满意度调查详细数据 | |||
├─ messageUrl | string | 非必须 | 留言 | ||
├─ adTaskName | string | 非必须 | 自动外呼任务名称 | ||
├─ externFlag | string | 非必须 | 是否转外线 | ||
├─ validFlag | string | 非必须 | 通话有效性,0-不做判断,1-有效,2-无效 | ||
├─ viewCallVariablesList | string [] | 非必须 | IVR变量 | item 类型: string | |
├─ | 非必须 | ||||
├─ allRecordUrlList | object [] | 非必须 | 全部录音 | item 类型: object | |
├─ recordUrl | string | 非必须 | 录音地址 | ||
├─ recordType | string | 非必须 | 类型 | ||
├─ totalIvrTime | number | 非必须 | ivr总时长 |
10 添加限制号码
基本信息
Path: /api/v1/calllimit/{callType}/numbers
Method: POST
接口描述:
概述
增加限制呼叫号码
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/in/numbers?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X POST-H 'Content-Type: application/json' -d '{
"numberInputModel": 1,
"numbers": [
"17000000000"
],
"limitType": "forever"
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"data": {
"totalSize": 1,
"repeatSize": 1,
"repeatList": [
"17000000000"
]
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | 呼叫类型 in: 呼入 out:呼出 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
numberInputModel | number | 必须 | 号码输入方式,,默认填1 | ||
numbers | string [] | 必须 | 号码数组 | item 类型: string | |
├─ | 非必须 | 单个号码 | |||
limitType | string | 必须 | 限制类型 永久限制 :forever 分钟:minute 小时: hour 天:day 周:week 月:month 年:year | ||
limitTime | number | 非必须 | 限制时长(limitType为forever时非必填,其他值时需必填) | ||
limitReason | string | 非必须 | 限制原因 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 非必须 | 成功标识 | ||
code | number | 非必须 | 结果码 | ||
bizCode | string | 非必须 | bizcode | ||
message | string | 非必须 | 消息 | ||
visible | boolean | 非必须 | 是否可见 | ||
data | object | 必须 | |||
├─ totalSize | number | 必须 | 总数 | ||
├─ repeatSize | number | 必须 | 在数据库中重复数量 | ||
├─ repeatList | string [] | 必须 | 重复集合 | item 类型: string | |
├─ | 非必须 | 重复号码 |
11 限制呼叫号码查询
基本信息
Path: /api/v1/calllimit/{callType}/numbers/search
Method: GET
接口描述:
概述
限制呼叫号码查询,支持分页查询
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/{callType}/numbers/search?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd&pageNum=1&pageSize=20'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"paging": {
"pageNum": 1,
"pageSize": 20,
"total": 1
},
"data": [
{
"id": 100,
"number": "18710180977",
"numberInputModel": 1,
"limitType": "foever",
"limitTime": null,
"unlimitTime": null,
"limitReason": null,
"createdAt": "2021-07-17 19:11:16",
"updatedAt": "2021-07-17 19:11:20",
"createdUserId": null,
"updatedUserId": null
}
]
}
请求参数
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | in:呼入 out: 呼出 |
Query
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
pageNum | 否 | 1 | 页码 |
pageSize | 否 | 20 | 每页行数 |
keyword | 否 | 1871018 | 关键词(号码),支持模糊查询 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | bizCode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见 | ||
paging | object | 必须 | 页码信息 | ||
├─ pageNum | number | 必须 | 页码 | ||
├─ pageSize | number | 必须 | 每页行数 | ||
├─ total | number | 必须 | 总数 | ||
data | object [] | 必须 | 限制号码数据 | item 类型: object | |
├─ id | number | 必须 | 唯一标识 | ||
├─ number | string | 必须 | 号码 | ||
├─ createdAt | string | 必须 | 添加时间 | ||
├─ limitType | string | 必须 | 限制类型 永远:forever 分钟 : minute 小时 : hour 天:day 周:week 月:month 年:year | ||
├─ unlimitTime | string | 非必须 | 解除限制时间 | ||
├─ limitReason | string | 必须 | 限制原因 |
12 通过手机号获取号码详情
基本信息
Path: /api/v1/calllimit/{callType}/tel/{number}
Method: GET
接口描述:
概述
通过手机号获取号码详情
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/in/tel/17000000000?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"data": {
"id": 100,
"number": "17000000000",
"numberInputModel": 1,
"limitType": "foever",
"limitTime": null,
"unlimitTime": null,
"limitReason": null,
"createdAt": "2021-07-17 19:11:16",
"updatedAt": "2021-07-17 19:11:20",
"createdUserId": null,
"updatedUserId": null
}
}
请求参数
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | 呼叫类型 in: 呼入 out:呼出 |
number | 17000000000 | 号码 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | bizCode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见 | ||
data | object | 必须 | 数据 | ||
├─ id | number | 必须 | 唯一标识 | ||
├─ number | string | 必须 | 号码 | ||
├─ numberInputModel | number | 必须 | 号码输入方式 1:手工输入 2:批量导入 3:正则输入 | ||
├─ limitType | string | 必须 | 限制类型 永久限制:forever 分钟:minute 小时:hour 天:day 周:week 月:month 年:year | ||
├─ limitTime | number | 必须 | 限制时间 | ||
├─ unlimitTime | string | 必须 | 解除限制时间 | ||
├─ limitReason | string | 必须 | 限制原因 | ||
├─ createdAt | string | 必须 | 创建时间 | ||
├─ updateAt | string | 必须 | 更新时间 | ||
├─ createdUserId | string | 必须 | 创建用户 | ||
├─ updateUserId | string | 必须 | 更新用户 |
13 通过手机号修改限制号码信息
基本信息
Path: /api/v1/calllimit/{callType}/tel/{number}
Method: PUT
接口描述:
概述
通过手机号修改限制号码信息
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/in/tel/17000000000?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT-H 'Content-Type: application/json' -d '{
"limitType": "day",
"limitTime": 1,
"limitReason":"测试"
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false,
"data": {
"number": "17000000000",
"limitType": "day",
"limitTime": 1,
"limitReason": "测试"
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 | ||
路径参数 |
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | 呼叫类型 in:呼入 out: 呼出 |
number | 17000000000 | 号码 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
limitType | string | 必须 | 限制类型 永远:forever 分钟:minute 小时: hour 天:day 周:week 月:month 年:year | ||
limitTime | number | 非必须 | 限制时长 | ||
limitReason | string | 非必须 | 限制原因 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 非必须 | 成功标识 | ||
code | number | 非必须 | 结果码 | ||
bizCode | string | 非必须 | bizcode | ||
message | string | 非必须 | 消息 | ||
visible | boolean | 非必须 | 是否可见 | ||
data | object | 非必须 | |||
├─ number | string | 非必须 | 号码 | ||
├─ limitType | string | 非必须 | 限制类型 永久限制 :forever 分钟:minute 小时: hour 天:day 周:week 月:month 年:year | ||
├─ limitTime | number | 非必须 | 限制时长 | ||
├─ limitReason | string | 非必须 | 限制原因 |
14 通过手机号删除限制号码信息
基本信息
Path: /api/v1/calllimit/{callType}/tel/{number}
Method: DELETE
接口描述:
概述
通过手机号删除限制号码信息
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/in/tel/17000000000?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X DELETE
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | 呼叫类型 in: 呼入 out: 呼出 |
number | 18920765652 | 号码id |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | bizCode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见 |
15 通过手机号批量删除限制号码
基本信息
Path: /api/v1/calllimit/{callType}/tel/batch-delete
Method: PUT
接口描述:
概述
通过手机号批量删除限制号码
示例
请求
$ curl 'https://demo.udesk.cn/api/v1/calllimit/in/tel/batch-delete?AppId=1234567890abc&Timestamp=1496631984&Token=4c1947cb3d87743b613f3a4843ae74306529d4fd' -i -X PUT -H 'Content-Type: application/json' -d '{
"numbers": [
"17000000000"
]
}'
响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed": true,
"code": 200,
"bizCode": "000000",
"message": "OK",
"visible": false
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
callType | in | 呼叫类型 in:呼入 out: 呼出 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
numbers | string [] | 必须 | 多个号码id | item 类型: string | |
├─ | 非必须 | 号码 |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
succeed | boolean | 必须 | 成功标识 | ||
code | number | 必须 | 结果码 | ||
bizCode | string | 必须 | bizCode | ||
message | string | 必须 | 消息 | ||
visible | boolean | 必须 | 是否可见 |