Service Node - Passing url query parameters as encoded

Hi,

While making service call, I am encoding url query parameters as it contains special characters.
It seems, api doesn’t work in case I encode query parameters.

Am I missing something?
Please help me resolve this.

Thanks,
Neha Sheikh

Hi @nehamsheikh,

We have tried checking this at our end. But, with the given information, we couldn’t replicate the scenario appropriately.

Kindly send us the screenshots, replication steps to help you further.

Regards,
Yoga Ramya.

Suppose my service to be called is:
https://myDomain.com/user?id=user 1(%)

Here id value (user 1(%)) contains special characters, so I am first encoding the url before making service call.
But encoded urls with special characters doesn’t seem to work.

Hope this example helps you to debug.

Thanks,
Neha Sheikh

Is it a bug? Because even if I encode URI for special characters, it doesn’t seem to work.

Please help me debug this as from platform it’s complete black box to even debug what is going wrong.

Thanks,
Neha Sheikh

Hi Neha,

We are checking the issue.
We will update you with full details.

Regards,
Yoga Ramya.

@nehamsheikh @yogaramya.mendu
We recommend using encodeURIcomponent to fully encode the URL if needed.

  1. Construct the API end point and query parameters dynamically in a script node.
  2. Encode the content fully in a context variable in that script node.
    var encodedURL = encodeURIComponent("https://abc.com/endpoint?q=[abc_def]);
    context.encodedURLToUseInServiceNode = encodedURL
  3. Use the context variable in the service node
    GET/POST {{context.encodedURLToUseInServiceNode}}
    configure the headers, auth profile and rest of the settings as needed.