Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

REST Connector Access Import - Need Information

rahul_shetty
New Contributor
New Contributor

Hello,

We're currently in the process of integrating a REST application with Saviynt and we require your assistance in mapping the parent-child entitlement. Enclosed is the JSON structure we've created. Our primary hurdle lies in aligning entitlement types A and B with C. These entitlements, A and B, are contained within an ArrayList under each entitlement of entitlement type C. We attempted to utilize entMappingParams, but encountered difficulties due to the array list format of the entitlements. Could you kindly aid us in resolving this issue? While mapping works accurately for the first index, it fails during iteration attempts.

ImportAccountEntJSON: 

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty7",
"activeStatus": [
"true"
],
"deleteLinks": true,
"accountThresholdValue": 2,
"correlateInactiveAccounts": false,
"inactivateAccountsNotInFile": false,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***/api/v1/users",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "content",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "name~#~char",
"customproperty7": "active~#~char"
}
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"countryGlobals": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***/api/v1/external/userManagementDictionaries",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "countryGlobals",
"keyField": "entitlement_value",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "#CONST#${boolean global = response.global;if(global){return response.code + ' Global'}else {return response.code}}~#~char",
"customproperty1": "name~#~char",
"customproperty2": "code~#~char",
"customproperty3": "global~#~char"
},
"makeProcessingStatus": true
}
}
},
"profitCenters": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***/api/v1/profitCenters",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "content",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "code~#~char",
"customproperty1": "name~#~char",
"customproperty2": "gtaId~#~char"
},
"makeProcessingStatus": true
}
}
},
"sapSegments": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "***/api/v1/sapSegments",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "content",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "code~#~char",
"customproperty1": "name~#~char",
"customproperty2": "gtaId~#~char"
},
"pagination": {
"page": {
"pageSizeParam": "size",
"pageSize": 50,
"pageRecordCount": "completeResponseMap.numberOfElements",
"pageNumberParam": "page",
"totalCountPath": "completeResponseMap.totalElements",
"firstPageNumber": 1
}
},
"makeProcessingStatus": true
}
}
}
}
},
"entMappingParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"countryGlobals": {
"ent1KeyField": "entitlementID",
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "***/api/v1/external/userManagementDictionaries",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "countryGlobals",
"ent1IdPath": "id",
"ent2IdPath": "profitCenters[0].id",
"ent2KeyField": "entitlementID",
"targetEntType": "profitCenters",
"addDependentTask": false,
"removeDependentEntTask": false,
"mappingTypes": ["ENT2"]
}
}
}
}
},
"acctEntParams": {}
}

Sample response:

{
"countryGlobals": [
{
"id": "bcf1-c574bbaf828a",
"global": false,
"gtaId": "120",
"code": "AL",
"name": "Albania",
"financialActive": true,
"profitCenters": [
{
"id": 936f-307413a2d880",
"gtaId": "ABC",
"code": "ABC",
"name": "ABC"
},
{
"id": "4780-a64f-9f888996d6b9",
"gtaId": "CDE",
"code": "CDE",
"name": "CDE"
}
],
"segments": [
{
"id": "9152-7ffb022aa504",
"gtaId": "DEF",
"code": "DEF",
"name": "DEF"
},
{
"id": "be85-a4d4b18fec33",
"gtaId": "ABD",
"code": "ABD",
"name": "ABD"
}
]
},
{
"id": "89c0-dc95a4820818",
"global": false,
"gtaId": "720",
"code": "AT",
"name": "Austria",
"financialActive": true,
"profitCenters": [
{
"id": "9e00-b2dd029561ba",
"gtaId": "AVC",
"code": "AVC",
"name": "AVC"
},
{
"id": "aa5c-43a9baf8b048",
"gtaId": "SDE",
"code": "SDE",
"name": "SDE"
}
],
"segments": [
{
"id": "9b4d-faa7a2e28876",
"gtaId": "SDE",
"code": "SDE",
"name": "SDE"
}
]
}
]
}

Regards,

Rahul

1 REPLY 1

rushikeshvartak
All-Star
All-Star

{
"entMappingParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"countryGlobals": {
"ent1KeyField": "entitlementID",
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "***/api/v1/external/userManagementDictionaries",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "countryGlobals",
"ent1IdPath": "id",
"ent2ListPath": "profitCenters",
"ent2IdPath": "id",
"ent2KeyField": "entitlementID",
"targetEntType": "profitCenters",
"addDependentTask": false,
"removeDependentEntTask": false,
"mappingTypes": ["ENT2"]
},
"call2": {
"connection": "acctAuth",
"callOrder": 1,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "***/api/v1/external/userManagementDictionaries",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "countryGlobals",
"ent1IdPath": "id",
"ent2ListPath": "segments",
"ent2IdPath": "id",
"ent2KeyField": "entitlementID",
"targetEntType": "sapSegments",
"addDependentTask": false,
"removeDependentEntTask": false,
"mappingTypes": ["ENT2"]
}
}
}
}
}
}


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.