Skip to main content

We are looking to archive the call records, but may be approaching things the wrong way.

Using the basic: /restapi/v1.0/account/~/call-log?view=Detailed&perPage=900

(Yes we loop through the pages using nextPage)

We receive the call logs for the past 24 hours. We record them in SQL and were under the impression that the id was a unique identifier to the call record. So we run this every 5 minutes as we use this data for integrating with our wallboards and CRM in addition to archiving.

We do not want duplicates, so we filter for existing ids that exist in our SQL database.

The issue is we end up missing calls. It appears that there are multiple records with the same id, same session id but in cases different timestamp and duration etc.. (Unless the RC system is updating and existing call record in their system.) Again we were under the impression that a call was only logged in RC when it is completed.)

So in short is there an actual unique identifier or key-combination to use? Or is there a better approach to this method?


Thanks ahead of time.


Hi Joe,

First of all, check out these documentations to find useful information for your data archive.

https://developers.ringcentral.com/guide/voice/call-log/archival

https://developers.ringcentral.com/guide/voice/call-log/sync

The best way to archive is to use the call log sync API though.

Back to your questions/problems, the ids should be unique. Can you post a few records which have the same ids (remember to erase sensitive info such as phone number, name etc.)


So the call log archival is what we are using. The issue is a best practice to retrieve call logs every 5 minutes. We have it working but we do not want to duplicate call logs on our side, so we filter out any existing ids. The issue is that the duration may not be correct as it appears Ring Central will update that id on their end through the life of the call. So my reference to duplicates earlier may not be the case, but an update. So we have a hard time to pull the updated call log without having to delete all records from a portion of time back and re-bring that data in.

I like and wanted to use the fSync/iSync method, but having trouble understanding the 250 limit. We have over 200 users so it is very possible to have more than 250 each sync,.

I am lacking an example for the data at the moment as we removed it to bring in the correct record, but here is an example of what we are seeing.

id: xyz --- startTime : 1/1/2019 17:00:148 --- duration: 4 --- session id: 1234

id: xyz --- startTime: 1/1/2019 17:00:133 --- duration: 75 --- sessionid:1234


The times will be different, the id and session id will be the same. Only one ever exits on the Ring Central Side, thus why we think it gets updated in the life of the call.


So, again, we are searching for best way to handle. Sounds like deleting all records for a period of time and bringing them all back in.


Reply