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

Account Ent mapping is not getting imported when user is having multiple entitlements in REST

mansoorahmed1
New Contributor III
New Contributor III

Im trying to import Accounts , Ent and acct Ent mapping from single API call. I was able to import accounts and entitlement. However acct ent mapping is imported only when the user is having single entitlement if the user is having multiple entitlement then its not getting imported for that user.

Below is the response from API call in postman:

{
"version": "1.0",
"encoding": "UTF-8",
"SOAP-ENV$Envelope": {
"@xmlns$SOAP-ENV": "http://schemas.xmlsoap.org/soap/envelope/",
"SOAP-ENV$Body": {
"ns0$retrieveBulkUserDetailsResult": {
"@xmlns$ns0": "XXX",
"ns0$userList": [

{
"ns0$userId": "T61211",
"ns0$userDetails": {
"ns0$firstName": "xxx",
"ns0$lastName": "xxx",
"ns0$emailId": "xxxxx",
"ns0$lastUpdatedby": "xxx",
"ns0$lastUpdatedDate": "07/10/2020 22:13"
},
"ns0$userRoles": {
"ns0$userRole": [
{
"ns0$roleDesc": "VERIFIER",
"ns0$dateOfTraining": "2018-12-20",
"ns0$teamLeader": "No",
"ns0$superUser": "1"
},
{
"ns0$roleId": "1",
"ns0$roleDesc": "System Administrator"
},
{
"ns0$roleId": "2",
"ns0$roleDesc": "WebSales"
},
{
"ns0$roleId": "3",
"ns0$roleDesc": "B2B Transaction"
},
{
"ns0$roleId": "4",
"ns0$roleDesc": "B2B Customer"
},
{
"ns0$roleId": "50",
"ns0$roleDesc": "CommonLE - Generic"
},
{
"ns0$roleId": "51",
"ns0$roleDesc": "CommonLE - Emart (Simple)"
},
{
"ns0$roleId": "52",
"ns0$roleDesc": "CommonLE - Emart (Advanced)"
},
{
"ns0$roleId": "53",
"ns0$roleDesc": "CommonLE - ReSubmit JMS Messages"
},
{
"ns0$roleId": "54",
"ns0$roleDesc": "GEMS"
},
{
"ns0$roleId": "55",
"ns0$roleDesc": "CommonLE - MCS"
},
{
"ns0$roleId": "56",
"ns0$roleDesc": "EIA Eforms"
},
{
"ns0$roleId": "57",
"ns0$roleDesc": "NCM-Role"
},
{
"ns0$roleId": "58",
"ns0$roleDesc": "NCM User"
},
{
"ns0$roleId": "59",
"ns0$roleDesc": "CAD_Test_Role"
}
]
}
},

Saviynt CP31:

{"userRoles":{"entIds":["[null, 1, 2, 3, 4, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59]"],"keyField":"entitlementID"}}

 

Import JSON:

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"http": {
"url": "xxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Accept": "application/json"
},
"httpParams": {
"retrieveBulkUserDetailsInput": {
"userToken": "IAMUSR"
}
},
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "SOAP-ENV$Envelope.SOAP-ENV$Body.ns0$retrieveBulkUserDetailsResult.ns0$userList",
"keyField": "accountID",
"colsToPropsMap": {
"name": "ns0$userId~#~char",
"accountID": "ns0$userId~#~char",
"customproperty1": "ns0$userDetails.ns0$firstName~#~char",
"customproperty2": "ns0$userDetails.ns0$lastName~#~char",
"customproperty3": "ns0$userDetails.ns0$lastUpdatedby~#~char",
"customproperty4": "ns0$userDetails.ns0$lastUpdatedDate~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"userRoles": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "ns0$userRoles.ns0$userRole.ns0$roleId",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ns0$roleId~#~char",
"entitlement_value": "ns0$roleDesc~#~char"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"userRoles": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

[This post has been edited by a Moderator as we do not allow the tagging of other forum users or employees unless they are already involved on the thread.]

 

2 REPLIES 2

Dhruv_S
Saviynt Employee
Saviynt Employee

Please try with below JSON. First run the account import and check the customproperty31 has values.
and after that run the access import job and after the access import job completion
please check the entitlements being imported.

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"http": {
"url": "xxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Accept": "application/json"
},
"httpParams": {
"retrieveBulkUserDetailsInput": {
"userToken": "IAMUSR"
}
},
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "SOAP-ENV$Envelope.SOAP-ENV$Body.ns0$retrieveBulkUserDetailsResult.ns0$userList",
"keyField": "accountID",
"colsToPropsMap": {
"name": "ns0$userId~#~char",
"accountID": "ns0$userId~#~char",
"customproperty1": "ns0$userDetails.ns0$firstName~#~char",
"customproperty2": "ns0$userDetails.ns0$lastName~#~char",
"customproperty3": "ns0$userDetails.ns0$lastUpdatedby~#~char",
"customproperty4": "ns0$userDetails.ns0$lastUpdatedDate~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"ns0$userRole": {
"importAsEntitlement": true,
"listPath": "",
"idPath": "ns0$userRoles.ns0$userRole.ns0$roleId",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ns0$roleId~#~char",
"entitlement_value": "ns0$roleDesc~#~char"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"ns0$userRole": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

 

Regards,

Dhruv Sharma

Vedanth-BK
Regular Contributor
Regular Contributor

Hi @mansoorahmed1 

Please check with the below json

{
"accountParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"http": {
"url": "xxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Accept": "application/json"
},
"httpParams": {
"retrieveBulkUserDetailsInput": {
"userToken": "IAMUSR"
}
},
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "SOAP-ENV$Envelope.SOAP-ENV$Body.ns0$retrieveBulkUserDetailsResult.ns0$userList",
"keyField": "accountID",
"colsToPropsMap": {
"name": "ns0$userId~#~char",
"accountID": "ns0$userId~#~char",
"customproperty1": "ns0$userDetails.ns0$firstName~#~char",
"customproperty2": "ns0$userDetails.ns0$lastName~#~char",
"customproperty3": "ns0$userDetails.ns0$lastUpdatedby~#~char",
"customproperty4": "ns0$userDetails.ns0$lastUpdatedDate~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"userRoles": {
"importAsEntitlement": true,
"listPath": "ns0$userRoles.ns0$userRole",
"idPath": "ns0$roleId",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "ns0$roleId~#~char",
"entitlement_value": "ns0$roleDesc~#~char"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"userRoles": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
Thank you
Vedanth B.K