REST snap errors when passing in variables for HTTP Entity and Service URL

I’m basically doing what is described in the following article but am getting an error.

Failure: Service URL: $serviceUrl is undefined. Perhaps you meant: $requestBody, Reason: ‘serviceUrl’ was not found while evaluating the sub-expression 'serviceUrl', Resolution: Check the spelling of the property or, if the property is optional, use the get() method (e.g. .get(‘serviceUrl’))

This is from my REST Patch snap:

This is the json that is the input for the REST Patch snap:

[

{

“requestBody”:

{

“ExternalIdentifierNumber”:

“002500012”

}

}

{

“serviceUrl”:

"https:///”

}

]

Thanks,
Scott

@swright your input JSON doesn’t look correct. If you want to reference two variables, they need to be within the same JSON object. For instance, this is an example of an input document to the REST PATCH Snap that would allow referencing $serviceUrl and $requestBody in the Snap settings:

[
    {
        "requestBody": {
            "ExternalIdentifierNumber": "002500012"
        },
        "serviceUrl": "https://"
    }
]

If you wanted two PATCH requests to be sent (sequentially, to different URLs etc), the input body would look like:

[{
	"requestBody": {
		"ExternalIdentifierNumber": "002500012"
	},
	"serviceUrl": "https://someurl.com"
},
{
	"requestBody": {
		"ExternalIdentifierNumber": "ABCD"
	},
	"serviceUrl": "https://anotherurl.com"
}]
1 Like

Hi Robin,

I’m having some trouble getting it into that format. I’m using a union and somehow that is the output of the union. The target path of mapper2 is the $requestBody.ExternalIdentifierNumber and mapper3 is the $serviceUrl.:

Thanks,

Scott

@swright A Union will combine two streams of documents into a single stream.

What you want to do is combine the actual document contents themselves (a document in one stream is combined with the content of a document in another stream). To do this, use the Join Snap where the left and right paths resolve to the same constant value e.g.

Thanks Robin! That corrected the error!

Scott