...
You can use the REST Patch Snap to execute an HTTP Patch method on a REST API service endpoint to replace business object resources. If the given resource does not exist, the Snap creates the resource.
Prerequisites
None.
Supported Features
...
Field Name | Field Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Label* | String |
Default Value: REST Patch | ||||||||
Service URL* | URL | Specify the service endpoint URL of REST API. You can provide the URL in one of the following ways:
For example:
For example: 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 hostname in the CNAME must be equal to the bucket name. For example: New URI with CNAME: Here, the bucket name is 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:
Default Value: N/A | ||||||||
HTTP Entity | String |
Default Value: $ (the HTTP entity data is at the root of the input map data) | ||||||||
Batch size | Integer |
Default Value: N/A | ||||||||
Show all headers | Checkbox |
Default Value: Deselected | ||||||||
Form Upload |
Default Value: N/A | |||||||||
Multipart Type | Dropdown list | Choose the type of multipart upload that you want to initiate. The available options are:
| ||||||||
Multipart Key | String | Specify the key required for the multi-part to upload a file or text as required. HTTP POST uses multi-part entity to achieve the form upload. The form data of its multi-part entity contains key-value pairs.Multipart Key can be anything and it depends on the service endpoint. Default Value: file | ||||||||
Multipart Value | String/Expression | Specify the the file or text to be uploaded. If Multipart Type is FILE, the following are applicable:
If Multipart Type is a TEXT, then
Default Value: N/A
| ||||||||
Filename to be used | String | Enter the name that you want to use for the file at the endpoint.
Default Value: N/A | ||||||||
Multipart Content- Type | String | Select the content type headers for the data in the body of the multipart HTTP request. This enables the Snap how to read or interpret the input file . The available options are:
Default Value: N/A | ||||||||
Trust all certificates | Checkbox |
Default Value: Deselected | ||||||||
Follow redirects | Checkbox |
Default Value: Selected | ||||||||
Query parameters |
| |||||||||
Query parameter | String | Enter the name of the query parameter. Default Value: N/A | ||||||||
Query parameter value | String | Enter the value that you want to assign to the parameter. Default Value: N/A | ||||||||
HTTP Header |
| |||||||||
Key | String | Enter the name of the HTTP header.
Default Value: N/A | ||||||||
Value | String | Enter the value that you want to assign to the HTTP header.
Default Value: N/A | ||||||||
Response entity type | String | Select one of the following response entity types you want the Snap to display in the output document.:
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. Default Value: DEFAULT | ||||||||
Cookie Policy | Dropdown list | Select a Cookie Policy from the following options:
Default Value: Ignore Cookies | ||||||||
Read timeout | Integer |
Default Value: 900 | ||||||||
Connection timeout | Integer |
Default Value: 30 | ||||||||
Maximum request attempts | Integer |
Default Value: 5 | ||||||||
Retry request interval | Integer | Specify the time in seconds to wait before retrying the request. Default Value: 3 | ||||||||
Retry Policy | String |
Default Value: Connection errors | ||||||||
Normalize URL | Checkbox | Select this checkbox to normalize the Service URL. This enables the Snap to convert double slashes (//) in the URL path to a single slash (/).
Default Value: Selected | ||||||||
Snap Execution | Checkbox |
Default Value: Validate & Execute |
...
Error | Reason | Resolution |
---|---|---|
Failed to execute HTTP request | Service URL must have a protocol, e.g. http://, https:// You get this error when your service URL does not start with HTTP or HTTPS. | Check the Snap properties. Specifically, check whether your service URL starts with HTTP or HTTPS. |
status code = 404 | Phrase = NOT FOUND, refer to the error_entity field in the error view document for more details This typically means that your service URL does not point to the endpoint that it should. | Check the values of Snap properties. Specifically, check your service URL. |
status code = 406 | NOT ACCEPTABLE. This means that the endpoint is not receiving any details coming in from upstream Snaps. | Ensure that you have valid references in the HTTP entity field. |
status code = 400 | BAD REQUEST You see this error when the data in the HTTP entity field is not a reference. | |
HTTP entity: $<variable1> is undefined. Perhaps you meant: $<expected_variable> | '<variable1>' was not found while evaluating the sub-expression '$<variable1>' This means that the referenced variable does not exist upstream. | Check the spelling of the property or, if the property is optional, use the get() method (e.g. $.get('<variable1>') ) |
status code = 404 | NOT FOUND, refer to the error_entity field in the error view document for more details This means that SnapLogic could not find the data on which you want the patch call to execute. | Check the values of Snap properties. |
URL Parse Exception - 403 | The Service URL path might be containing any of the following special characters: !, =, %, #, $, ^&()_¢äâêîôûñç¡¿ÉÙËǨ°¸ðø©¢¾A+²½µ®§÷¶þ | To escape the special characters, use the global function encodeURIComponent on any variables that might contain special characters so that they are encoded properly. |
Too many Requests - 429 | There are too many requests to REST endpoint. | Wait for the retry to succeed. Rest related Snaps extract the response header and automatically retry when they encounter status 429. By default, the retry interval (Retry-After) is specified in the HTTP response header. If no value is available for Retry-After, then the Snap’s Retry Interval value is used. |
...
- Click the JSON Generator Snap and configure it to supply the email ID that you want to remove from a SnapLogic Org, say DocTest.
- Configure the REST Patch Snap to send the user details retrieved from the JSON Generator Snap to the service URL documented in User and Group APIs. You must also specify in the HTTP Headers section that the content type used in this REST call is "application/json".
- In this Snap:
- The Service URL is set to the API path for the group you are modifying, such as https://elastic.Snaplogic.com/api/1/rest/public/groups/<organization>/<groupname>
- HTTP entity has the express toggle enabled and is set to $.
- An HTTP header is created with a Key of Content-Type and a Value of application/json.
- For the Account, use a REST Basic Auth account with your SnapLogic credentials. For information on setting up your account see REST Basic Auth Account.
- When you run the Pipeline, the user listed in the JSON Generator Snap is removed from the group you specified in the service URL.
Downloads
Multiexcerpt include macro | ||||
---|---|---|---|---|
|
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...