Query parameters are translated based on the defined schema for the particular action. The reason they are translated is when IAP refers to a field as X and the other system refers to it as Y, the adapter needs to put the value in X into Y before putting it into the query parameters for the call to the other system. This will allow the other system to understand the request.
- The query object is then converted to a querystring by the Adapter libraries and appended to the call.
Example: Request query parameters.
const reqObj =
payload: { garbage: 'need since post' },
uriPathVars: [groupId, deviceId],
uriQuery: { name: 'anyname' },
uriOptions: { page: 2 },
addlHeaders: { audit: 'turnOn' },
authData: { domain: 'abc' },
callProperties: {
stub: true,
request: {
attempt_timeout = 60000
}
},
filter: '[*name=doggie]',
priority: 1,
event: 'giveMeMyData'
};
"/api/v1/devices/{pathv1}/interface/{pathv2}?{query}"
is replaced with
"/api/v1/devices/grp123/interface/dev123?name=anyname"