From Bright Pattern Documentation
Jump to: navigation, search
 
(Updated via BpClonePage extension. Source page: draft:Workflow-builder-reference-guide/FetchURL)
 
(10 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<translate>= Fetch URL=
+
=Fetch URL=  
The ''Fetch URL'' workflow block fetches web content, including JSON-formatted data, from a specified URL, using a specified method and parses it into workflow variables. Both HTTP and HTTPS protocols are supported, as well as basic authentication.
+
Requests web content from a URL over HTTP/HTTPS using a GET, POST, PUT, PATCH, or DELETE and parses received data into workflow variables.
  
 +
{{Image850|2022-12-12-workflow-fetchurl-2.png| Workflow Builder FetchURL block}}
  
[[File:WB-Fetch-URL-52.PNG|225px|Fetch URL workflow block]]
+
===Conditional Exits===
 +
The Fetch URL block may take one of three conditional exits:
  
 +
;Failed
 +
:The Failed conditional exit is taken if an error occurred during the HTTP method execution. See HTTP Response Codes below for details.
 +
;No Data
 +
:The No Data conditional exit is executed if no data is returned in the body of the HTTP response.
 +
;Timeout
 +
:The Timeout conditional exit executes when the processing time exceeds the value entered in the '''Request Timeout''' field.
  
== Conditional Exits ==
+
===Settings===  
The Fetch URL block may take one of two conditional exits: ''Failed'' or ''No Data''.
+
Fetch URL workflow block settings
  
=== Failed ===
+
;Title text
The Failed conditional exit is taken if an error occurred during the HTTP method execution. See [[#HTTPResponseCodes|HTTP Response Codes]] below for details.
+
:Title text is the name of the instance of the block, displayed in the flowchart.
  
=== No Data ===
+
;Request type
The No Data conditional exit is executed if no data is returned in the body of the HTTP response.
+
:The HTTP method used in the fetch.
  
 +
:{| class="wikitable"
 +
|-
 +
! Request Type (HTTP Method)
 +
! Content Type
 +
! Notes
 +
|-
 +
| GET
 +
|
 +
* application/json
 +
* application/x-www-form-urlencoded
 +
* application/soap+xml; charset=utf-8
 +
|
 +
|-
 +
| GET, POST
 +
|
 +
* application/json
 +
* application/x-www-form-urlencoded
 +
* application/soap+xml; charset=utf-8
 +
* multipart/form-data
 +
* Single file upload, content-type set below
 +
|
 +
* Allows adding multiple attachment or text parts
 +
* Content type is optional. If not specified, the system uses the attachment’s content type
  
[[File:WB-Fetch-URL-CE-52.PNG|300px|thumb|center|Fetch URL conditional exits]]
+
|-
 +
| PUT
 +
|
 +
* application/json
 +
* application/x-www-form-urlencoded
 +
|  
 +
|-
 +
| PATCH
 +
|
 +
* application/json
 +
* application/x-www-form-urlencoded
 +
|
 +
|-
 +
| DELETE
 +
|
 +
* application/json
 +
* application/x-www-form-urlencoded
 +
|  
 +
|}
  
 +
{{LightBulb | Messenger integrations LINE and WhatsApp allow users to upload multiple attachments with the same name at the same time. Users should upload files one at a time with unique names as a best practice.}}
  
== Settings ==
+
;URL to fetch
 +
:URL to fetch is the HTTP/HTTPS URL of the web content to get. Query string parameters are specified separately.
  
=== Title text ===
+
;Extra headers
''Title text'' is the name of the instance of the block, displayed in the flowchart.
+
: The HTTP headers to add to the request, (e.g. for authentication purposes). Functions can be used by inserting them as a value. Click '''add''' to define a header, then type in the ''name'' and ''value''.
  
=== Request type ===
+
: For example, a payment gateway may have a RESTful interface that requires authentication via "Authorization" header and SHA-256 hash of time, username, and password. To enable authentication, you would provide a request header with the name <code>Authorization</code> and a value like <code>bearer $(accessid)</code> where 'accessid' is set to something like <code>=hmac('SHA-256', '<key>', '<user>:<secret>')</code>.
''Request type'' is the type of method to be used to fetch web content from the specified URL. Request types are defined in the pull-down menu.
 
  
Select from the following request types, or write in another method manually:
+
: Authenticating with an OAuth 2.0 endpoint typically follows a similar pattern; Once an access token is obtained (e.g. another ''Fetch URL'' block calls a token endpoint and saves the result to 'accessToken'), it can be passed into an <code>Authorization</code> header with value <code>bearer $(accessTokenVariable)</code>.
  
* GET (default)
+
: For more information about Workflow Builder functions, see [[Workflow-builder-reference-guide/Built-InFunctions | Built-in Functions]].
* POST
 
* PUT
 
* PATCH
 
* DELETE
 
  
=== URL to fetch ===
 
''URL to fetch'' is the HTTP/HTTPS URL of the web content to get. Query string parameters are specified separately.
 
  
=== Extra headers ===
+
;URL parameters
''Extra headers'' are the HTTP headers to add to the request (e.g. for authentication purposes). Functions can be used by inserting them as a value. Click '''add''' to define a header, type in the name, and type in the value.
 
  
For example, a payment gateway may have a RESTful interface that requires authentication via “Authorization” header and SHA-256 hash of time, username, and password. To enable authentication, you would provide a request header with the ''name'' “Authorization” and the value ''“accessid==hmac(“SHA-256”, key, message)”''. Functions are described in the ''Workflow Builder Reference Guide'', section [[workflow-builder-reference-guide/Built-InFunctions|Built-in Functions]].
+
: Specify URL parameters here; they will be URL-encoded and appended to the request URL. Workflow variables can be used by inserting them as $(varname). Click add to define URL parameters, type in the name, and type in the value.
  
=== URL parameters ===
+
;Content Type
These are the URL parameters to be URL encoded and appended into URL. Workflow variables can be used by inserting them as ''$(varname)''. Click '''add''' to define URL parameters, type in the name, and type in the value.
+
:The type of data supported in the request.
  
=== Content Type ===
+
: Note that the content type drop-down contains the most common suggestions, and you can type your own content type value manually right over the drop-down box suggestion.  
''Content type'' is the type of data to be submitted in the request body. The setting is displayed only if request type POST is selected.
 
  
Select ''application/json'' for a JSON data structure, or select ''application/x-www-form-urlencoded'' for a URI-encoded data in the body of the message.
+
:{| class="wikitable"
 +
|-
 +
! Content Type
 +
! Request Type (HTTP Method)
 +
! Notes
 +
|-
 +
| application/json
 +
| GET, POST, PUT, PATCH, DELETE
 +
|
 +
|-
 +
| application/x-www-form-urlencoded
 +
| GET, POST, PUT, PATCH, DELETE
 +
|
 +
|-
 +
| application/soap+xml
 +
| GET, POST
 +
|
 +
|-
 +
| multipart/form-data
 +
| POST
 +
| Allows adding multiple attachment or text parts
 +
|-
 +
| single file upload, content-type set below
 +
| POST
 +
| Content type is optional. If not specified, the system uses the attachment’s content type.
 +
|}
  
=== Body ===
+
;Body
''Body'' is the data to be submitted in the request body. The setting is displayed only if request type POST is selected.
+
:Body is the data to be submitted in the request body. The setting is displayed only if request type POST is selected. The format of the data must correspond to the Content Type above. Workflow variable substitutions are allowed.
  
Body is the data to be submitted. The format of the data must correspond to the ''Content Type'' above. Workflow variable substitutions are allowed.
+
;Username
 +
:Username is the request authentication username. Variable substitutions are allowed.
  
=== Username ===
+
;Password
''Username'' is the request authentication username. Variable substitutions are allowed.
+
:Password is the request authentication password. Variable substitutions are allowed.
  
=== Password ===
+
; Response body content is
''Password'' is the request authentication password. Variable substitutions are allowed.
+
: The expected format of the response body, with options for text, XML, and JSON.  
  
=== Initial path in the result JSON ===
+
;Initial path in the result JSON
If the response body contains JSON, this setting can be used to save into workflow variables a specific part of the data. Example: ''myobject.node.list[4]''. The default is "none"; the path starts from the root of the returned JSON.
+
:If the response body contains JSON, this setting can be used to save into workflow variables a specific part of the data. Example: myobject.node.list[4]. The default value is "none".  
  
=== Scenario variable prefix for JSON data ===
+
: The path starts from the root of the returned JSON.
This string will be used as the name of the variable to receive parsed JSON data. Note that if the initial path above points to an array, depending on the value of the ''GetNext'' option below, this variable would either contain the array or its first (and subsequent) elements.
 
  
=== Use GetNext block to loop through data ===
+
;Scenario variable prefix for JSON data
This box is selected if the JSON response data (at the initial path) is an array. The workflow variable will be set to the first element of the array and ''GetNext'' block could be used to iterate over the array elements, setting workflow variable to the next element.
+
:This string will be used as the name of the variable to receive parsed JSON data. Note that if the initial path above points to an array, depending on the value of the ''Use GetNext block to loop through data'' option, this variable will either contain the full array or its first (and subsequent) elements. See [[Workflow-builder-reference-guide/FetchURL#Response Data Handling|Response data handling]] below for more information.
  
'''Note''': If you enable this option, the behavior of the Fetch URL block will be the same as it was for Bright Pattern Contact Center version 3.13 and earlier.
+
;Use GetNext block to loop through data
  
 +
: Select this box if the JSON response data (at the initial path) is an array. The scenario variable will be set to the first element of the array and [[Workflow-builder-reference-guide/GetNextRecord|Get Next]] block could be used to iterate over the array elements, setting the variable to the next element.
  
[[File:WB-Fetch-URL-Settings-52.PNG|650px|thumb|center|Fetch URL settings]]
+
{{Note| If you enable this option, the behavior of the Fetch URL block will be the same as it was for Bright Pattern Contact Center version 3.13 and earlier.}}
  
 +
; Extract variables
  
== Response Data Handling ==
+
: If the setting ''Response body content is'' indicates an XML response, the contents of ''Extract variables'' determines what specific data from the response should be parsed into scenario variables. Any number of XPath expressions with an associated variable name can be defined.  
In all cases, the response data is limited to 50 KB.
 
  
If the response data is not JSON-encoded, it could be accessed as string via the ''$(integrationResultBody)'' workflow variable described below.
+
: Each XPath expression is used to parse the XML response, and the result is saved in the corresponding variable. If the expression points to multiple values or a node with children, the ''Use GetNext block to loop through data'' option determines whether the variable will contain an array of values or only the first value. See [[Workflow-builder-reference-guide/FetchURL#Response_Data_Handling|Response data handling]] below for more information.
  
If the response data is JSON, the following will happen:
+
=== Response Data Handling ===
 +
The size of response data is limited to 100 KB for any content type.
  
 +
If the response data is not encoded as JSON or XML it can be accessed as a string via the ''$(integrationResultBody)'' scenario variable described in [[Workflow-builder-reference-guide/FetchURL#HTTP_Response_Codes|HTML response codes]] below.
 +
 +
==== JSON-Encoded Responses ====
 +
: If the response data is JSON, the following will happen:
 
# It will be parsed.
 
# It will be parsed.
 
# If the "GetNext" option is enabled and the item the initial path is pointing to is a regular, non-associative array:
 
# If the "GetNext" option is enabled and the item the initial path is pointing to is a regular, non-associative array:
Line 89: Line 162:
 
## The GetNext block could be used to initialize the variable to the next and subsequent items.
 
## The GetNext block could be used to initialize the variable to the next and subsequent items.
 
# Otherwise, the workflow variable will be set to the item to which the initial path is pointing.
 
# Otherwise, the workflow variable will be set to the item to which the initial path is pointing.
 +
<br>
 +
: Syntax for the initial path setting and the access to the data saved in the workflow variable:
 +
:* item.Subitem
 +
:* item[index]
 +
:* item[attr1=value].attr2
 +
:* combinations (e.g., item.subitem.array[index].value. Array[attr=x].value)
  
Possible syntax for the initial path setting and the access to the data saved in the workflow variable is as follows:
+
==== XML-Encoded Responses ====
 +
If the response data is in XML format (and ''Response body content is'' indicates XML), each of the XPath expressions defined in ''Extract variables'' is used to parse the response and set the value of the associated variable as follows:
  
* ''item.subitem''
+
* If the XPath points to a specific value: The value is assigned to <variableName>
* ''item[index]''
+
* If the XPath points to an XML node with children:
* ''item[attr1=value].attr2''
+
** For each attribute of the node, the variable <variableName>.<attributeName> is assigned the value of the attribute
* combinations (e.g., ''item.subitem.array[index].value.array[attr=x].value'')
+
** For each child node, the node value is assigned to <variableName>.<childNodeName>. This is applied recursively; if a child node has a child, its value will be assigned to <variableName>.<childNodeName>.<childOfChild>, and so on.
 +
** In case of a name collision between an attribute and a child node, the value from the child node is assigned and the attribute value is ignored.
 +
* If an XPath does not point to anything in the response XML, the corresponding variable will be assigned to an empty string.
 +
* If the XPath expression points to an array:
 +
** If ''Use GetNext block to loop through data'' is enabled, the variable will initially be assigned the first element of the array indicated by the XPath expression. The [[Workflow-builder-reference-guide/GetNextRecord|Get Next Record]] block can be used to iterate over the remaining values.
 +
** If ''Use GetNext block to loop through data'' is disabled, the variable will be assigned the full array of values, which can be referenced elsewhere in the scenario with <code>$(<variableName>[index])</code>
  
 +
===HTTP Response Codes===
 +
The status code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively.
  
== HTTP Response Codes ==
+
For troubleshooting, you may use the [[workflow-builder-reference-guide/EMail|EMail]] or [[workflow-builder-reference-guide/InternalMessage|Internal Message]] block to obtain content of responses indicating a failed attempt.  
The status code and the body of the received HTTP response will be stored in local variables ''$(integrationResultCode)'' and ''$(integrationResultBody)'', respectively. For troubleshooting purposes, you may use the [[workflow-builder-reference-guide/EMail|EMail]] or [[workflow-builder-reference-guide/InternalMessage|Internal Message]] block to obtain content of responses indicating a failed attempt. For more information, see the description of variable ''$(integrationResultBody)''.
 
  
For backward compatibility reasons, the code and the body of the received HTTP response are also stored in local variables ''$(fetchURLResultCode)'' and ''$(fetchURLResultBody)''.
+
For more information, see the description of variable $(integrationResultBody).
  
The possible values of the ''$(fetchURLResultCode)'' variable are as follows:
+
For backward compatibility, the code and the body of the received HTTP response are also stored in local variables $(fetchURLResultCode) and $(fetchURLResultBody).
  
* '''0''': 200 OK response (i.e., a successful HTTP request response)
+
The possible values of the $(fetchURLResultCode) variable are as follows:
* '''-1''': 200 OK response, but unable to parse the body into recordset
+
* 0: 200 OK response (i.e., a successful HTTP request response)
* '''-2''': 200 OK response, but body length exceeds 50 KB
+
* -1: 200 OK response, but unable to parse the body into a variable (JSON-encoded or XML-encoded responses)
* '''-3''': Unable to connect to HTTP server or other connection errors
+
* -2: 200 OK response, but body length exceeds 50 KB
* '''Other''': Actual non-200 response code
+
* -3: Unable to connect to HTTP server or other connection errors
 +
* -4: Incorrect JSON syntax in the request body when using PUT or POST requests
 +
* Other: Actual non-200 response code
  
 
+
===HTTP Redirect Response Handling===  
=== HTTP Redirect Response Handling ===
 
 
The Fetch URL block handles 3xx Hypertext Transfer Protocol (HTTP) response codes in the following way.
 
The Fetch URL block handles 3xx Hypertext Transfer Protocol (HTTP) response codes in the following way.
 
+
When the following codes are received, the block retries the request to the provided redirect URL using the GET request method:
When the following codes are received, the block retries the request to the provided redirect URL using the ''GET'' request method:
+
<br>
 
 
 
* 301 Moved Permanently
 
* 301 Moved Permanently
 
* 302 Found
 
* 302 Found
 
* 303 See Other (since HTTP/1.1)
 
* 303 See Other (since HTTP/1.1)
 
+
<br>
 
When the following codes are received, the block retries the request to the provided redirect URL using the originally specified request method:
 
When the following codes are received, the block retries the request to the provided redirect URL using the originally specified request method:
 
+
<br>
 
* 307 Temporary Redirect (since HTTP/1.1)
 
* 307 Temporary Redirect (since HTTP/1.1)
 
* 308 Permanent Redirect (RFC 7538)
 
* 308 Permanent Redirect (RFC 7538)
 
+
<br>
 
When the following status codes are received, the conditional exit Failed will be selected:
 
When the following status codes are received, the conditional exit Failed will be selected:
 
 
* 300 Multiple Choices
 
* 300 Multiple Choices
 
* 304 Not Modified (RFC 7232)
 
* 304 Not Modified (RFC 7232)
 
* 305 Use Proxy (since HTTP/1.1)
 
* 305 Use Proxy (since HTTP/1.1)
 
* 306 Switch Proxy
 
* 306 Switch Proxy
 
 
 
 
</translate>
 

Latest revision as of 03:49, 6 May 2025

• 5.19 • 5.2 • 5.3 • 5.8

Fetch URL

Requests web content from a URL over HTTP/HTTPS using a GET, POST, PUT, PATCH, or DELETE and parses received data into workflow variables.

Workflow Builder FetchURL block

Conditional Exits

The Fetch URL block may take one of three conditional exits:

Failed
The Failed conditional exit is taken if an error occurred during the HTTP method execution. See HTTP Response Codes below for details.
No Data
The No Data conditional exit is executed if no data is returned in the body of the HTTP response.
Timeout
The Timeout conditional exit executes when the processing time exceeds the value entered in the Request Timeout field.

Settings

Fetch URL workflow block settings

Title text
Title text is the name of the instance of the block, displayed in the flowchart.
Request type
The HTTP method used in the fetch.
Request Type (HTTP Method) Content Type Notes
GET
  • application/json
  • application/x-www-form-urlencoded
  • application/soap+xml; charset=utf-8
GET, POST
  • application/json
  • application/x-www-form-urlencoded
  • application/soap+xml; charset=utf-8
  • multipart/form-data
  • Single file upload, content-type set below
  • Allows adding multiple attachment or text parts
  • Content type is optional. If not specified, the system uses the attachment’s content type
PUT
  • application/json
  • application/x-www-form-urlencoded
PATCH
  • application/json
  • application/x-www-form-urlencoded
DELETE
  • application/json
  • application/x-www-form-urlencoded


Bulb-on.50x50.png Messenger integrations LINE and WhatsApp allow users to upload multiple attachments with the same name at the same time. Users should upload files one at a time with unique names as a best practice.


URL to fetch
URL to fetch is the HTTP/HTTPS URL of the web content to get. Query string parameters are specified separately.
Extra headers
The HTTP headers to add to the request, (e.g. for authentication purposes). Functions can be used by inserting them as a value. Click add to define a header, then type in the name and value.
For example, a payment gateway may have a RESTful interface that requires authentication via "Authorization" header and SHA-256 hash of time, username, and password. To enable authentication, you would provide a request header with the name Authorization and a value like bearer $(accessid) where 'accessid' is set to something like =hmac('SHA-256', '<key>', '<user>:<secret>').
Authenticating with an OAuth 2.0 endpoint typically follows a similar pattern; Once an access token is obtained (e.g. another Fetch URL block calls a token endpoint and saves the result to 'accessToken'), it can be passed into an Authorization header with value bearer $(accessTokenVariable).
For more information about Workflow Builder functions, see Built-in Functions.


URL parameters
Specify URL parameters here; they will be URL-encoded and appended to the request URL. Workflow variables can be used by inserting them as $(varname). Click add to define URL parameters, type in the name, and type in the value.
Content Type
The type of data supported in the request.
Note that the content type drop-down contains the most common suggestions, and you can type your own content type value manually right over the drop-down box suggestion.
Content Type Request Type (HTTP Method) Notes
application/json GET, POST, PUT, PATCH, DELETE
application/x-www-form-urlencoded GET, POST, PUT, PATCH, DELETE
application/soap+xml GET, POST
multipart/form-data POST Allows adding multiple attachment or text parts
single file upload, content-type set below POST Content type is optional. If not specified, the system uses the attachment’s content type.
Body
Body is the data to be submitted in the request body. The setting is displayed only if request type POST is selected. The format of the data must correspond to the Content Type above. Workflow variable substitutions are allowed.
Username
Username is the request authentication username. Variable substitutions are allowed.
Password
Password is the request authentication password. Variable substitutions are allowed.
Response body content is
The expected format of the response body, with options for text, XML, and JSON.
Initial path in the result JSON
If the response body contains JSON, this setting can be used to save into workflow variables a specific part of the data. Example: myobject.node.list[4]. The default value is "none".
The path starts from the root of the returned JSON.
Scenario variable prefix for JSON data
This string will be used as the name of the variable to receive parsed JSON data. Note that if the initial path above points to an array, depending on the value of the Use GetNext block to loop through data option, this variable will either contain the full array or its first (and subsequent) elements. See Response data handling below for more information.
Use GetNext block to loop through data
Select this box if the JSON response data (at the initial path) is an array. The scenario variable will be set to the first element of the array and Get Next block could be used to iterate over the array elements, setting the variable to the next element.


Info.40x40.png If you enable this option, the behavior of the Fetch URL block will be the same as it was for Bright Pattern Contact Center version 3.13 and earlier.


Extract variables
If the setting Response body content is indicates an XML response, the contents of Extract variables determines what specific data from the response should be parsed into scenario variables. Any number of XPath expressions with an associated variable name can be defined.
Each XPath expression is used to parse the XML response, and the result is saved in the corresponding variable. If the expression points to multiple values or a node with children, the Use GetNext block to loop through data option determines whether the variable will contain an array of values or only the first value. See Response data handling below for more information.

Response Data Handling

The size of response data is limited to 100 KB for any content type.

If the response data is not encoded as JSON or XML it can be accessed as a string via the $(integrationResultBody) scenario variable described in HTML response codes below.

JSON-Encoded Responses

If the response data is JSON, the following will happen:
  1. It will be parsed.
  2. If the "GetNext" option is enabled and the item the initial path is pointing to is a regular, non-associative array:
    1. The workflow variable will be set to the first item of the array.
    2. The GetNext block could be used to initialize the variable to the next and subsequent items.
  3. Otherwise, the workflow variable will be set to the item to which the initial path is pointing.


Syntax for the initial path setting and the access to the data saved in the workflow variable:
  • item.Subitem
  • item[index]
  • item[attr1=value].attr2
  • combinations (e.g., item.subitem.array[index].value. Array[attr=x].value)

XML-Encoded Responses

If the response data is in XML format (and Response body content is indicates XML), each of the XPath expressions defined in Extract variables is used to parse the response and set the value of the associated variable as follows:

  • If the XPath points to a specific value: The value is assigned to <variableName>
  • If the XPath points to an XML node with children:
    • For each attribute of the node, the variable <variableName>.<attributeName> is assigned the value of the attribute
    • For each child node, the node value is assigned to <variableName>.<childNodeName>. This is applied recursively; if a child node has a child, its value will be assigned to <variableName>.<childNodeName>.<childOfChild>, and so on.
    • In case of a name collision between an attribute and a child node, the value from the child node is assigned and the attribute value is ignored.
  • If an XPath does not point to anything in the response XML, the corresponding variable will be assigned to an empty string.
  • If the XPath expression points to an array:
    • If Use GetNext block to loop through data is enabled, the variable will initially be assigned the first element of the array indicated by the XPath expression. The Get Next Record block can be used to iterate over the remaining values.
    • If Use GetNext block to loop through data is disabled, the variable will be assigned the full array of values, which can be referenced elsewhere in the scenario with $(<variableName>[index])

HTTP Response Codes

The status code and the body of the received HTTP response will be stored in local variables $(integrationResultCode) and $(integrationResultBody), respectively.

For troubleshooting, you may use the EMail or Internal Message block to obtain content of responses indicating a failed attempt.

For more information, see the description of variable $(integrationResultBody).

For backward compatibility, the code and the body of the received HTTP response are also stored in local variables $(fetchURLResultCode) and $(fetchURLResultBody).

The possible values of the $(fetchURLResultCode) variable are as follows:

  • 0: 200 OK response (i.e., a successful HTTP request response)
  • -1: 200 OK response, but unable to parse the body into a variable (JSON-encoded or XML-encoded responses)
  • -2: 200 OK response, but body length exceeds 50 KB
  • -3: Unable to connect to HTTP server or other connection errors
  • -4: Incorrect JSON syntax in the request body when using PUT or POST requests
  • Other: Actual non-200 response code

HTTP Redirect Response Handling

The Fetch URL block handles 3xx Hypertext Transfer Protocol (HTTP) response codes in the following way. When the following codes are received, the block retries the request to the provided redirect URL using the GET request method:

  • 301 Moved Permanently
  • 302 Found
  • 303 See Other (since HTTP/1.1)


When the following codes are received, the block retries the request to the provided redirect URL using the originally specified request method:

  • 307 Temporary Redirect (since HTTP/1.1)
  • 308 Permanent Redirect (RFC 7538)


When the following status codes are received, the conditional exit Failed will be selected:

  • 300 Multiple Choices
  • 304 Not Modified (RFC 7232)
  • 305 Use Proxy (since HTTP/1.1)
  • 306 Switch Proxy
    < Previous | Next >