Our Genesys org have multiple divisions and lot of calls and expecting 20000+ calls being handled each day.
Today we call Transcripts API once a day (at midnight) , this is obviously not sustainable as we add more divisions in near future, since it ends up pulling transcripts for lot of conversation ID’s at once.
So we are thinking to increase the frequency of transcript API calls, like 4 times a day .
With this change what comes to our mind is, availability of transcriptURL after the completion of conversation ,since today we are not sure what’s the buffer to keep, we are in dilemma to change the frequency.
What is best practice of frequency to pull the transcripts for the completed calls.
Spreading the load to fetch transcripts across the day is a good idea. About the transcripts availability, you could expect it to be available in <5 minutes of the call completion. But the URL received (which is a pre-signed AWS S3 URL) as the response for the transcriptUrl request, will be valid only for 10 minutes.
Another thing to note here – we currently do not have API specific rate limit this specific API other than general API rate limiting per access token which is 300 requests per minute. But we are in progress of adding API specific limit to restrict requests from a particular org / user. If the rate limit exceeds, the client may need to retry the request to get the transcripts. But we think the usage you mentioned should be under this limit.
Please let me know if you have any other questions.
Thank you for the response. Do we have any best practice time interval to pull such large amount of calls in a day.
It's found any where in the document. When we run the job only once per day we encounter issues with request limit as well.
Can we spread the transcript API request across the day like an hour or every 2 hours. Appreciate your input on the best frequency to pull the transcripts through out the day.
Currently we do not have a best practice documentation which I can share. We will try to arrive once when we push the rate limit changes and post it here. But currently, I would suggest you to split the request set to be sent every couple of hours with some minor delay between requests, with which you would not hit the rate limit and avoid retries.