Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this article

Table of Contents
maxLevel2
absoluteUrltrue

Overview

Use

Multiexcerpt include macro
nameKI_use_HTTP_client_instead
templateData[]
pageREST Snap Pack
addpanelfalse

You can use the REST Delete Snap to delete business object resources using a REST API call.

Image RemovedImage Added

Prerequisites

None.

Supported Features

Works in Ultra

Pipelines if a timeout is specified and batching is disabled

Tasks. We recommend that you set the batch size to 1.

Limitations and Known Issues

None.

Snap Input and Output

Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input Document
  • Min: 0
  • Max: 1
  • REST Get
  • Mapper
  • Script
Each input document contains the ID of the object to be deleted at the REST API service endpoint.
OutputDocument
  • Min: 0
  • Max: 1
  • REST Post
  • JSON Formatter
  • Mapper

Each output document contains response data from the REST API service endpoint detailing the status of the request.

Snap Settings

Parameter
Field Name
Data
Field TypeDescription
Label*String

Insert excerpt
File Writer
File Writer
nopaneltrue

Default Value

Example LabelStringThe name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.N/ADelete Identified Objects

Service URL

String

The service endpoint URL of the REST API.

The Snap looks for the value at the JSON path provided in the input document (

: REST Delete
ExampleREST Delete

Service URL*

String/Expression

Specify the service endpoint URL of REST API. You can provide the URL in one of the following ways:

  • As a JavaScript expression in the expression language.

For example: http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account/'+encodeURIComponent("Special_char_owner_!3)12.json")

  • As a plain string that you should enclose in double quotes ("").

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 hostname 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

sample service URL provided on the right)

input data and replaces "%s" in the Service URL with

this value.N/A"

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:


Note

The Service URL for the REST snap has to 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) using one of the following methods:

We recommend you use the former (encodeURIComponent) method to escape the special characters.

Default Value: N/A
Examplehttps://www.example.com/slm/webservice/v2.0/defect/%s".replace("%s", $.widget.id)

HTTP entityString
The JSON path to the HTTP entity data in the input map. You can leave this property empty if there is no entity data to send to the service URL.(the HTTP entity data is at the root of the input map.)

$response.entity.id (if the HTTP entity that you want to delete is the value of the response.entity.id key in the input map.)

Batch sizeIntegerThe number of delete requests that you want to execute per batch. The Snap accumulates incoming documents in a list up to the defined batch size before the entire batch is submitted to the endpoint. Make sure to only set this if your REST endpoint expects a list.N/A50Show all headersCheck box
/Expression

Multiexcerpt include macro
nameHTTP_entity
pageREST Post

Default Value: N/A
Example$response.entity.id 

Batch sizeString

Multiexcerpt include macro
nameBatch_Size
pageREST Patch

Default Value: N/A
Example50

Show all headersCheckbox


Multiexcerpt macro
nameShow_All_Headers

The REST endpoint may return a response with multiple headers with the same header name.

  • If this property is deselected, only one response header will be shown in the output document.
  • If selected, the response header displays all the response header values received as a list of objects.
noteN

If any of these objects has a key-value format, it is parsed into the map data.

Deselected


N

Default Value: Deselected
Example: N/A

Trust all certificates*
Check boxSelect this check box to instruct the Snap to trust all certificates, such as self-signed certificates.Deselected
Checkbox

Multiexcerpt include macro
nameTrust_All_Certificates
pageREST Post

Default ValueDeselected
Example: N/A

Follow redirects
Check box

Select this check box to instruct the Snap to follow HTTP redirects.

For example, when this check box is selected and the endpoint sends a redirect response, such as a 301 or 302 response code, the Snap makes another request to the URL specified in the Location header of the API response.

In the same scenario, when this check box is not selected, the Snap does not make the second request, and the redirect response code will appear in the output view.

SelectedN/AQuery parametersFieldsetEnables you to define query parameters. This is optional and can also be defined directly in the service URL.
*Checkbox

Multiexcerpt include macro
nameFollow_Redirects
pageREST Post

Default ValueSelected
Example: N/A

Query parameters

Multiexcerpt include macro
nameQuery_Parameters_REST
pageREST Post

Query parameter

String
The name that you want to use for

Specify the name (or key) of the query parameter.

N

Default Value: N/A
Exampleoauth2_access_token

Query parameter value

String/Expression
The value that you want to assign to

Specify the value associated with the query parameter.

N

Default Value: N/A
Example$account.access_token

HTTP header
FieldsetEnables you to define the HTTP headers that you want to use with your query. This is optional and can also be defined directly in the service URL.

Multiexcerpt include macro
nameHTTP_Header
pageREST Post

Key

String
The

Specify the name that you want to use for the HTTP header.

N

Default Value: N/A
Example: User-Agent

Value

String/Expression
The

Specify the value that you want to assign to the HTTP header.

N

Default Value: N/A
ExampleSnapLogic

Response entity typeString
The

Select one of the following response entity

type

types you want the Snap to display in the output document.

The available options are

:

  • DEFAULT

:
  • - Select this option to enable the Snap to process the response automatically. The response entity is processed automatically

