Click HERE to see how Saviynt Intelligence is transforming the industry. |
05/31/2024 06:29 AM
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
06/03/2024 08:39 PM
{
"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"]
}
}
}
}
}
}