Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

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 you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.