I am receiving this 503 Error while calling GetAnalyticsConversationDetailsAsync() , "Server resources aren't available to complete request. Please try again shortly." I am not sure what this error exactly is, but my best guess has to do with the request rate-limit. We have a auto job process that pulls agent conversation data and creates a data text file. For some reason it hasnt been creating the file, but if I run it locally on VS, or on Postman, the data file gets created with no issue. I'm not entirely sure what is going on at this point.
I did set a RetryConfig prop on my ApiClient object, which I thought would auto implement if this issue occurs since I have not been receiving rate limit issues for a while now.
Are there any good examples of how to properly implement retrying if it fails? The only examples I've seen have to deal with checking the HttpResponse headers but I am returning a AnalyticsConversationWithoutAttributesMultiGetResponse object which I dont see any properties to specifiy if it failed and should retry at all.
I would take a look here. This is the generated code for the SDK. The ShouldRetry() should list all the logic used for retries. The RetryConfiguration object has all of the configuration. If looking through the logic you are still getting a 503, you might be going beyond the retryable logic you have set.
Thanks,
John Carnell
Director, Developer Engagement
I followed the exact instructions per the Platform API Client SDK guide section for Setting up retrys. I haven't had any issues with this previously, so I assumed the re-trying was working as intended. I feel like I shouldn't have to go beyond the retryable logic, since the error coming back doesnt have to do with reaching the rate-limit.
What confuses me the most is to why there is no issue when I run my code against postman and it doesn't log that error at all, but once this auto-job procedure tries to run it, the code fails and still is showing this error.
Error :: PureCloudPlatform.Client.V2.Client.ApiException: Error calling GetAnalyticsConversationsDetails: {"message":"Server resources aren't available to complete the request. Please try again shortly.","code":"service.unavailable","status":503,"messageParams":{},"contextId":"432802e0-d8a2-4296-b010-2aa2587f9173","details":[],"errors":[]}
For instance on 2/14, there are 5351 conversation Ids, and I create groups of 100 (54 groups , 100 per group, remainder of 51 as last group). I loop through each grouping of ids and will pass the comma-delimited string required as a param for this request. I run it locally on VS/Postman and step through it with no issues