I'm using the "Get Company Call Log Records" API endpoint to extract call data to be analysed on our system.
However it seems the dateFrom and dateTo are filtering on the startTime field instead of endTime (startTime + duration) and because of that its possible to miss some calls if we just set the dateFom on the next collection to the previous dateTo + 1ms.
Call Collection #1 - GetCompanyCallLogRecords endpoint with datefrom: 2021-08-01T00:00:00.000Z and dateto: 2021-08-01T23:59:59.999Z
Call Collection #2 - GetCompanyCallLogRecords endpoint with datefrom: 2021-08-02T00:00:00.000Z and dateto: 2021-08-02T23:59:59.999Z
With these 2 queries I will miss all the calls that have started before 2021-08-01T23:59:59.999Z but ended after 2021-08-01T23:59:59.999Z.
Some of my questions are:
- Is the filter on the startTime by design or a bug? It makes more sense filter on the endTime..
- Is there any max duration imposed by RingCentral or a call can be active forever?
Do you have any advice on how to deal with this scenario to ensure no data is missed, and at the same time no need to deal with duplicates.
I'm also aware of the the Sync endpoint but because we will deal with high volume of calls (and there is a limit of 250 per request on this endpoint) I was following the CallLog approach (as suggested on this other post I've created - https://community.ringcentral.com/questions/101780/sychronization-flow-call-log-records.html).