An emite IPaaS Integration typically consists of a single primary Action which is responsible for saving data to the data store (Elastic Search / Open Search) and executed on a schedule / 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 Referenced 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].[Alias] as the Source, and use the Mapping's Params to pass a look up value to the referenced 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 GetUsers API endpoint, to retrieve a list of User Names and User ID’s:
…/rest/api/getUsers
A GetUserGroup API endpoint, to retrieve the Group assigned to a particular User ID:
…/rest/api/getUserGroup/{{userID}}
- Note, 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 GetUsers (Primary) Action Group Name Mapping’s Params would be configured like this (passing the User ID over to the referenced Action):
The GetUserGroup Commands section will be configured to accept the User ID parameter, like this:
The GetUserGroupAction Mappings would be configured like this:
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Things to consider:
|