Field Name | Field Type | Description |
---|
Label* Default Value: REST Get Example: Get User Details
| String | Specify a unique name for the Snap.
|
Service URL*
Default Value: N/A Example: https://elastic.snaplogic.com/api/1/rest/ public/runtime/snaplogic? start=1430377200000&end=1430420399000 | String/Expression | Specify the service endpoint URL of REST API. You can provide the URL in one of the following ways: For example: http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account/'+encodeURIComponent("Special_char_owner_!3)12.json") For example: "https://www.example.com/slm/webservice/v2.0/defect/%s".replace("%s", $.widg et.id) For Snaps using AWS Signature V4 accounts, you can use the canonical name (CNAME) for the URI so it's not necessary for the URL to end with amazonaws.com or have the region and service provided in it. However, if you are using the CNAME you must provide it in the AWS Region and Service Name fields in the AWS Signature V4 account. The host name in the CNAME must be equal to the bucket name. For example: Previous URI: https://jsmith-bucket.nia3.snaplogic.net.s3.us-west-1.amazonaws.com/HttpClientTest/test1 New URI with CNAME: https://jsmith-sltest.nia3.snaplogic.net/HttpClientTest/test1 Here, the bucket name is jsmith-bucket.nia3.snaplogic.net The Snap finds the value at the JSON path $.widget.id in the input data and replaces "%s" in the Service URL with the value. You can connect File Reader and JSON Parser Snaps upstream of a REST Put Snap and prepare the following JSON file for the File Reader Snap: Paste code macro |
---|
| [
{ "widget": { "id": "111", "name": "foo" } }
{ "widget": { "id": "555", "name": "bar" } }
]
"https://www.example.com/data/v27.0/sobjects/Account" |
Note |
---|
The Service URL for a REST snap must be valid. If the Service URL contains any special characters, such as !, =, %21, $, and ^, the Snap throws an exception error. You can escape the special characters (using expression language) with one of the following methods: For example: http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account /'+encodeURIComponent(_fileName) For example (where <%213%2912> is the code): http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account /Special_char_owner_%213%2912.json
We recommend that you use the encodeURIComponent method to escape the special characters. |
|
Process array
Default Value: Deselected | Checkbox | Select to produce a stream of documents with one record in each document. If the Process Array property is selected, it takes a response that’s an array [{"value": 1}, {"value": 2}] and provides the individual inner json as separate documents. If the content provided doesn’t parse with the provided Content-Type , the snap will error. If the Process Array property is not selected, the Snaps attempts to convert the entity to a string or a byte array depending on the response headers.
|
Trust all certificates
Default Value: Deselected | Checkbox | Multiexcerpt include macro |
---|
name | Trust_All_Certificates |
---|
page | REST Post |
---|
|
|
Follow redirects Default Value: Selected
| Checkbox | Multiexcerpt include macro |
---|
name | Follow_Redirects |
---|
page | REST Post |
---|
|
|
Query parameters
Default Value: N/A Example: $User | Multiexcerpt include macro |
---|
name | Query_Parameters_REST |
---|
page | REST Post |
---|
|
|
Query parameter
Default Value: N/A Example: id | String | The name of the query parameter.
|
Query parameter value
Default Value: N/A Example: $widget.id | String/Expression | The value that you want to assign to the parameter. Multiexcerpt include macro |
---|
name | ExpEnabled |
---|
page | REST Put |
---|
|
|
HTTP Header | Multiexcerpt include macro |
---|
name | HTTP_Header |
---|
page | REST Post |
---|
|
|
Key
Default Value: N/A Example: content-type | String/Expression | The name of the HTTP header. Multiexcerpt include macro |
---|
name | ExpEnabled |
---|
page | REST Put |
---|
|
|
Value
Default Value: N/A Example: application/json | String/Expression | The value that you want to assign to the HTTP header. Multiexcerpt include macro |
---|
name | ExpEnabled |
---|
page | REST Put |
---|
|
|
Response entity type
Default Value: DEFAULT Example: TEXT | Dropdown list | Select one of the following response entity types you want the Snap to display in the output document.: DEFAULT - Select this option to enable the Snap to process the response automatically. The response entity is processed automatically based on the Content-Type header in the response. If the content provided does not parse with the provided Content-Type , the snap will result in an error. The following two scenarios describe the Snap’s behavior when using the Process Array checkbox:: When you select the Process Array checkbox, the Snap parses JSON or XML and produces a stream of documents at the output view. When you deselect the Process Array checkbox, the Snaps sends the data as it is at the output view.
TEXT - Select this option to enable, the Snap to produce an entity of string type. BINARY - Select this option to enable the Snap to produce an entity of byte array type.
Note |
---|
If you select TEXT or BINARY, the Snap does not parse the entity content. If you select DEFAULT, the Snap produces the expected result in most cases, but if it fails to process as expected, you can set the Response entity type to TEXT or BINARY. |
|
Cookie Policy
Default Value: Ignore Cookies Example: RFC Strict | Dropdown list | Select a Cookie Policy from the following options: Browser Compatibility: This policy is compatible with different servers even if they are not completely standards-compliant. If you are facing issues while parsing cookies, you should try using this policy. Ignore Cookies: This cookie policy ignores all cookies. You should use this policy to prevent HTTP Client from accepting and sending cookies. RFC Strict: This policy uses the set-cookie header RFC Lax: The policy uses set-cookie and set-cookie2 for parsing.
|
Read timeout
Default Value: 900 Example: 60 | Integer | Multiexcerpt include macro |
---|
name | Read_Timeout |
---|
page | REST Post |
---|
|
|
Connection timeout
Default Value: 30 Example: 60 | Integer | Multiexcerpt include macro |
---|
name | Connection_Timeout |
---|
page | REST Post |
---|
|
|
Maximum request attempts
Default Value: 5 Example: 3 | Integer | Multiexcerpt include macro |
---|
name | Maximum_Request_Attempts |
---|
page | REST Post |
---|
|
|
Retry request interval
Default Value: 3 Example: 10 | Integer | Specify the time in seconds to wait before retrying the request. |
Retry Policy
Default Value: Connection errors Example: All errors | String | Select how you want to handle connection and error responses from the following options: Connection errors: Occurs when a client fails to establish a secure connection to the server. Connection and auth errors (401/403): Occurs when either the user authorization fails or access to the page/resource is forbidden. Connection and client errors (4xx): Occurs when the request for the resource contains bad syntax or when the resource is not found (404). Connection and server errors (5xx): Occurs when the server is unable to complete a request. All errors: Applies to all of the above-listed errors.
|
Normalize URL | Checkbox |
Excerpt |
---|
| Select this checkbox to normalize the Service URL. This enables the Snap to convert double slashes (//) in the URL path to single slash (/). For example, https://example.com/path//to//file is converted to https://example.com/path/to/file. Deselecting this check box reverts the Snap to 4.19 Snaplex behavior, wherein the URL paths were not normalized by default. Note |
---|
In the 4.20 Release, due to the HTTP client upgrade the URL paths were normalized by default. Hence, there was a change in behavior in handling the URL paths in 4.20 release when compared to 4.19. This change in behavior should not impact the existing Pipelines, because most of the websites map URL paths with double or single slashes to the same endpoint. For example, https://snaplogic.com/company/diversity and https://snaplogic.com//company//diversity direct to the same endpoint. Therefore, we recommend you to select the Normalize URL checkbox. However, an exception to this is when you use non-standard URLs that differentiate the URL paths containing double slashes from those with single slashes and map them to different endpoints, in which case you must deselect Normalize URL check box. For example, http://host/pages/foo.html and http://host/pages//foo.html point to different URIs, and servers assign different meanings to them. |
Default Value: Selected Example: Deselected |
|
Has next
Default Value: N/A Example: $entity['has-more'] | String/Expression | Enter the expression that must be evaluated on the output document to true or false, to indicate whether there are more records available. The Snap continues to read the next page until this expression evaluates to false in the new set of output documents. Info |
---|
Has next is a property in the API response that indicates whether there are more records to be fetched. This property is used for the REST Get pagination feature, which retrieves 20 records at a time (referred to as a page), by default. Learn more about REST Get#RESTGetPagination. |
To see this property in action, see Retrieving Contact Information from HubSpot or Retrieving Contact Information from HubSpot Using Upstream Values, below. Note |
---|
This field is null-safe; if the evaluated value is null, or if there is no value provided in Has next field, the Snap stops the pagination. |
|
Next URL
Default Value: N/A Example: $entity['has-more'] | String/Expression | Enter the expression that is evaluated on the output document to a URL that the Snap must use to get the next page. This property is used for the REST Get pagination feature. The Next URL has two components, which are structured as follows:
"<endpoint_URL>&<offset_indicator>=" + $entity['last_ID_retrieved'] The first component contains the URL of the endpoint and an instruction to look for the offset indicator. ("<endpoint_URL>&<offset_indicator>="). The second component is a pointer to the parameter in the API response that contains the ID of the last entity retrieved. This tells the endpoint that the next page must contain entities that are returned after the entity number listed in the Next URL.
You can create the Next URL in either of the following ways: You can enter the entire URL in the expression and include the parameter required to fetch the next set of documents. Example: " https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo&vidOffset=" + $entity['vid-offset'] If you have the URL part of the Next URL as an input from an upstream Snap, you can structure the Next URL expression using the original parameter in the API response received. For example, if you have the following input coming from upstream: Paste code macro |
---|
[
{
"url": "https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo&vidOffset"
}
] |
You can configure the Next URL field as follows: Paste code macro |
---|
$original.msg+ "=" + $entity['vid-offset'] |
Here, vid-offset is the API response parameter containing the ID of the last output received from the endpoint. If the API response does not contain a field with information about the last entity retrieved, you can use the Snap's output document count to fetch the next page. For example, <https://domain.com/object/page/' + (snap.out.totalCount + 1).toString()>
For additional information, see Retrieving Contact Information from HubSpot or Retrieving Contact Information from HubSpot Using Upstream Values. Info |
---|
The Next URL is evaluated as an expression but not encoded, which is the general behavior of the Snap. |
|
Pagination interval(s)
Default Value: 0 Example: 10 | Integer | The number of seconds for the Snap to wait before attempting to get the next page.
|
Show all headers
Default Value: Deselected | Checkbox | Multiexcerpt include macro |
---|
name | Show_All_Headers |
---|
page | REST Delete |
---|
|
|
Snap Execution
Default Value: Validate & Execute Example: Validate & Execute | String | Multiexcerpt include macro |
---|
name | Snap_Execution_Introduced |
---|
page | Anaplan Read |
---|
|
|