所有api接口都需要鉴权规则,具体详情前往新平台鉴权规则查看
目录
1.座席功能接口
1.1 座席上线
接口说明
用于执行座席上线操作,座席需处于上线后的空闲、置忙、整理等状态下才可以调用外呼接口
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
| loginType | string | 是 | 座席上线类型 PSTN(手机)/WEBRTC(软电话)/SIP(sip号码) |
| status | string | 是 | 座席上线状态 0(空闲)/1(忙碌) |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/online' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000",
"loginType": "PSTN",
"status": "0"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": "座席上线成功",
"requestInfo": {
"requestId": "34a0153049a511eb88a72fd5a285f83e",
"url": "/openapi/v1/call/online",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/online",
"body": {
"agentNumber": "2000",
"loginType": "PSTN",
"status": "0"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "29e821ba995db071c56ba86c8e0691a4",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "77",
"x-stgw-time": "1609225946.627",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "333333",
"m7-sign": "lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=",
"m7-timestamp": "1809225739",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "c22ab548-7eda-40e4-8607-5e6867955002",
"accept-encoding": "gzip, deflate, br",
"traceId": "34a0153049a511eb88a72fd5a285f83e",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609225946627,
"proxyStartTime": 1609225946629,
"proxyEndTime": 1609225946693,
"reqEndTime": 1609225946694,
"bizSpan": "64ms",
"latency": "3ms"
}
}
}
1.2 座席下线
接口说明
用于执行座席下线操作,座席离线时可调用,释放座席并发资源
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/offline' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 111922' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1609226863021' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}
'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": "座席下线成功",
"requestInfo": {
"requestId": "f96e65e049a711eb95b33f5bf819325f",
"url": "/openapi/v1/call/offline",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/offline",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "365c00726a2cc5babee70b2be8d3822b",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "33",
"x-stgw-time": "1609227135.802",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "55a69444-db17-4cee-98c5-108472521086",
"accept-encoding": "gzip, deflate, br",
"traceId": "f96e65e049a711eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609227135807,
"proxyStartTime": 1609227135808,
"proxyEndTime": 1609227135853,
"reqEndTime": 1609227135853,
"bizSpan": "45ms",
"latency": "1ms"
}
}
}
1.3 座席置忙
接口说明
对空闲座席执行置忙操作
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/busy' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"requestInfo": {
"requestId": "794d140049a811eb88a72fd5a285f83e",
"url": "/openapi/v1/call/busy",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/busy",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "cb5a1a6bb120fb0845dab8004f30f39d",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "31",
"x-stgw-time": "1609227350.331",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "1ec16cb7-5f40-433a-8319-c647a6e69ba8",
"accept-encoding": "gzip, deflate, br",
"traceId": "794d140049a811eb88a72fd5a285f83e",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609227350337,
"proxyStartTime": 1609227350339,
"proxyEndTime": 1609227350366,
"reqEndTime": 1609227350366,
"bizSpan": "27ms",
"latency": "2ms"
}
}
}
1.4 座席置闲
接口说明
对忙碌座席进行置闲操作
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/rest' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"requestInfo": {
"requestId": "da68d99049a811eb95b33f5bf819325f",
"url": "/openapi/v1/call/rest",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/rest",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "e39ddd20ec1b25604a4ec59cd3984421",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "31",
"x-stgw-time": "1609227513.251",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "d950cf6b-4d47-4cfe-9136-e871b822072f",
"accept-encoding": "gzip, deflate, br",
"traceId": "da68d99049a811eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609227513258,
"proxyStartTime": 1609227513259,
"proxyEndTime": 1609227513289,
"reqEndTime": 1609227513289,
"bizSpan": "30ms",
"latency": "1ms"
}
}
}
2 通话功能接口
2.1 座席外呼
接口说明
座席执行外呼操作,注意座席必须为登录状态,且状态为空闲、置忙、整理等状态可发起外呼请求。
外呼策略只有在使用外呼号组时才生效
默认外呼策略
- localArea 本地小号
- localProvince 本地省会小号
- localTrunk 本地固话
- localProvinceTrunk 本地省会固话
- random 随机显示
指定区号后的外呼策略
- localArea 本地小号
- localProvince 本地省会小号
- appointArea 指定区域小号
- localTrunk 本地固话
- localProvinceTrunk 本地省会固话
- appoinTrunk 指定区域固话
- random 随机显示
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
| calleeNumber | string | 是 | 被叫号码,固话请输入完整区号 |
| agentTimeout | string | 否 | 呼叫座席侧超时时间,默认60秒 |
| calleeTimeout | string | 否 | 呼叫用户侧超时时间,默认120秒 |
| agentCallerNumber | string | 否 | 指定呼叫座席侧外显号码 |
| calleeCallerNumber | string | 否 | 指定呼叫用户侧外显号码,此号码应为企业账户外显号码中的已存在的 |
| extras | any | 是 | 自定义参数,通话中通过事件推送,通话后通话记录中可以查询搜索和定位 限制字节数为255个 超出则报错 |
| group | string | 否 | 指定外显号分组Id,根据指定分组 随机外显号,默认使用座席绑定的外显号码 |
| groupRule | number | 否 | 外呼规则 0(随机) 1(使用默认的策略) |
| groupareaCode | string | 否 | 区号 指定区号后 优先使用区号进行策略匹配 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/dialOut' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "6000",
"calleeNumber": "17319132391",
"extras": {
"test": "漳州在这种库哈斯尽快哈记得哈圣诞节"
},
"group": "5ff3e171f17e0f66e429a9dd",
"groupRule": 1,
"groupareaCode": "010"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2020-12-29 15:50:32.436",
"endTime": "2020-12-29 15:50:32.492",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "870a76d049aa11eb88a72fd5a285f83e"
},
"response": {
"data": {
"mediaServer": "172.17.15.47:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "870a76d049aa11eb88a72fd5a285f83e",
"url": "/openapi/v1/call/dialOut",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/dialOut",
"body": {
"agentNumber": "2000",
"calleeNumber": "17319132391",
"extras": {
"test": "额外参数"
},
"group": "号码组A"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "122bd770817be4ce7332fcc74559313e",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "152",
"x-stgw-time": "1609228232.379",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "26c20dd9-3808-4813-868d-e75186c820e6",
"accept-encoding": "gzip, deflate, br",
"traceId": "870a76d049aa11eb88a72fd5a285f83e",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609228232383,
"proxyStartTime": 1609228232385,
"proxyEndTime": 1609228232495,
"reqEndTime": 1609228232495,
"bizSpan": "110ms",
"latency": "2ms"
}
}
}
2.2 座席挂机
接口说明
座席通话中,调用挂机的方法
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/hangup' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2020-12-29 15:54:59.706",
"endTime": "2020-12-29 15:54:59.737",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "265b394049ab11eb95b33f5bf819325f"
},
"response": {
"data": {
"mediaServer": "172.17.15.47:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "265b394049ab11eb95b33f5bf819325f",
"url": "/openapi/v1/call/hangup",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/hangup",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "be125485fe4c5bdfa6dbc8afdcf5ddb6",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "31",
"x-stgw-time": "1609228499.665",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "353bb531-df6d-4454-85d2-f4f7b378135c",
"accept-encoding": "gzip, deflate, br",
"traceId": "265b394049ab11eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609228499669,
"proxyStartTime": 1609228499671,
"proxyEndTime": 1609228499741,
"reqEndTime": 1609228499741,
"bizSpan": "70ms",
"latency": "2ms"
}
}
}
2.3 座席保持
接口说明
座席通话中,调用保持的方法
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/hold' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2020-12-29 15:54:59.706",
"endTime": "2020-12-29 15:54:59.737",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "265b394049ab11eb95b33f5bf819325f"
},
"response": {
"data": {
"mediaServer": "172.17.15.47:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "265b394049ab11eb95b33f5bf819325f",
"url": "/openapi/v1/call/hold",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/hold",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "be125485fe4c5bdfa6dbc8afdcf5ddb6",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "31",
"x-stgw-time": "1609228499.665",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "353bb531-df6d-4454-85d2-f4f7b378135c",
"accept-encoding": "gzip, deflate, br",
"traceId": "265b394049ab11eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609228499669,
"proxyStartTime": 1609228499671,
"proxyEndTime": 1609228499741,
"reqEndTime": 1609228499741,
"bizSpan": "70ms",
"latency": "2ms"
}
}
}
2.4 座席取消保持
接口说明
座席通话中,调用取消保持的方法
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/unhold' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2020-12-29 15:58:04.360",
"endTime": "2020-12-29 15:58:04.387",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "946d04e049ab11eb95b33f5bf819325f"
},
"response": {
"data": {
"mediaServer": "172.17.15.47:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "946d04e049ab11eb95b33f5bf819325f",
"url": "/openapi/v1/call/unhold",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/unhold",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "8a25e9fa246364bff56ec525b2cb26d4",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "31",
"x-stgw-time": "1609228684.331",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "f166421d-167b-4a94-92c8-77b7d30f2d83",
"accept-encoding": "gzip, deflate, br",
"traceId": "946d04e049ab11eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609228684335,
"proxyStartTime": 1609228684337,
"proxyEndTime": 1609228684391,
"reqEndTime": 1609228684391,
"bizSpan": "54ms",
"latency": "2ms"
}
}
}
2.5 座席静音
接口说明
座席通话中,调用静音方法
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/mute' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": "座席下线成功",
"requestInfo": {
"requestId": "f96e65e049a711eb95b33f5bf819325f",
"url": "/openapi/v1/call/mute",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/mute",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "365c00726a2cc5babee70b2be8d3822b",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "33",
"x-stgw-time": "1609227135.802",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "55a69444-db17-4cee-98c5-108472521086",
"accept-encoding": "gzip, deflate, br",
"traceId": "f96e65e049a711eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609227135807,
"proxyStartTime": 1609227135808,
"proxyEndTime": 1609227135853,
"reqEndTime": 1609227135853,
"bizSpan": "45ms",
"latency": "1ms"
}
}
}
2.6 座席取消静音
接口说明
座席通话中,调用取消静音方法
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/unmute' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1609227118427' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": "座席下线成功",
"requestInfo": {
"requestId": "f96e65e049a711eb95b33f5bf819325f",
"url": "/openapi/v1/call/unmute",
"proxyUrl": "http://172.17.15.10:31003/call/openapi/v1/call/unmute",
"body": {
"agentNumber": "2000"
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "365c00726a2cc5babee70b2be8d3822b",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "33",
"x-stgw-time": "1609227135.802",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000100",
"m7-nonce": "025513",
"m7-sign": "77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=",
"m7-timestamp": "1609227118427",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.26.8",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "55a69444-db17-4cee-98c5-108472521086",
"accept-encoding": "gzip, deflate, br",
"traceId": "f96e65e049a711eb95b33f5bf819325f",
"accountId": "2000100"
},
"span": {
"requestStartTime": 1609227135807,
"proxyStartTime": 1609227135808,
"proxyEndTime": 1609227135853,
"reqEndTime": 1609227135853,
"bizSpan": "45ms",
"latency": "1ms"
}
}
}
2.7 通话转移
接口说明
座席通话中,调用此方法可以将当前通话转移到指定座席,或者某个技能组,或者一个外线号码。
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| agentNumber | string | 是 | 当前座席工号 |
| mode | string | 是 | 转接类型,agent: 转座席, outline: 转外线, ivr: 语音导航 |
| number | string | 是 | 根据指定的转接方式,传入对应的转接号码,或转接的座席工号或者是语音导航ID |
| actionId | string | 否 | 请求的唯一标识 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/transfer' \
--header 'm7-appkey: 2000100' \
--header 'm7-nonce: 025514' \
--header 'm7-sign: 77iIqkeVA8v7FnYQnlpzvGFMBEpXaT9+30+iMtN6L0g=' \
--header 'm7-timestamp: 1626849102' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "9527",
"mode": "agent",
"number": "1000",
"actionId": "3b07c674-722e-45ba-a999-0385cbd6668d"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-07-21 14:31:41.604",
"endTime": "2021-07-21 14:31:41.646",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "3b07c674-722e-45ba-a999-0385cbd6668d"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "4f850250e9ed11eb9dfef92f8a45c136",
"url": "/openapi/v1/call/transfer",
"proxyUrl": "http://v7-call/call/openapi/v1/call/transfer",
"body": {
"agentNumber": "9527",
"mode": "agent",
"number": "1000",
"actionId": "3b07c674-722e-45ba-a999-0385cbd6668d"
},
"span": {
"requestStartTime": 1626849101557,
"proxyStartTime": 1626849101559,
"proxyEndTime": 1626849101649,
"reqEndTime": 1626849101650,
"bizSpan": "90ms",
"latency": "3ms"
}
}
}
2.8 通话咨询
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 否 | 用户用户来标记请求,最大40个字符长度,默认为系统请求id |
| number | string | 是 | 可传入,外线号码, 坐席工号, 技能组编号例如:1501045xxxx, 8000, 10014640 |
| mode | string | 是 | 咨询到外线为outline,咨询到座席工号为agent,咨询到ivr是ivr |
| agentNumber | string | 是 | 当前需要发起咨询的座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/consult' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"number": "2002",
"mode": "agent",
"agentNumber": "9527",
"actionId":"437783670040322048"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-08-11 15:45:00.262",
"endTime": "2021-08-11 15:45:00.420",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "437783670040322048"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "07fcce40fa7811eb95011fe29e32d87e",
"url": "/openapi/v1/call/consult",
"proxyUrl": "http://v7-call/call/openapi/v1/call/consult",
"body": {
"number": "2002",
"mode": "agent",
"agentNumber": "9527",
"actionId": "437783670040322048"
},
"span": {
"requestStartTime": 1628667900196,
"proxyStartTime": 1628667900199,
"proxyEndTime": 1628667900425,
"reqEndTime": 1628667900425,
"bizSpan": "226ms",
"latency": "3ms"
}
},
"actionId": "437783670040322048"
}
2.9 通话咨询转接
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 否 | 用户用户来标记请求,最大40个字符长度,默认为系统请求id |
| agentNumber | string | 是 | 要咨询转接的坐席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/consultTransfer' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "9527",
"actionId": "437783670040322048"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-08-11 15:45:34.269",
"endTime": "2021-08-11 15:45:34.371",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "437783670040322048"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "1c416780fa7811eb95011fe29e32d87e",
"url": "/openapi/v1/call/consultTransfer",
"proxyUrl": "http://v7-call/call/openapi/v1/call/consultTransfer",
"body": {
"agentNumber": "9527",
"actionId": "437783670040322048"
},
"span": {
"requestStartTime": 1628667934200,
"proxyStartTime": 1628667934202,
"proxyEndTime": 1628667934378,
"reqEndTime": 1628667934378,
"bizSpan": "176ms",
"latency": "2ms"
}
},
"actionId": "437783670040322048"
}
2.10 三方通话
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 否 | 用户用户来标记请求,最大40个字符长度,默认为系统请求id |
| agentNumber | string | 是 | 要进行三方通话的坐席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/threeWayCall' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber":"9527",
"actionId":"437783670040322048"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-08-11 15:45:22.700",
"endTime": "2021-08-11 15:45:22.833",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "437783670040322048"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "155f2ab0fa7811eb95011fe29e32d87e",
"url": "/openapi/v1/call/threeWayCall",
"proxyUrl": "http://v7-call/call/openapi/v1/call/threeWayCall",
"body": {
"agentNumber": "9527",
"actionId": "437783670040322048"
},
"span": {
"requestStartTime": 1628667922652,
"proxyStartTime": 1628667922654,
"proxyEndTime": 1628667922836,
"reqEndTime": 1628667922836,
"bizSpan": "182ms",
"latency": "2ms"
}
},
"actionId": "437783670040322048"
}
2.11 接回咨询
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 否 | 用户用户来标记请求,最大40个字符长度,默认为系统请求id |
| agentNumber | string | 是 | 发起接回咨询的座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/resumeConsult' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000",
"actionId":"437783670040322048"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-08-11 15:45:22.700",
"endTime": "2021-08-11 15:45:22.833",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "437783670040322048"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "155f2ab0fa7811eb95011fe29e32d87e",
"url": "/openapi/v1/call/resumeConsult",
"proxyUrl": "http://v7-call/call/openapi/v1/call/resumeConsult",
"body": {
"agentNumber": "2000",
"actionId": "437783670040322048"
},
"span": {
"requestStartTime": 1628667922652,
"proxyStartTime": 1628667922654,
"proxyEndTime": 1628667922836,
"reqEndTime": 1628667922836,
"bizSpan": "182ms",
"latency": "2ms"
}
},
"actionId": "437783670040322048"
}
2.12 取消咨询
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 否 | 用户用户来标记请求,最大40个字符长度,默认为系统请求id |
| agentNumber | string | 是 | 发起取消咨询的座席工号 |
请求示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/cancelconsult' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"agentNumber": "2000",
"actionId":"437783670040322048"
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-08-11 15:45:22.700",
"endTime": "2021-08-11 15:45:22.833",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "437783670040322048"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok"
},
"requestInfo": {
"requestId": "155f2ab0fa7811eb95011fe29e32d87e",
"url": "/openapi/v1/call/cancelconsult",
"proxyUrl": "http://v7-call/call/openapi/v1/call/cancelconsult",
"body": {
"agentNumber": "2000",
"actionId": "437783670040322048"
},
"span": {
"requestStartTime": 1628667922652,
"proxyStartTime": 1628667922654,
"proxyEndTime": 1628667922836,
"reqEndTime": 1628667922836,
"bizSpan": "182ms",
"latency": "2ms"
}
},
"actionId": "437783670040322048"
}
2.13 通话记录查询接口
接口说明
查询通话记录接口,时间限制为7天
请求参数
| 字段名称 | 字段类型 | 是否必填 | 字段描述 |
|---|---|---|---|
| startTime | string | 是 | 开始呼叫时间,格式 yyyy-MM-dd HH:mm:ss |
| endTime | string | 是 | 结束呼叫时间,格式 yyyy-MM-dd HH:mm:ss |
| uniqueId | string | 否 | 通话id (传该字段,呼叫时间字段可不传,传了也不进行验证) |
| agentNumber | string | 否 | 座席工号 |
| displayNumber | string | 否 | 外显号 |
| trunkNumber | string | 否 | 服务号 |
| queueNumber | string | 否 | 技能组id |
| status | string | 否 | 呼叫状态 |
| callType | string[] | 否 | 呼叫类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| page | number | 否 | 页数 |
| pageSize | number | 否 | 每页条数,默认10000 |
| doubleTrackFileUrl | string | 双轨单文件路径 |
请求示例
curl -X POST \
http://v7openapi.7moor.com/openapi/v1/call/cdr/list \
-H 'Content-Type: application/json' \
-H 'm7-appkey: 2000144' \
-H 'm7-nonce: 609636' \
-H 'm7-sign: wUEGeVnHPLCYjznDd2op1+Ek+UCeUWLO365XNIhV/LQ=' \
-H 'm7-timestamp: 1616674605' \
-d '{
"startTime": "2021-03-25 00:27:33",
"endTime": "2021-03-26 19:27:33",
"uniqueId": "",
"callType": [],
"status": "ANSWER",
"agentNumber": "1121",
"displayNumber": "02258834811",
"trunkNumber": "",
"queueNumber": "",
"page": 1,
"pageSize": 6
}'
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| actionId | string | 动作id |
| agentAnswerTime | string | 座席接听应答时间 |
| agentAreacode | string | 座席区号 |
| agentCity | string | 座席城市 |
| agentCountry | string | 座席国籍 |
| agentCountryCode | string | 座席国家编号 |
| agentFileUrl | string | 座席侧录音 |
| agentNumber | string | 坐席工号 |
| agentProvince | string | 座席省份 |
| agentRingDuration | string | 座席振铃时间 座席应答时间-呼叫座席时间 |
| agentStartTime | string | 开始呼叫座席时间 |
| agentTelNumber | string | 座席电话号码 |
| agentTelType | string | 座席电话号码类型 |
| bridgeDuration | string | 通话时长 挂机时间-桥接时间 |
| bridgeTime | string | 桥接时间(呼入的话一般是播报完工号的时刻,外呼一般是用户应答的时刻) |
| callId | string | 发起者通道的callId |
| callType | string | Cdr类型 |
| createTime | string | 创建时间 |
| customerAnswerTime | string | 用户接听应答时间 |
| customerAreaCode | string | 用户地区区号 |
| customerCity | string | 用户城市 |
| customerCountry | string | 用户国籍 |
| customerCountryCode | string | 用户国籍编码 |
| customerFileUrl | string | 用户侧录音 |
| customerNumber | string | 用户号码 |
| customerNumberType | string | 用户号码类型 |
| customerProvince | string | 用户省份 |
| customerRingDuration | string | 用户振铃时长 呼入0 外呼:用户应答时间-呼叫用户时间 |
| customerStartTime | string | 开始呼叫用户时间 |
| displayNumber | string | 外显号码 |
| endTime | string | 通话结束时间 有满意度时是满意度结束时间 没有时是挂机时间 |
| failureReason | string | 失败原因 forbidden(禁止呼叫) serviceUnavailable(服务不可用) cancel(请求中止) requestTimeout(呼叫超时) unknow(未识别) decline(被叫未接听) |
| gatewayIP | string | 出局网关IP |
| hangUpSide | string | 挂机方 |
| hangupTime | string | 挂机时间 |
| hotLineNumber | string | 热线号码 |
| id | string | 自增id |
| ivrId | string | IVR资源ID |
| ivrTime | string | 进入IVR时间 |
| joinQueueTime | string | 进入队列时间 |
| satisfyKeys | string | 满意度按键值记录 |
| loginType | string | 登录类型 |
| playNumberDuration | string | 拨工号时长 拨工号结束时间-拨工号开始时间 |
| queueNumber | string | 队列编号 |
| recordFileUrl | string | 录音文件地址 |
| recordType | string | 录音文件类型 normal(普通) doubleTrack(双轨) voiceMail(留言) |
| recordingDuration | string | 录音文件时长 |
| satisfyDuration | string | 满意度时长 |
| satisfyEndTime | string | 满意度结束时间 |
| satisfyIvrId | string | 满意度调查的IVR资源ID |
| satisfyStartTime | string | 满意度开始时间 |
| sipCode | string | 呼叫情况 SIP响应码 |
| startTime | string | 呼叫开始时间 |
| status | string | 接听状态 IVR:IVR节点 没有进技能组或座席接听 QUEUE_ABANDON:排队放弃、进入技能组 没有分配到座席 ANSWER:已接听 AGENT_NO_ANSWER:座席未接听 CUSTOMER_NO_ANSWER:外呼型用户未接听 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
| systemAnswerTime | string | 系统接听应答时间 |
| taskId | string | 任务id |
| totalDuration | string | 总呼叫时长(含满意度调查,不含咨询/转移/会议) 计算公式: 结束时间-呼叫开始时间 |
| trunkNumber | string | 中继号码 (呼入时的被叫) |
| virtualNumber | string | 虚拟号码,X号码 (AXB外呼时的主叫) |
| waitDuration | string | 等待时长 |
| ivrName | string | IVR资源名称 |
| queueName | string | 队列名称 |
| agentName | string | 座席名称 |
| agentId | string | 座席id |
| matchResult | string | 正则匹配结果 |
| customerId | string | 用户id |
| customerName | string | 用户名称 |
| _id | string | 主键id |
| saveTime | string | 保存时间 |
| uniqueId | string | 唯一标识 |
| extras | Object | 外呼自定义参数 |
| groupIdList | string[] | 外显号组id |
| groupNameList | string[] | 外显号组名称 |
| doubleTrackFileUrl | string | 双轨单文件路径 |
| voiceMailUrl | string | 留言录音路径 |
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"list": [
{
"billCalls": [
"2021-03-25 19:54:44|2021-03-25 19:54:52|2021-03-25 19:55:07|agent|02258834811|18518475260|1121|mobileInternal|86|022|天津|86|010|北京|out-bound-call-agent|PSTN",
"2021-03-25 19:54:52|2021-03-25 19:55:00|2021-03-25 19:55:07|customer|02258834811|17319132391||mobileInternal|86|022|天津|86|010|北京|out-bound-customer|null"
],
"doubleTrackFileUrl":"https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210429/2100147-20210429135657-15954685381-02136182026-8029-0-400072268006297600-doubleTrack-in.mp3",
"recordingDuration": 7,
"failureReason": 0,
"hangUpSide": "AGENT",
"cdrType": "callRecord",
"recordType": "doubleTrack",
"recordFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2000144/normal/20210325/2000144-20210325195500-17319132391-02258834811-1121-0-387478792353878016-normal.mp3",
"keys": [],
"waitDuration": 0,
"satisfyDuration": 0,
"bridgeDuration": 7,
"totalDuration": 23,
"playNumberDuration": 0,
"customerRingDuration": 8,
"agentRingDuration": 8,
"queueName": "",
"queueNumber": "",
"agentName": "婷",
"agentNumber": "1121",
"agentId": "6038c834327bd300213713fe",
"status": "ANSWER",
"virtualNumber": "",
"displayNumber": "02258834811",
"trunkNumber": "",
"matchResult": "000",
"customerName": "",
"customerId": "",
"_id": "387478792353878016",
"accountId": "2000144",
"agentAnswerTime": "2021-03-25 19:54:52",
"agentCity": "北京",
"agentCountry": "中国",
"agentCountryCode": "86",
"agentFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210421/2100147-20210421210146-18616379628-02258834888-2000-0-397280095749804032-doubleTrack-in.mp3"
"agentProvince": "北京",
"agentStartTime": "2021-03-25 19:54:44",
"applicationId": "",
"bridgeTime": "2021-03-25 19:55:00",
"callType": "dialout",
"createTime": "2021-03-25 19:55:08",
"customerAnswerTime": "2021-03-25 19:55:00",
"customerCity": "北京",
"customerCountry": "中国",
"customerCountryCode": "86",
"customerFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210421/2100147-20210421210146-18616379628-02258834888-2000-0-397280095749804032-doubleTrack-out.mp3"
"customerNumber": "17319132391",
"customerNumberType": "mobile",
"customerProvince": "北京",
"customerStartTime": "2021-03-25 19:54:52",
"endTime": "2021-03-25 19:55:07",
"hangupTime": "2021-03-25 19:55:07",
"ivrId": "",
"ivrTime": "",
"joinQueueTime": "",
"satisfyEndTime": "",
"satisfyStartTime": "",
"startTime": "2021-03-25 19:54:44",
"systemAnswerTime": "2021-03-25 19:54:52",
"taskId": "",
"ivrName": "",
"saveTime": "2021-03-25 19:55:07",
"__v": 0
}
],
"count": 1
},
"requestInfo": {
"requestId": "73b2dd408d6411eb9da059ea2c823df9",
"url": "/openapi/v1/call/cdr/list",
"proxyUrl": "http://v7-call/call/openapi/v1/call/cdr/list",
"body": {
"startTime": "2021-03-25 00:27:33",
"endTime": "2021-03-26 19:27:33",
"uniqueId": "",
"callType": [],
"status": "ANSWER",
"agentNumber": "1121",
"displayNumber": "02258834811",
"trunkNumber": "",
"queueNumber": "",
"page": 1,
"pageSize": 6
},
"headers": {
"host": "v7openapi.7moor.com",
"x-request-id": "62cc491b4bd46f0d0f68443ed67abb31",
"x-real-ip": "111.202.78.82",
"x-forwarded-for": "111.202.78.82",
"x-forwarded-proto": "http",
"x-forwarded-host": "v7openapi.7moor.com",
"x-forwarded-port": "80",
"x-scheme": "http",
"x-original-forwarded-for": "111.202.78.82",
"content-length": "287",
"x-stgw-time": "1616674814.229",
"x-client-proto": "http",
"x-client-proto-ver": "HTTP/1.1",
"m7-appkey": "2000144",
"m7-nonce": "609636",
"m7-timestamp": "1616674605",
"m7-sign": "wUEGeVnHPLCYjznDd2op1+Ek+UCeUWLO365XNIhV/LQ=",
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.20.1",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "ace05c6e-6d85-43a1-8d61-4a91ddcc8ba4",
"accept-encoding": "gzip, deflate",
"traceId": "73b2dd408d6411eb9da059ea2c823df9",
"accountId": "2000144"
},
"span": {
"requestStartTime": 1616674814229,
"proxyStartTime": 1616674814230,
"proxyEndTime": 1616674814255,
"reqEndTime": 1616674814256,
"bizSpan": "25ms",
"latency": "2ms"
}
}
}
2.14 双向回呼
推送参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
|---|---|---|---|
| actionId | string | 是 | 请求的唯一标识 允许用户自定义关联数据 |
| callerNumber | string | 是 | 第一被叫号码 |
| callerTimeout | number | 是 | 第一被叫呼叫超时,不填默认120s |
| callerDisplayNumber | string | 是 | 呼叫第一被叫使用的外显号码 |
| calleeNumber | string | 是 | 第二被叫号码 |
| calleeType | string | 是 | 第二被叫类型,number(外线)、ivrId(IVR节点)、agentNumber(坐席),三选一 |
| calleeTimeout | string | 否 | 第二被叫呼叫超时,不填默认60s |
| calleeDisplayNumber | string | 是 | 呼叫第二被叫使用的外显号码,仅calleeType为number、agentNumber时生效 |
| extras | string | 否 | 自定义参数 |
推送示例
curl --location --request POST 'http://v7openapi.7moor.com/openapi/v1/call/webcall' \
--header 'm7-appkey: 2100147' \
--header 'm7-nonce: 025513' \
--header 'm7-sign: lmwwrahWCRO0x+3DhlMMVgB2V5ytUXp5GxbLTW9wOig=' \
--header 'm7-timestamp: 1924260441' \
--header 'content-type: application/json' \
--data-raw '{
"actionId": "9499303062290909090",
"callerNumber": "17319132391",
"callerTimeout": 2000,
"callerDisplayNumber": "",
"calleeNumber": "18381051957",
"calleeType": "number",
"calleeTimeout": 120,
"calleeDisplayNumber": "01081400192",
"extras": {
"name": "zhangsan"
}
}'
返回示例
{
"success": true,
"code": "200",
"message": "requestSuccess",
"data": {
"code": 200,
"startTime": "2021-10-20 10:26:06.564",
"endTime": "2021-10-20 10:26:08.266",
"timezone": "UTC+8",
"version": "2020102501",
"request": {
"requestId": "14504350314d11ec92fe8fe61cdcf082"
},
"response": {
"data": {
"mediaServer": "172.31.15.8:11100"
},
"message": "call-api-server-ok"
},
"message": "call-api-server-ok",
"actionId": "14504350314d11ec92fe8fe61cdcf082"
},
"requestInfo": {
"requestId": "14504350314d11ec92fe8fe61cdcf082",
"url": "/openapi/v1/call/webcall",
"proxyUrl": "http://v7openapi.7moor.com/openapi/v1/call/webcall",
"body": {
"actionId": "123",
"callerNumber": "17319132391",
"callerTimeout": 2000,
"callerDisplayNumber": "90123",
"calleeNumber": "17319132391",
"calleeType": "number",
"calleeTimeout": 120,
"calleeDisplayNumber": "45646",
"extras": "123123"
},
"span": {
"requestStartTime": 1634696766469,
"proxyStartTime": 1634696766471,
"proxyEndTime": 1634696768270,
"reqEndTime": 1634696768271,
"bizSpan": "1799ms",
"latency": "3ms"
}
}
}
3 事件推送接口
3.1 外呼振铃事件
接口说明
外呼座席侧振铃时推送相关信息,常用于处理外呼弹屏 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| extras | Object | 外呼自定义参数 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
推送示例
{
"eventUniqueId": "8757e994f19040749c5b194faaf21c78",
"accountId": "20000153",
"callUniqueId": "403344537650466816",
"pushType": "dialoutRing",
"customerNumber": "17319132391",
"trunkNumber": "",
"displayNumber": "01081400192",
"statusTime": "1620455977",
"callEvent": "ring",
"callType": "dialout",
"agentNumber": "20001",
"agentName": "sc的坐席",
"extras": ""
}
3.2 外呼挂机事件
接口说明
外呼通话结束后推送相关信息 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
| extras | Object | 外呼自定义参数 |
| groupIdList | string[] | 外显号组id |
| groupNameList | string[] | 外显号组名称 |
推送示例
{
"eventUniqueId": "372e1067da2c40248d8f24425f2f5273",
"accountId": "20000153",
"callUniqueId": "403344537650466816",
"pushType": "dialoutHangup",
"customerNumber": "17319132391",
"trunkNumber": "",
"displayNumber": "01081400192",
"statusTime": "1620455987",
"callEvent": "hangup",
"callType": "dialout",
"agentNumber": "20001",
"extras": "",
"agentName": "sc的坐席",
"groupIdList": [""],
"groupNameList": [""]
}
3.3 来电振铃事件
接口说明
外呼通话结束后推送相关信息 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| extras | Object | 外呼自定义参数 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
推送示例
{
"eventUniqueId": "e454d40def4d47ee9d7a76aba5d6cbb7",
"accountId": "20000153",
"callUniqueId": "403344537650466816",
"pushType": "callStatus",
"customerNumber": "17319132391",
"trunkNumber": "",
"displayNumber": "01081400192",
"statusTime": "1620455972",
"callEvent": "calling",
"callType": "dialout",
"agentNumber": "20001",
"agentName": "sc的坐席",
"statusName": "呼叫中",
"statusNumber": "2",
"extras": ""
}
3.4 来电挂机事件
接口说明
外呼通话结束后推送相关信息 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| extras | Object | 外呼自定义参数 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
推送示例
{
"accountId":"2000100",
"superUniqueId":"393928840994361344",
"customerNumber":"17319132391",
"trunkNumber":"01080455499",
"displayNumber":"",
"statusTime":"1607944355",
"callEvent":"hangup",
"callType":"incoming",
"agentNumber":"2000",
"agentName":"默认坐席"
"eventUniqueId":"e454d40def4d47ee9d7a76aba5d6cbb7",
"callUniqueId":"403344537650466816"
}
3.5 通话记录推送事件
接口说明
来电和外呼结束,生成通话记录后产生的推送,常用于实时接收通话信息,保存通话记录时使用。 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| actionId | string | 动作id |
| agentAnswerTime | string | 座席接听应答时间 |
| agentAreacode | string | 座席区号 |
| agentCity | string | 座席城市 |
| agentCountry | string | 座席国籍 |
| agentCountryCode | string | 座席国家编号 |
| agentFileUrl | string | 座席侧录音 |
| agentNumber | string | 坐席工号 |
| agentProvince | string | 座席省份 |
| agentRingDuration | string | 座席振铃时间 座席应答时间-呼叫座席时间 |
| agentStartTime | string | 开始呼叫座席时间 |
| agentTelNumber | string | 座席电话号码 |
| agentTelType | string | 座席电话号码类型 |
| bridgeDuration | string | 通话时长 挂机时间-桥接时间 |
| bridgeTime | string | 桥接时间(呼入的话一般是播报完工号的时刻,外呼一般是用户应答的时刻) |
| callId | string | 发起者通道的callId |
| callType | string | Cdr类型 |
| createTime | string | 创建时间 |
| customerAnswerTime | string | 用户接听应答时间 |
| customerAreaCode | string | 用户地区区号 |
| customerCity | string | 用户城市 |
| customerCountry | string | 用户国籍 |
| customerCountryCode | string | 用户国籍编码 |
| customerFileUrl | string | 用户侧录音 |
| customerNumber | string | 用户号码 |
| customerNumberType | string | 用户号码类型 |
| customerProvince | string | 用户省份 |
| customerRingDuration | string | 用户振铃时长 呼入0 外呼:用户应答时间-呼叫用户时间 |
| customerStartTime | string | 开始呼叫用户时间 |
| displayNumber | string | 外显号码 |
| endTime | string | 通话结束时间 有满意度时是满意度结束时间 没有时是挂机时间 |
| failureReason | string | 失败原因 forbidden(禁止呼叫) serviceUnavailable(服务不可用) cancel(请求中止) requestTimeout(呼叫超时) unknow(未识别) decline(被叫未接听) |
| gatewayIP | string | 出局网关IP |
| hangUpSide | string | 挂机方 |
| hangupTime | string | 挂机时间 |
| hotLineNumber | string | 热线号码 |
| id | string | 自增id |
| ivrId | string | IVR资源ID |
| ivrTime | string | 进入IVR时间 |
| joinQueueTime | string | 进入队列时间 |
| satisfyKeys | string | 满意度按键值记录 |
| loginType | string | 登录类型 |
| playNumberDuration | string | 拨工号时长 拨工号结束时间-拨工号开始时间 |
| queueNumber | string | 队列编号 |
| recordFileUrl | string | 录音文件地址 |
| recordType | string | 录音文件类型 normal(普通) doubleTrack(双轨) voiceMail(留言) |
| recordingDuration | string | 录音文件时长 |
| satisfyDuration | string | 满意度时长 |
| satisfyEndTime | string | 满意度结束时间 |
| satisfyIvrId | string | 满意度调查的IVR资源ID |
| satisfyStartTime | string | 满意度开始时间 |
| sipCode | string | 呼叫情况 SIP响应码 |
| startTime | string | 呼叫开始时间 |
| status | string | 接听状态 IVR:IVR节点 没有进技能组或座席接听 QUEUE_ABANDON:排队放弃、进入技能组 没有分配到座席 ANSWER:已接听 AGENT_NO_ANSWER:座席未接听 CUSTOMER_NO_ANSWER:外呼型用户未接听 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
| systemAnswerTime | string | 系统接听应答时间 |
| taskId | string | 任务id |
| totalDuration | string | 总呼叫时长(含满意度调查,不含咨询/转移/会议) 计算公式: 结束时间-呼叫开始时间 |
| trunkNumber | string | 中继号码 (呼入时的被叫) |
| virtualNumber | string | 虚拟号码,X号码 (AXB外呼时的主叫) |
| waitDuration | string | 等待时长 |
| ivrName | string | IVR资源名称 |
| queueName | string | 队列名称 |
| agentName | string | 座席名称 |
| agentId | string | 座席id |
| matchResult | string | 正则匹配结果 |
| customerId | string | 用户id |
| customerName | string | 用户名称 |
| _id | string | 主键id |
| saveTime | string | 保存时间 |
| uniqueId | string | 唯一标识 |
| extras | Object | 外呼自定义参数 |
| groupIdList | string[] | 外显号组id |
| groupNameList | string[] | 外显号组名称 |
| doubleTrackFileUrl | string | 双轨单文件路径 |
| voiceMailUrl | string | 留言录音路径 |
推送示例
{
"callUniqueId": "403344537650466816",
"accountId": "2100147",
"pushType":"cdr",
"actionId": "",
"agentAnswerTime": "2021-05-08 14:39:37",
"agentAreaCode": "010",
"agentCity": "北京",
"agentCountry": "中国",
"agentCountryCode": "86",
"agentFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210508/2100147-20210508143942-17319132391-01081400192-20001-0-403344537650466816-doubleTrack-out.mp3",
"agentNumber": "20001",
"agentProvince": "北京",
"agentRingDuration": 5,
"agentStartTime": "2021-05-08 14:39:32",
"agentTelNumber": "18519117865",
"agentTelType": "mobile",
"applicationId": "",
"billCalls": ["2021-05-08 14:39:32|2021-05-08 14:39:37|2021-05-08 14:39:47|agent|01081400192|18519117865|20001|mobileInternal|86|010|北京|86|010|北京|out-bound-call-agent|PSTN", "2021-05-08 14:39:37|2021-05-08 14:39:42|2021-05-08 14:39:47|customer|01081400192|17319132391||mobileInternal|86|010|北京|86|010|北京|out-bound-customer|null"],
"bridgeDuration": 5,
"bridgeTime": "2021-05-08 14:39:42",
"callId": "635be250-10e9-4c60-93f7-32479dfe85e1",
"callType": "dialout",
"cdrType": "callRecord",
"createTime": "2021-05-08 14:39:48",
"customerAnswerTime": "2021-05-08 14:39:42",
"customerAreaCode": "010",
"customerCity": "北京",
"customerCountry": "中国",
"customerCountryCode": "86",
"customerFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210508/2100147-20210508143942-17319132391-01081400192-20001-0-403344537650466816-doubleTrack-in.mp3",
"customerNumber": "17319132391",
"customerNumberType": "mobile",
"customerProvince": "北京",
"customerRingDuration": 5,
"customerStartTime": "2021-05-08 14:39:37",
"displayNumber": "01081400192",
"doubleTrackFileUrl": "",
"endTime": "2021-05-08 14:39:47",
"extras": "",
"gatewayIP": "172.31.15.12:32766",
"hangUpSide": "AGENT",
"hangupTime": "2021-05-08 14:39:47",
"hotLineNumber": "",
"ivrId": "",
"ivrTime": "",
"joinQueueTime": "",
"loginType": "PSTN",
"playNumberDuration": 0,
"queueNumber": "",
"recordFileUrl": "https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210508/2100147-20210508143942-17319132391-01081400192-20001-0-403344537650466816-doubleTrack.mp3",
"recordType": "doubleTrack",
"recordingDuration": 5,
"satisfyDuration": 0,
"satisfyEndTime": "",
"satisfyIvrId": "",
"satisfyStartTime": "",
"sipCode": 200,
"startTime": "2021-05-08 14:39:32",
"status": "ANSWER",
"systemAnswerTime": "2021-05-08 14:39:37",
"taskId": "",
"totalDuration": 15,
"trunkNumber": "",
"virtualNumber": "",
"waitDuration": 0,
"ivrName": "",
"queueName": "",
"agentName": "sc的坐席",
"agentId": "6094f5aa696609001197e4b9",
"matchResult": "000",
"customerId": "",
"customerName": "",
"saveTime": "2021-05-08 14:39:48",
"groupIdList": ["60541bbf4aab2c0021278ad2", "605be962a342660011ecc5af"],
"groupNameList": ["分组1", "分组2"],
"eventUniqueId": "0db0948a14ea4b7eaa719f1f2501d142",
"satisfyKeys": [],
"voiceMailUrl":"https://v7call-1256921685.cos.ap-beijing.myqcloud.com/v7-call-recording-beta/2100147/doubleTrack/20210508/2100147-20210508143942-17319132391-01081400192-20001-0-403344537650466816-doubleTrack.mp3"
}
3.6 用户接通事件
接口说明
外呼 来电通话接通后推送相关信息 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| content | object | 发送内容 |
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| extras | Object | 外呼自定义参数 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
推送示例
{"content":
{
"accountId":"2100147",
"superUniqueId":"393928840994361344",
"customerNumber":"15201277786",
"trunkNumber":"",
"displayNumber":"02258834811",
"statusTime":"1616638064",
"callEvent":"link",
"callType":"dialout",
"extras":"",
"agentNumber":"1121",
"agentName":"1121"
},
"uniqueId":"92fe6e957421411c9343fdef75411ca1"
}
3.7 坐席状态变化事件
接口说明
坐席登录通话接通等状态推送相关信息 配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| customerNumber | string | 用户号码 |
| trunkNumber | string | 服务号 |
| displayNumber | string | 外显号码 |
| statusTime | string | 状态开始时间 |
| callEvent | string | 事件类型 呼叫:calling,振铃:ring,接通:link,挂机:hangup |
| callType | string | 通话类型 呼入:incoming,外呼:dialout,webcall,预览外呼:previewDialout,自动外呼:autoDialout |
| agentNumber | string | 坐席工号 |
| agentName | string | 座席名称 |
| statusName | string | 坐席状态(0:空闲、1:忙碌、2:呼叫中、3:振铃、4:通话中、5:整理、6:保持、7:静音、8:未连接、9:失效、100之后为自定义) |
| statusNumber | string | 座席状态编号 |
| extras | Object | 外呼自定义参数 |
| callUniqueId | string | 通话id |
| eventUniqueId | string | 事件id |
推送示例
// 普通坐席状态变化事件
{
"eventUniqueId": "9a25c35ab7fe4adebb2c1462ca15635e",
"accountId": "20000153",
"callUniqueId": "403344537650466816",
"pushType": "callStatus",
"customerNumber": "17319132391",
"trunkNumber": "",
"displayNumber": "01081400192",
"statusTime": "1620455987",
"callEvent": "hangup",
"callType": "dialout",
"agentNumber": "20001",
"agentName": "sc的坐席",
"statusName": "整理",
"statusNumber": "5",
"extras": ""
}
// 特殊坐席状态变化事件(包含通话事件)
{
"eventUniqueId": "fbc13d07ddff4649bc1ca6d636a915b4",
"accountId": "20000153",
"callUniqueId": "403344537650466816",
"pushType": "callStatus",
"customerNumber": "17319132391",
"trunkNumber": "",
"displayNumber": "01081400192",
"statusTime": "1620455982",
"callEvent": "link",
"callType": "dialout",
"agentNumber": "20001",
"agentName": "sc的坐席",
"statusName": "通话中",
"statusNumber": "4",
"extras": ""
}
3.8 媒体识别挂机原因事件
接口说明
账户开启前媒体识别功能后,当出现拒接挂机事件时,进行推送
配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。
支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| callUniqueId | string | 主键 通话记录id |
| accountId | string | 账户编号 |
| pushType | string | 推送类型 |
| preMediaFailureReason | string | 失败原因 |
| preMediaCode | number | 结果编码 |
| preMediaKeyWord | string | 关键词 |
| eventUniqueId | string | 事件id |
content.segments 对象
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| beginTime | number | 该句的起始时间偏移,单位为毫秒 |
| endTime | number | 该句的结束时间偏移,单位为毫秒 |
| channelId | number | 该句所属音轨ID |
| text | string | 该句的识别文本结果 |
推送示例
{
"eventUniqueId": "88c15955242645b485e902ec077acc52",
"accountId": "20000153",
"callUniqueId": "403381132931895296",
"pushType": "mediaFailreason",
"agentNumber": "2001",
"preMediaFailureReason": "onThePhone",
"preMediaCode": 15,
"preMediaKeyWord": "正在通话"
}
3.9 电话条登陆状态事件
接口说明
作为座席状态变化事件的补充,座席电话条的登陆或登出状态的推送。
配置方式:登录系统后,在设置-系统设置-对接设置-事件推送中添加推送地址。 支持推送至多个地址
推送参数
| 字段名称 | 字段类型 | 字段描述 |
|---|---|---|
| accountId | string | 账户编号 |
| agentNumber | string | 座席工号 |
| agentName | string | 座席名称 |
| statusTime | string | 状态开始时间 |
| loginType | string | 座席登陆方式(登陆的时候才存在) PSTN(手机)/WEBRTC(软电话)/SIP(sip号码) |
| eventUniqueId | string | 事件id |
| pushType | string | 事件类型 登陆login 登出logout |
| offlineType | string | 离线接听方式 PSTN(手机)/SIP(sip号码) |
| logoutType | string | 登出方式(登出的时候才存在) normal(普通方式)、offline(离线接听方式) |
推送示例
登陆推送示例
{
"eventUniqueId":"bf6dc33761c34272800c7c8256f53c5a",
"accountId":"2000103",
"pushType":"login",
"loginType":"PSTN",
"statusTime":"2021-07-22 18:06:48",
"agentNumber":"9998",
"agentName":"XXX"
}
登出
{
"eventUniqueId":"1278cc942e7544858b36a4588880e24a",
"accountId":"2000103",
"pushType":"logout",
"logoutType":"normal",
"statusTime":"2021-07-22 18:06:55",
"agentNumber":"9998",
"agentName":"XX"
}
3 接口限流说明
为防止接口调用请求过频带来的风险,接口请求具有限流机制 账户限流:20次/分
4 错误码
说明
v7 联络云系统接口通话/座席相关错误码
| 错误编码 | 中文信息 | 英文信息 | 错误原因 | 解决方案 |
|---|---|---|---|---|
| 6700 | 获取座席在线状态失败 请联系管理员 | get agent online status fail | 服务内部异常 | 发生此问题 请联系管理员 |
| 6701 | 座席不存在 请选择正确的座席 | agent no found | 账户下不存在该座席 | 请在登录时确保工号无误 |
| 6702 | 座席已被停用 请选择启用的座席 | agent is disable | 座席被停用 | 请在v7系统中重新启用座席或选择启用的座席 |
| 6703 | 座席已被删除 请选择正确的座席 | agent is delete | 座席被删除 | 目前v7系统中没有删除座席的按钮 该错误不会出现 |
| 6704 | 占用licence失败 账户所属席位不足 | agent occupy fail | 账户下licence数量不足 | 1. 在计费购买更多该座席版本的licence数量 2. 登录其他有数量的版本座席 3. 下线其他同版本座席 |
| 6705 | 座席获取通话能力失败 请联系管理员 | agent online fail | 服务内部异常 | 发生此问题 请联系管理员 |
| 6706 | 请求头m7-appkey不存在 | no found accountId | 请求头m7-appkey不存在 | 请在请求头中添加m7-appkey参数 |
| 6707 | 请求体座席工号不存在 | no found agentNumber | 请求体座席工号未传 | 部分接口是需要在请求体中添加agentNumber来定位座席的 请在请求体中传递该参数 |
| 6708 | 座席未登录 请登录座席 | agent must login | openApi或web端座席不在线 | 需要上线openApi或web端才能正常使用通话能力 |
| 6709 | 座席置忙失败 请联系管理员 | agent use busy fail | 服务内部异常 | 发生此问题 联系管理员 |
| 6710 | 座席置闲失败 请联系管理员 | agent use rest fail | 服务内部异常 | 发生此问题 联系管理员 |
| 6711 | 座席登录状态非法 必须属于PSTN,SIP,WEBRTC的一种 | agent loginType must in PSTN,SIP,WEBRTC | 座席登录状态错误 | 请按照文档中提供的字段进行传递 |
| 6712 | 座席未在通话中 | agent not calling | 座席必须在通话中,保持,静音状态下才可以使用保持,取消保持,静音,取消静音接口 | 在调用保持或静音时,请校验当前通话状态 |
| 6713 | 座席正在通话中 请勿重复外呼 | agent is calling | 外呼状态下无法重复外呼 | 在外呼时,请校验当前通话状态 |
| 6714 | 座席正在通话中 请勿更换状态 | agent not change status | 通话中无法切换座席状态 | 在切换座席状态时,请校验当前通话状态 |
| 6715 | 座席未在通话中 无法挂机 | unable to hangUp | 不在通话中的座席无法挂机 | 在挂机时,请校验是否在通话中 |
| 6716 | 座席绑定状态无效 必须属于PSTN,SIP的一种 | agent bindType must in PSTN,SIP | 绑定的号码状态不属于SIP或PSTN | 请传递文档中指定的绑定状态 |
| 6717 | 账户不存在 | account no found | 账户编号在v7平台中不存在 | 请确保请求头中的m7-appkey是有效的账户编号 |
| 6718 | 账户已停用 | account disable | 账户已被停用 | 发生此问题 请联系管理员 |
| 6719 | 同步座席失败 | update agent fail | 服务内部异常 | 发生此问题 请联系管理员 |
| 6720 | 同步座席SIP号失败 | sync sipNumber fail | 服务内部异常 | 发生此问题 请联系管理员 |
| 6721 | 座席手机号重复 | agent mobile repeat | 同一个账户下的座席手机号不可以重复 | 1. 绑定其他手机号 2. 将相同座席的手机号去除后再绑定 |
| 6722 | SIP号未注册 无法绑定 | sip not register | 座席绑定的SIP号码必须是已注册且未绑定的 | 1. 选择已注册且未被座席绑定的SIP号 2. 添加新的SIP号进行注册绑定 |
| 6723 | 报表查询最大支持3个月 | report max month | 查询外呼号码接通率报表的时间间隔太长 | 请选择小于或等于三个月的时间间隔进行查询 |
| 6724 | 外呼规则参数只支持0,1 0(随机) 1(地区) | dialOut rule must in 1,2 | 外呼指定外呼策略的参数格式错误 | 请传递文档中指定格式 |
| 6725 | 外呼回调参数长度超出150个字符的长度 | dialOut extras beyond | 外呼时指定的extras参数过长 | 请传递小于255个字节数的自定义信息 |
| 6726 | 风控服务异常 | risk control service exception | 服务内部异常 | 发生此问题 请联系管理员 |
| 6727 | 风控禁止外呼 | risk control dialout forbidden | 外呼频率过高导致号码被风控 | 1. 降低该号码的外呼频率 2. 使用其他的外呼号码 |
| 6728 | 风控外呼提醒 | risk control dialout warning | 外呼频率过高 即将被风控 | 1. 降低该号码的外呼频率 2. 使用其他的外呼号码 3. 继续外呼 但可能会被风控导致无法外呼 |
| 6730 | 坐席已锁定 请联系管理员解除锁定 | agent is lock, please contact admin | 连续输入多次错误密码导致的座席锁定 | 发生此问题 请联系管理员 |
| 6731 | 无法定位座席 缺少座席id或座席工号 | agentId and agentNumber no found | 接口中未传递座席id或座席工号 | 请传递文档中指定格式 |
| 6732 | 角色参数类型无效 | role invalid param | 创建座席时指定的角色id参数类型错误 | 请使用角色列表中的id进行创建 |
| 6733 | 呼叫开始时间和呼叫结束时间必填 | startTime and endTime must need | 查询外呼号码接通率报表没有指定开始和结束时间 | 请传递开始和结束时间字段 |
| 6734 | 呼叫开始时间或呼叫结束时间格式错误 | startTime or endTime format error | ||
| 6734 | 通话记录查询最大支持10000条 | query cdr list max count 10000 | ||
| 2017 | 转换extras参数失败 请检查extras参数格式 | conver extras to json fail | 服务内部异常 | 发生此问题 请联系管理员 |
| 2020 | 该座席所属版本不具备通话能力或该座席所属版本不具备在线咨询能力 | lack of call_toolbar permission or lack of im_change permission | 该座席所属版本不具备通话能力或该座席所属版本不具备在线咨询能力 | 请使用正确的licence版本座席进行登录 |
| 2021 | 帐户余额不足 | account balance not enough | 账户余额不足 无法进行外呼 | 请联系管理员缴费 |
v7 联络云系统接口其他错误码
| 错误编码 | 中文信息 | 英文信息 | 错误原因 | 解决方案 |
|---|---|---|---|---|
| 50001 | 路由不存在 | route not found | 请求接口的路径错误 | 请检查接口路径是否和文档中描述的一致 |
| 50002 | 鉴权失败 | auth failed | 令牌校验算法错误 | 请参阅提供的代码示例进行令牌加密 |
| 50006 | 服务不存在,请检查service配置 | server not found | 请求接口的服务错误 | 请检查接口路径是否和文档中描述的一致 |
| 50007 | 请求远程服务出错 | request server error | 服务内部异常 | 发生此问题 请联系管理员 |
| 50008 | 远程地址不存在 | remote addr 404 | 请求接口的路径错误 | 请检查接口路径是否和文档中描述的一致 |
| 50009 | 远程请求未知错误 | remote addr error | 服务内部异常 | 发生此问题 请联系管理员 |
| 50010 | 请求超过频率限制 | limit error | 请求频次过高 | 请降低请求频次 |
| 50012 | headers: m7-appkey错误 | headers appkey error | 请求头m7-appkey不存在 | 请在请求头中添加m7-appkey参数 |
| 50013 | headers: m7-timestamp错误 | headers timestamp error | 请求头m7-timestamp不存在 | 请在请求头中添加m7-timestamp参数 |
| 50014 | 该请求已过时 | headers timestamp overtime | m7-timestamp有效期为五分钟 | 请及时刷新m7-timestamp时间戳 |
| 50015 | headers: m7-sign错误 | headers sign error | 令牌校验算法错误 | 请参阅提供的代码示例进行令牌加密 |
| 50016 | headers: m7-nonce错误 | headers nonce error | 随机数不等于6位数 | 请传递6位数随机数 |
| 50018 | sk配置未找到 | sk not found | 企业密钥不存在 | 请使用正确的账户密钥 |
| 50019 | 请输入10位秒级时间戳 | timestamp timeout | m7-timestamp格式错误 | 请传递十位时间戳 |
| 50020 | 频率超限 | account route limited | 请求频次过高 | 请降低请求频次 |
| 40000 | 参数异常 | param error | 未按照文档指定的参数格式进行传递 导致在服务中校验失败 | 请传递文档指定的参数格式 |