We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

Accounts Entitlement Mapping From Two getAccount api call

Micky16
New Contributor III
New Contributor III

Hi Team,

We need to import accounts from two different api calls that will have same set of users but different group mappings.

Url 1: User A will have group A inside an array

Url 2: User A will have group B, C, D inside an array

 

Example

Micky16_1-1672374991728.png

Hence, in total after the 2nd call... user A will have 4 groups mapped under the entitlement hierarchy.

I am able to fetch account-entitlement mappings from the first url but not working in the second call. Structure of JSON as below,

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig":{
"statusColumn":"customproperty1",
"activeStatus":[
"true"
],
"deleteLinks":true,
"accountThresholdValue":1000,
"correlateInactiveAccounts":true,
"inactivateAccountsNotInFile":true,
"deleteAccEntForActiveAccounts":true
},
"doNotChangeIfFailed": true,
"includeExistingInActiveAccounts":true,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxversion1",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "value.User",
"keyField": "accountID",
"statusConfig":{
"active":"true",
"inactive":"false"
},
"colsToPropsMap":{
"accountID":"UniqueName~#~char",
"name":"UniqueName~#~char",
"customproperty1":"Active~#~char",
"status":"Active~#~char",
"customproperty31":"STORE#ACC#ENT#MAPPINGINFO~#~char"
}
},
"call2": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxversion2",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "value.User",
"keyField": "accountID",
"colsToPropsMap":{
"customproperty31":"STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"AribaGroupResponsiblePU": {
"listPath": "AribaGroupResponsiblePU.UniqueName",
"idPath": "",
"keyField": "entitlementID"
}
}
},
"acctEntParams": {"processingType": "acctToEntMapping"}
}

3 REPLIES 3

Micky16
New Contributor III
New Contributor III

Anyone can help me with this query

Rajesh-R
Saviynt Employee
Saviynt Employee

Hi Micky,

While importing accounts from api calls along with group mappings, accounts CustomProperty31 is used to temporarily save the account entitlement mapping and then when we run the access import, the mapping of the accounts to entitlements will be updated in the Entitlement Hierarchy.

In the Two calls approach, the Customproperty31 is getting overwritten by the latest most call and hence only the partial representation of the account entitlements is available in the entitlement Hierarchy.

This is not supported in Saviynt. Alternatively we can design the REST API in such a way as any one of below:

  • Collate the results of api 1 call and api 2 call into a single api call. (All users - All group mappings in a single call).
  • Provide unique / distinct users in each api call. (Users in api 1 call should not overlap with users in api 2 call)
  • Provide the group mappings on the entitlements call - Provide the list of users assigned to the group in the entitlements call.

Thanks
Rajesh Ramalingam
Saviynt India

Use Jar Connector and build this in custom Java. Code


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.