Shashank_Kasarla | 2022-06-24 17:16:54 UTC | #1
We are in the process of implementing a solution that initiates creating email conversations in bulk. We expect to create around 150-200 interactions at a time.
I went through the below URL and found that the maximum number os requests per client credentials grant token per minute is 300 and that it is configurable -
https://developer.genesys.cloud/organization/organization/limits#platform-api
The API that we are planning to invoke in bulk is (looping 150-200 times)
https://developer.genesys.cloud/routing/conversations/conversations-apis#post-api-v2-conversations-emails
We are trying to find interactions belonging to inactive users in salesforce who have cases assigned and redistribute them to queues using a flow ID.
John_Carnell | 2022-06-27 19:47:40 UTC | #2
Hi Shashank,
Based on your email I am not really sure what your question is? Could you provide some more context and be more specific about the questions around the API.
Thanks, John Carnell Manager, Developer Engagement
Shashank_Kasarla | 2022-06-27 20:23:28 UTC | #3
Hi John,
Thank you for responding back!
We have implemented case routing with Salesforce in my organization. Salesforce sends route requests to Genesys using the Salesforce managed package for Genesys Cloud whenever a case is either created or a salesforce agents intends to transfer a case to a particular queue.
Some of the cases do not get serviced for a long time because they are assigned to some inactive agents who no longer work here. Currently our workforce team manually transfers such cases to the queue using a message box on Salesforce which internally invokes the Managed package to send a route request to Genesys.(to a certain architect flow which sends the interaction back to a queue)
We are hoping to automate the above process. If there are multiple cases that an inactive user was assigned to , the process should invoke transfer request for all those cases at the same time.
As I understand the managed package internally invokes the POST method to create an email conversation using the below API - https://developer.genesys.cloud/routing/conversations/conversations-apis#post-api-v2-conversations-emails
The question is if we try to create the email conversations in bulk looping for the number of open cases assigned to a user , would we reach the rate limit and get errors from Genesys Cloud? We are anticipating a maximum of 100-150 cases that have been assigned to an inactive user.
Please let me know if this clarifies what we are trying to accomplish.
Thank You, Shashank
John_Carnell | 2022-06-29 14:08:29 UTC | #4
Hi Shashank,
A couple of thoughts:
A. We have a 300 requests per minute per OAuth token with a maximum of 3000 requests for all OAuth tokens. If you stay below the 300 requests per minute you should be fine.
B. Most of our rate-limiting situations will return a 429 indicating a rate limit has been reached and will provide in the header a retry-after (in seconds) for when you should try again. So in a "polite" application, your code should handle the rate limit. Here are some documents and blog posts on how to handle rate-limiting:
- Rate limiting documentation
- Building resiliency into your cloud applications
- Rate-limiting Overview DevDrop
- How to use the Java SDK to turn on Automated Retry Logic
- 45 minute application on building resilent applications.
C. The rate limits I have described so far are for the OAuth Client itself. Individual APIs can have their own rate limits. I suggest you check our API Rate Limits page and see if there are any rate limits applicable to your API call.
I hope that helps.
Thanks, John Carnell Manager, Developer Engagment
system | 2022-07-30 14:08:34 UTC | #5
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 15300