Click HERE to see how Saviynt Intelligence is transforming the industry. |
on 10/29/2024 05:14 PM
The scope of this guide is to explain processing types in REST connector, ImportAccountEntJSON field pertaining to AccEntParams which is responsible for account and entitlement correlation. The processing types related to accounts or entitlements import are out of scope.
We currently support the below processing types in AccEntParams:
acctToEntMapping
httpEntToAcct
httpAcctToEnt
entToAcctMapping
http
acctToEntMapping - Specify this value when acctEntMappings is defined in accountParams section. The other elements such as connection, http, listField, keyField, entKeyField, acctIdPath need not be added.
httpEntToAcct - Specify this value when you want to call an http API for each entitlement to get the list of accounts associated with it. Specify ${id} to iterate API calls for each entitlement value in http url field attribute.
httpAcctToEnt - Specify this value when there is a need to make an API call for each account to get mapping with all the entitlements of a particular entitlement type. Specify ${id} to iterate API calls for each account in http url field attribute.
entToAcctMapping - Specify this value when acctEntMapping tag is defined inside entitlementParams section. Rest of the elements i.e. EntTypes should not be mentioned. Specifying acctEntMappingInfoColumnFromEnt in colsToPropsMap is mandatory.
http - Specify this value when all the account entitlement mappings (with all entitlement types) are returned with a single http API call.
How can I determine which processing type to use in AccEntParams?
The choice depends on the API call's response regarding the account-entitlements relationship. Application webservice responses may present accounts and entitlements in various JSON formats. The solution section below explains a few common API responses with examples, along with the corresponding processing type to use.
Make sure the following prerequisites are met before proceeding.
Accounts and Entitlements meta data imported successfully.
Accounts and Entitlements have unique identifier attribute imported from target into accountid and entitlementid columns respectively.
Specifying acctEntMappingInfoColumnFromEnt in colsToPropsMap is mandatory to store account information.
Response Type entToAcctMapping:
This examples shows an API response which contains entitlements meta data as well as accounts information.
Example API Response for one entitlement and the entitlement membership
account_id represents an unique field corresponding to the accounts on target application and the same account_id field is imported and mapped to the accountid attribute of the Saviynt’s account object as part of account import.
id attribute represents unique field corresponding to the entitlements on target application and the same id field is imported and mapped to the entitlementid attribute of the Saviynt’s entitlement object as part of access import.
{ "groups": [ { "url": "https://xxx.zendesk.com/api/v2/groups/9829727140881.json", "displayName": "Support", "description": "", "default": true, "id": 1001, "account_id": 1234 } ], "next_page": null, "previous_page": null, "count": 1 }
Sample ImportAccountEntJSON
{
"accountParams": {
< Account Import JSON configured here and account import is working as mentioned in prerequisites >
},
"entitlementParams": {
"processingType": "SequentialAndIterative", "entTypes": { "Group": { "entTypeOrder": 0, "call": { "call1": { "connection": "userAuth", "callOrder": 0, "stageNumber": 0, "http": { "httpHeaders": { "Authorization": "${access_token}" }, "url": "@@BASEURL@@/admin/v1/Groups?attributes=members,displayName", "httpContentType": "application/json", "httpMethod": "GET" }, "listField": "Resources", "keyField": "entitlementID", "colsToPropsMap": { "entitlementID": "id~#~char", "entitlement_value": "displayName~#~char", "acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char" } } }, "acctEntMappings": { "listField": "", "idPath": "account_id", "keyField": "accountID", "importAsAccount": false } } }
},
"acctEntParams":
{
"processingType": "entToAcctMapping"
}
}
https://docs.saviyntcloud.com/bundle/REST-v24x/page/Content/REST-Integration-Overview-v2022x.htm
https://docs.saviyntcloud.com/bundle/REST-v24x/page/Content/Examples-for-JSON-Construction.htm
https://docs.saviyntcloud.com/bundle/Dev-Handbook-REST-v24x/page/Content/Developers-Handbook.htm