An emite IPaaS Integration typically consists of a single primary Action which saves data to a data store (Elastic Search / Open Search) and is executed on a schedule once published.
However, a single Action can only interface with a single API endpoint, so how can an emite IPaaS integration retrieve and consolidate data from multiple API endpoints / multiple data sources?
The answer is References To Actions.
You can create additional Actions within your IPaaS Integration (which retrieve data from different API endpoints) and then reference them from your primary Action, for look-up purposes.
Info |
---|
To reference another Action within a Mapping, use the format [Action Name].[Field] as the Source, and use the Mapping's Params to pass a look up value to the other action using the format {{value}} |
For example, let’s say your requirement was to retrieve a list of Users from a 3rd-party system, along with their corresponding Group memberships.
After researching the 3rd-party system’s online API documentation, you find out that you need to use 2 separate API endpoints to get all the required data.
A GET GetUsers API endpoint, to retrieve a list of User Names and User ID’s:
…/rest/api/getUsers
A POST GetUserGroup API endpoint, to retrieve the Group assigned to a particular User ID:
…/rest/api/getUserGroup/{{userID}}
- Note how this particular API Endpoint accepts a parameter{{userID}}
So you will need to create two (2) Actions to meet this requirement, as follows:
The GetUsers (Primary) Action will retrieve a list of User ID’s and User Names. It will also have a Group Name Mapping which references the second Action GetUserGroup, passing the User ID as a parameter, to retrieve each user’s assigned Group.
The GetUsers (Primary) Action Mappings would be configured like this:
The Group Name Mapping’s Params would be configured like this:
The GetUserGroup Action Mappings would be configured like this:
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Things to consider:
|