-
Notifications
You must be signed in to change notification settings - Fork 5
Callout
Andre edited this page Oct 17, 2022
·
7 revisions
Call out to any HTTP endpoint by setting the CalloutUrl property. A step can have both the CalloutUrl and EnableWebhook set. The call-out can pass the webhookId to the receiving endpoint.
The call-out will happen before the webhook is created, but will usually be within a second of each other. In the unlikely scenario where a reply is received before the webhook creation is complete, a 202 ACCEPTED response will be returned. The reply call should then be re-tried.
CalloutUrl can be left empty and then the step will not call out but will still spawn a webhook if EnableWebhook is set to true. If CalloutUrl is empty and EnableWebhook is false, then the step will still complete and log but not do anything.
-
CalloutUrl
string
: This is the HTTP endpoint URL to call out to. This can be used as a call to a micro-service. -
IsHttpGet
bool
: True or false to indicate HTTP POST or GET. -
CalloutTimeoutSeconds
int
: How long it will take for the call to wait before it times out. -
StopOnCalloutFailure
bool
: If this is set to true then the workflow will stop executing when a call-out timeout or other error occurs. -
SubStepsToRunForCalloutFailure
List<int>
: This can be set to run a specific list of of steps when a call-out failure occurs. This is only applicable if StopOnCalloutFailure is set to false. -
AsynchronousPollingEnabled
bool
: If this is set to true, then the step call-out will poll for a result if it receives a 202 accepted reply. -
ForwardResponseData
bool
: If this is set to true, then the response content from the call-out will be passed to its webhook, and then to the child steps. -
RetryOptions
RetryOptions
: This can be set per step to override the default retry options of the workflow.
public class RetryOptions
{
public int DelaySeconds { get; set; } = 5;
public int MaxDelaySeconds { get; set; } = 120;
public int MaxRetries { get; set; } = 15;
public double BackoffCoefficient { get; set; } = 5;
public int TimeOutSeconds { get; set; } = 300;
}