如何将RingCentral API中的调用数据与Glip API中的用户数据相关联。据我所知,唯一的重叠是位于呼叫日志to
和from
字段(并不总是存在)中的专有名称,它们可以映射到电子邮件地址,然后给Glip用户。这似乎是处理事情的非常间接的方式。是否有ID或类似的东西链接两个API?具体来说,我想知道来自某个人的呼叫还是我组织中的Glip用户。
RingCentral呼叫日志API示例
https://developer.ringcentral.com/api-reference#Call-Log-loadCompanyCallLog
GET /restapi/v1.0/account/~/call-log
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/call-log?view=Simple&showBlocked=true&withRecording=false&dateFrom=2018-11-09T07:00:00.000Z&page=1&perPage=100",
"records": [
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/call-log/abcdef0123456789?view=Simple",
"id": "abcdef0123456789",
"sessionId": "1234567890",
"startTime": "2018-11-10T00:52:07.020Z",
"duration": 11,
"type": "Voice",
"direction": "Inbound",
"action": "Phone Call",
"result": "Missed",
"to": {
"phoneNumber": "+16505550100"
},
"from": {
"phoneNumber": "+12155550101",
"location": "Philadelphia, PA"
}
},
Glip Post API示例
https://developer.ringcentral.com/api-reference#Posts-listGlipGroupPosts
GET /restapi/v1.0/glip/groups/{groupId}/posts
{
"records":[
{
"id":"1542094852",
"groupId":"155654",
"type":"TextMessage",
"text":"",
"creatorId":"glip-29507587",
"addedPersonIds":null,
"creationTime":"2018-05-31T14:45:16.822Z",
"lastModifiedTime":"2018-05-31T14:45:16.822Z",
"attachments":null,
"activity":null,
"title":null,
"iconUri":null,
"iconEmoji":null,
"mentions":null
}
]
}
答案 0 :(得分:2)
用户是由呼叫日志extensionId
和Glip personId
标识的,当用户是公司用户时,它们具有相同的值。
extensionId
标识。
/restapi/v1.0/account/{accountId}/call-log
)中,您将收到所有用户的呼叫日志,并且为了识别每个用户的呼叫,您需要通过添加view=Detailed
查询来查询详细视图字符串参数,然后在调用extensionId
数组中找到legs
,因为一个调用中可以有多个用户。每条腿都将具有一个extension
属性和一个extensionId
属性,并具有HATEOAS uri
属性,以为用户检索信息。/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log
)中,extensionId
在URL路径中明确声明。personId
标识。 personId
在creatorId
以及其他形式的Glip API中显示。
personId
的值与extensionId
相同,例如12345678
personId
值的前缀是glip-
,例如glip-12345678
以下是详细的“公司通话记录”条目的示例:
GET /restapi/v1.0/account/~/call-log?view=Detailed
{
"uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/call-log?view=Detailed&showBlocked=true&withRecording=false&dateFrom=2018-11-09T07:37:00.000Z&page=1&perPage=100",
"records":[
{
"uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/call-log/abcdef0123456789?view=Detailed",
"id":"abcdef0123456789",
"sessionId":"19923257004",
"startTime":"2018-11-10T00:52:07.020Z",
"duration":11,
"type":"Voice",
"direction":"Inbound",
"action":"Phone Call",
"result":"Missed",
"to":{
"phoneNumber":"+16505550100"
},
"from":{
"phoneNumber":"+12155550101",
"location":"Philadelphia, PA"
},
"transport":"PSTN",
"lastModifiedTime":"2018-11-10T00:52:40.001Z",
"billing":{
"costIncluded":0,
"costPurchased":0
},
"legs":[
{
"startTime":"2018-11-10T00:52:07.020Z",
"duration":11,
"type":"Voice",
"direction":"Inbound",
"action":"Phone Call",
"result":"Missed",
"to":{
"phoneNumber":"+12675550100"
},
"from":{
"phoneNumber":"+12155550101",
"location":"Philadelphia, PA"
},
"transport":"PSTN",
"billing":{
"costIncluded":0,
"costPurchased":0
},
"legType":"Accept",
"master":true
},
{
"startTime":"2018-11-10T00:52:07.050Z",
"duration":11,
"type":"Voice",
"direction":"Inbound",
"action":"Phone Call",
"result":"Missed",
"to":{
"phoneNumber":"+12679304030",
"name":"Sales Queue"
},
"from":{
"phoneNumber":"+12155550101",
"location":"Philadelphia, PA"
},
"extension":{
"uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222",
"id":22222222
},
"transport":"PSTN",
"legType":"Accept"
},
{
"startTime":"2018-11-10T00:52:15.220Z",
"duration":3,
"type":"Voice",
"direction":"Outbound",
"action":"FindMe",
"result":"Accepted",
"to":{
"phoneNumber":"+16505550100",
"location":"Redwood City, CA"
},
"from":{
"phoneNumber":"+12675550100",
"name":"Tiger RingForce"
},
"extension":{
"uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/111111111/extension/33333333",
"id":33333333
},
"transport":"PSTN",
"legType":"FindMe"
},
{
"startTime":"2018-11-10T00:52:15.257Z",
"duration":3,
"type":"Voice",
"direction":"Outbound",
"action":"FindMe",
"result":"Accepted",
"to":{
"phoneNumber":"+18185550100",
"location":"North Hollywood, CA"
},
"from":{
"phoneNumber":"+12675550100",
"name":"Tiger RingForce"
},
"extension":{
"uri":"https://platform.devtest.ringcentral.com/restapi/v1.0/account/130709004/extension/130836004",
"id":130836004
},
"transport":"PSTN",
"legType":"FindMe"
}
]
}
]
}
要映射到Glip用户,只需将其映射到具有与呼叫日志personId
匹配的extensionId
的Glip用户。