[英]How to find the callerStatus and calleeStatus for RingCentral calls?
如何获取过去通话的通话状态?
我想获取在 RingOut Status API 响应中看到的callerStatus
和calleeStatus
状态,但我不确定在 URL 路径中用于ringOutId
的内容:
https://developer.ringcentral.com/api-reference#RingOut-getRingOutCallStatus
要求
GET /restapi/v1.0/account/400162076008/extension/400162076009/ring-out/Y3MxNzE4NDkyODg0NDM5MDJAMTAuNjIuMjkuMzM
回复
HTTP 200 OK
{
"uri" : "https://platform.ringcentral.com/restapi/v1.0/account/400162076008/extension/400162076009/ring-out/2",
"id" : "Y3MxNzE4NDkyODg0NDM5MDJAMTAuNjIuMjkuMzM",
"status" : {
"callStatus" : "Success",
"callerStatus" : "Success",
"calleeStatus" : "Success"
}
}
在没有ringOutId
情况下进行 RingOut Status 呼叫时,我希望获得呼叫列表,但我收到以下错误:
Resource for parameter [ringOutId] is not found
我用什么ringOutId
? 如何获取呼叫的callerStatus
和calleeStatus
?
RingOut 状态 API 仅在通过 RingOut 拨打电话时使用。 ringOutId
在 Make RingOut API 的响应中返回。 它也只在调用过程中和短时间内返回状态,之后,它将返回 404。
API 参考: https : //developer.ringcentral.com/api-reference#RingOut-makeRingOutCall
要获取历史呼叫的呼叫状态,请使用 Call Log API。 默认情况下,服务将在result
属性中返回整体调用的状态。 要获取通话中各个方的状态(称为支路),请使用详细通话记录 API。 以下 URL 可用:
公司通话记录(所有用户)
GET /restapi/v1.0/account/~/call-log?view=Detailed
https://developer.ringcentral.com/api-reference#Call-Log-loadCompanyCallLog
用户分机通话记录
GET /restapi/v1.0/account/~/extension/~/call-log?view=Detailed
https://developer.ringcentral.com/api-reference#Call-Log-loadUserCallLog
使用详细视图,您将收到带有legs
属性的响应,这是一组呼叫日志记录,也称为呼叫详细记录 (CDR) 。 下面显示了一个示例记录。 legs
数组中的每个调用都有一个result
属性。 result
而不是状态,因为呼叫日志仅列出已完成的呼叫。 每条腿都有一个legType
属性,可用于识别调用者和被调用者。
例如, legType
可以设置为:
RingOutClientToCaller
RingOutClientToSubscriber
RingOutClientToSubscriber
可用于calleeStatus
。 这给了我们:
callerStatus
= leg.result
where leg.legType == 'RingOutClientToCaller'
calleeStatus
= leg.result
where leg.legType == 'RingOutClientToSubscriber'
注意: CDR 可能只有一条腿。 如果
result
是Busy
就会发生这种情况。 在 RingOut 中,如果一方忙,不呼叫另一方可能是一种优化。 很多时候,我们的客户会先使用 RingOut 给他们的员工打电话,如果员工接听,再给客户打电话。 如果员工不在,就没有理由打电话给客户并让他们听忙音。
这是一个响应呼叫日志记录示例:
{
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/727097016/extension/727097016/call-log/L6HbCN6tB1nyDUA?view=Detailed",
"id": "L6HbCN6tB1nyDUA",
"sessionId": "575838550017",
"startTime": "2018-11-22T08:42:05.500Z",
"duration": 19,
"type": "Voice",
"direction": "Outbound",
"action": "RingOut PC",
"result": "Call connected",
"to": {
"phoneNumber": "+12125550111",
"name": "Daenerys Targaryen",
},
"from": {
"phoneNumber": "+16505550101",
"name": "John Snow"
},
"extension": {
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/727097016/extension/727097016",
"id": 727097016
},
"transport": "PSTN",
"lastModifiedTime": "2018-11-22T08:42:30.007Z",
"billing": {
"costIncluded": 0.0,
"costPurchased": 0.0
},
"legs": [
{
"startTime": "2018-11-22T08:42:05.257Z",
"duration": 20,
"type": "Voice",
"direction": "Outbound",
"action": "RingOut PC",
"result": "Call connected",
"to": {
"phoneNumber": "+16505550101",
"name": "John Snow"
},
"from": {
"phoneNumber": "+12125550111",
"name": "Daenerys Targaryen",
},
"extension": {
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/727097016/extension/727097016",
"id": 727097016
},
"transport": "PSTN",
"billing": {
"costIncluded": 0.0,
"costPurchased": 0.0
},
"legType": "RingOutClientToSubscriber"
},
{
"startTime": "2018-11-22T08:42:05.500Z",
"duration": 19,
"type": "Voice",
"direction": "Outbound",
"action": "RingOut PC",
"result": "Call connected",
"to": {
"phoneNumber": "+12125550111",
"name": "Daenerys Targaryen",
},
"from": {
"phoneNumber": "+16505550101",
"name": "John Snow"
},
"extension": {
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/727097016/extension/727097016",
"id": 727097016
},
"transport": "PSTN",
"legType": "RingOutClientToCaller",
"master": true
}
]
},
注:在详细呼叫记录例如,
to
和from
该RingOutClientToCaller
与腿相吻合to
和from
对整体呼叫,而他们被颠倒了RingOutClientToSubscriber
腿到被叫方。 这是因为被调用者将与调用者连接,从他们的角度来看,调用者的号码在to
属性中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.