Hi,
i recently got aware of a c# library named Polly. Polly is a library where you can define policies to handle execution results and exceptions and perform conditional follow up actions, like retries, retries with wait and others.
We would strongly benefit from having an analogous feature in OutSystems esp. when consuming REST APIs. Especially when in need of
* Rate limited APIs - APIs where you get an error when you hit the endpoint too many times within a specified timeframe.
* Poll based asynchronous APIs - APIs where you initiate a job with one request and need to periodically check the result until you can request the final result of the job.
* Unreliable API endpoints - APIs that sometimes time out because they are not well scaled or for any other reason. Requests sometimes time out and sometimes not.
It would be a nice feature if we could specify Retry, Retry with Wait and Timeout Policies directly on the REST consume action with optional conditions, e.g.:
Retry - max 3 times when StatusCode = 408
RetryWithWait - max 3 times, Wait 1,3,5 seconds
Conditions should be possible to match not only the HTTP Status Code but also the response body. Poll based APIs typically deliver a status request with a code of 200 and the job status als JSON body attribute e.g. JobStatus so a policy condition could look like
When StatusCode = 200 AND Response.Body.JobStatus = "Pending"
Such a feature would drastically reduce the manual handling e.g. in BPTs asf.
Thank you,
Stefan