Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Hello Appian Community,
I'm experiencing a URL encoding challenge with query parameters in an integration and would like to know if there's a solution or workaround.
The Problem:
I need to pass query parameter values that contain spaces (e.g., "North America") to an external API via a GET request. When I use Appian's standard Query Parameters in my integration object, the spaces are encoded as + signs, resulting in ?searchText=North+America.
+
?searchText=North+America
However, the external API we're integrating with does not recognize + as a space character and requires spaces to be encoded as %20 (i.e., ?searchText=North%20America).
%20
?searchText=North%20America)
What I've Tried:
%2520
%
urlwithparameters()
application/x-www-form-urlencoded
My Questions:
Additional Context:
Has anyone encountered a similar issue or found a workaround for controlling the URL encoding format in Appian integrations?
Thank you in advance for any guidance!
Discussion posts and replies are publicly visible
Suggest you to do the below.
1. Select 'Build URL from Scratch' in the integration.
2. Use urlwithparameters like() this in the URL configuration
urlwithparameters( "https://openlibrary.org/search.json", {"q"}, {"the lord of the rings"} )
3. Leave Query Parameters empty
okay i tried implementing that, but our requirement needs passing parameters and values, the urlwithparameters helped me in encoding but still cant get the data out of it.Harsha Sharma . can you help me out on this , if you have a fix for this.
Whatever data you need to pass you can pass as rule inputs to the integration and then create urlwithparameters() to work with rule inputs in place of hard code values - the result should be same. Query parameters explicitly would not be needed.
ansht119 said:but still cant get the data out of it
What exactly do you mean by that?
urlwithparameters( cons!BASE_URL, {"searchText"}, {ri!searchText} )