I have a problem with the “$” character in the URL for the “Get Object” operation in the Webservice connector
Here’s the URL I have to use (OData syntax) :
It happens that IDN automatically interprets the characters between two “$” symbols, so it interprets this part $filter=(id eq $ as if it is a variable.
To avoid this behavior I have to escape the “$” symbols that are not variables.
I’ve tried encoding the “$” with “%24” but this doesn’t solve the problem.
I’d like to leave the Before Rule as a last resort in case there’s no way to escape.
You could create a static variable with the value “$” assigned to it and assign this to an Identity Attribute with a transform like below and then reference this variable in your URL:
Thanks for the suggestions. Unfortunately it’s one of the things I’ve already tested but that didn’t solve the problem: it seems that the URL is not interpreted with Apache Velocity Template, I see in the logs literally what is entered in the URL field.
Only stuff between two “$” symbols is translated.
Thanks for the suggestion. I find that this proposal (even if it would work) will complicate the implementation and I would prefer SailPoint to provide us with a simpler solution.
Otherwise, I’ll opt for the Before Operation Rule.
/v1/Users?$filter=id eq ‘$getobject.nativeIdentity$’&$select=userLogin,name,id&$expand=roleStaticUsers($select=rolesId)
Or
/v1/Users?$filter=id eq ‘$plan.nativeIdentity$’&$select=userLogin,name,id&$expand=roleStaticUsers($select=rolesId)
Below query works for me sharing for your reference
###For single account aggregation###
#Get user details (parent endpoint) map the userId (which is personIdExternal)
/odata/v2/User('$plan.nativeIdentity$')?$select=defaultFullName,status,department&$expand=empInfo,pronounsNav/picklistLabels&$filter=status in 'active'&$format=json
#Get EmpJob details (child endpoint) fetch the response like below
/odata/v2/EmpJob?$select=company,companyNav/name_defaultValue&$filter=userNav/empInfo/personIdExternal eq '$response.userId$'&$expand=departmentNav,locationNav,companyNav,customString2Nav,userNav,userNav/empInfo&$format=json
Only the “$” that are not part of the variable should be encoded
The “$” symbols that are part of placeholders must remain unencoded
I think there was a mistake in the first tests I did.