. The Snap attempts to convert the entity into a string or a byte array, depending on the contents of the response headers.
  • TEXT: Select this option to produce an entity of type String.
  • BINARY: Select this option to produce a byte array.
  • NoteIf TEXT or BINARY is selected, the Snap will not attempt to
    • 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.

    Info

    If you select TEXT or BINARY, the Snap does not parse the entity content. If you select DEFAULT

    is selected

    , the Snap

    parses the response received and

    produces the expected result in most cases

    . If

    , but if it fails to

    do so,

    process as expected, you can set the Response entity type to TEXT or BINARY

    as appropriate

    .


    Default ValueDEFAULT
    ExampleTEXT

    Read timeoutInteger

    The number of seconds for which you want the Snap to wait before aborting the request.

    Note
    • Every Snap instance can have its own timeout settings.
    • The Snap executes five retries with a couple of seconds back-off time before it fails.
    9001500Connection timeoutInteger

    The number of seconds for which the Snap waits before aborting the request due to a failure in establishing a connection to the target service.

    30

    Cookie Policy

    Dropdown list


    Multiexcerpt macro
    nameCookie Policy

    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.

    When using a cookie policy, you must select Show All Headers checkbox to view the parsed cookies from the cookie policy specification.

    Default Value: Ignore Cookies

    Example: RFC Strict


    Read timeoutInteger

    Multiexcerpt include macro
    nameRead_Timeout
    pageREST Post

    Default Value900
    Example1500

    Connection timeoutInteger

    Multiexcerpt include macro
    nameConnection_Timeout
    pageREST Post

    Default Value30
    Example45

    Maximum request attemptsInteger

    The maximum number of attempts that the Snap makes to receive a response. The request is terminated once the maximum request attempt count is reached.

    5Snap ExecutionString

    Specifies the execution type:

    • Validate & Execute: Performs limited execution of the Snap (up to 50 records) during Pipeline validation; performs full execution of the Snap (unlimited records) during Pipeline execution.
    • Execute only: Performs full execution of the Snap during Pipeline execution; does not execute the Snap during Pipeline validation.
    • Disabled: Disables the Snap and, by extension, its downstream Snaps.

    Validate and ExecuteExecute only

    Multiexcerpt include macro
    nameMaximum_Request_Attempts
    pageREST Post

    Default Value5
    Example3

    Retry request intervalInteger

    The interval (in seconds) between two successive requests.

    310

    Specify the time in seconds to wait before retrying the request.

    Default Value3
    Example10

    Normalize URLCheckbox
    Insert excerpt
    REST Get
    REST Get
    nopaneltrue
    Snap ExecutionString

    Multiexcerpt include macro
    nameExecution_Detail_Write
    pageSOAP Execute

    ExampleValidate and Execute

    Troubleshooting

    ErrorReasonResolution
    Batch execution failedThe Pipeline ended before the batch could complete execution due to a connection error.

    Verify that the Batch size field is configured to handle the inputs properly. If you are not sure when the input data is available, configure this field as zero to keep the connection always open.

    Examples

    The provided URI is invalidIllegal character in scheme nameVerify the URI and parameters that you provide are syntactically correct.
    URL Parse Exception - 403The 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.

    Example

    Creating and Deleting an Account in

    Salesforce

    SnapLogic Using REST Snaps

    In this example, you create an account in Salesforce Prerequisites:

    • A valid account.

    This example Pipeline demonstrates how to create an account in SnapLogic and delete it using REST Snaps.

    Note

    To use this example, you need at least an account in the free version of Salesforce. To create a Salesforce account, see Salesforce Developers.

    You design the Pipeline as follows:
    Image Removed
    In the JSON Generator Snap, you enter a name for the account that you want to create. In this example, you create an account called Test Account.
    Image Removed
    You

              Image Added

    Initially, we configure the JSON Generator Snap where we mention the project name - testDeleteProject111.

              Image Added


    Then, we configure the REST Post Snap to create

    an account in your Salesforce instance

    the project in SnapLogic using the account-name string of your choice. To do so:

    1. You We use the SnapLogic URL provided by Salesforce for managing creating the accounts available project in your instance.
    2. You We use '$$projectName' in the HTTP entity field to specify indicate that you we want to use the string coming from the Snap upstream .You add an HTTP header to the Snap, instructing Salesforce to read the document coming in as a JSON file.
      Image RemovedImage Added
      You

     We click the Account tab and select the account that

    you

    we want to use with

    the

    Snap.


    Image Removed
    You save your changes and close the Snap. When you

     

              Image Added

    When we validate the Snap, it creates

    an account in your Salesforce instance and

    a project in the SnapLogic instance. The Snap displays the following output:

    Image Removed


             Image Added

    The

    id field

    id field lists out the unique identifier of the new

    account

    project created by

    the

    Snap.

    You


    We now want to delete the

    account

    project that you just created. To do so,

    you need to isolate the account ID from the REST Post Snap's output. You

    we use a

    Mapper

    REST Delete for this task.

    Image Removed

             Image Added
    The project you created is deleted from the SnapLogic instance. Upon validation, the

    Mapper

    REST Delete Snap

    offers

    displays the following output:

    Image Removed


    You now use the REST Delete Snap to delete the newly-created account:
    Image Removed
    When the Snap is executed, the account is deleted.
    Image RemovedDownloads

              Image Added

    Download this Pipeline.

    Downloads

    Multiexcerpt include macro
    namedownload_instructions
    pageOpenAPI

    Attachments
    patterns*.slp, *.zip

    REST Delete: Frequently Asked Questions

    Multiexcerpt include macro
    nameRESTSP_FAQ1
    pageREST Snap Pack

    Insert excerpt
    REST Snap Pack
    REST Snap Pack
    nopaneltrue