如何按用户关联RingCentral呼叫数据和Glip Post数据?

时间:2018-11-10 07:09:34

标签: calllog ringcentral glip

如何将RingCentral API中的调用数据与Glip API中的用户数据相关联。据我所知,唯一的重叠是位于呼叫日志tofrom字段(并不总是存在)中的专有名称,它们可以映射到电子邮件地址,然后给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
    }
  ]
}

1 个答案:

答案 0 :(得分:2)

用户是由呼叫日志extensionId和Glip personId标识的,当用户是公司用户时,它们具有相同的值。

  • 在RingCentral呼叫日志API中,每个用户由extensionId标识。
    • 在公司呼叫日志API(/restapi/v1.0/account/{accountId}/call-log)中,您将收到所有用户的呼叫日志,并且为了识别每个用户的呼叫,您需要通过添加view=Detailed查询来查询详细视图字符串参数,然后在调用extensionId数组中找到legs,因为一个调用中可以有多个用户。每条腿都将具有一个extension属性和一个extensionId属性,并具有HATEOAS uri属性,以为用户检索信息。
    • 在用户呼叫日志API(/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log)中,extensionId在URL路径中明确声明。
  • 在Glip API中,每个用户由personId标识。 personIdcreatorId以及其他形式的Glip API中显示。
    • 当Glip用户也是RingCentral用户时,Glip personId的值与extensionId相同,例如12345678
    • 当Glip用户是访客并且不在RingCentral帐户中时,Glip 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用户。