Click HERE to see how Saviynt Intelligence is transforming the industry. |
06/07/2023 11:41 AM
Hi Team
I am using below json for accountent import. I am able to import accounts and entitlements but account entitlement mapping is not working
{
"accountParams": {
"unsuccessResponses": {
"message": "",
"response": "",
"statusCode": [
null,
400,
401,
403,
404,
405,
409,
429,
500,
503
]
},
"includeExistingInActiveAccounts": true,
"doNotChangeIfFailed": true,
"connection": "userAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users?pageSize=10000&filter=isActive%20eq%20true",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "name",
"colsToPropsMap": {
"status": "isActive~#~char",
"name": "loginId~#~char",
"accountID": "id~#~char",
"displayName": "fullName~#~char",
"customproperty1": "email~#~char",
"customproperty2": "isActive~#~bool",
"customproperty3": "defaultRoleId~#~char",
"customproperty4": "id~#~char",
"customproperty5": "annualHours~#~char",
"customproperty6": "jobTitle~#~char",
"customproperty7": "phoneNumber~#~char",
"customproperty8": "referenceField1~#~char",
"customproperty9": "referenceField2~#~char",
"customproperty10": "referenceField3~#~char",
"customproperty11": "supervisor~#~char",
"customproperty12": "timeZoneId~#~char",
"customproperty13": "allowUserMentions~#~bool"
}
}
}
},
"entitlementParams": {
"connection": "userAuth",
"doNotChangeIfFailed": true,
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles and Products": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/roles",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char"
}
}
}
},
"Teams": {
"entTypeOrder": 1,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/teams",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"customproperty1": "uniqueCode~#~char"
}
}
}
},
"Entities": {
"entTypeOrder": 2,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/mdm/entities",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"customproperty1": "uniqueCode~#~char"
}
}
}
}
}
},
"acctEntParams": {
"connection": "userAuth",
"entTypes": {
"Teams": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users/${id}/teams",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"entKeyField": "entitlementID",
"entIdPath": "id",
"acctKeyField": "id"
}
}
},
"Entities": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users/${id}/entities",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"entKeyField": "entitlement_value",
"entIdPath": "name",
"acctKeyField": "id"
}
}
},
"Roles and Products": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users/${id}/roles-products",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"entKeyField": "entitlementID",
"entIdPath": "name",
"acctKeyField": "id"
}
}
}
}
}
}
Solved! Go to Solution.
06/09/2023 12:30 AM - edited 06/09/2023 01:08 AM
Hi,
Please update the mapping of the acctKeyField attribute as accountID in acctEntParams section for all the entitlement types and try running access import.
Please share a sample for APIs used in the acctEntParams to compare the configurations accordingly in case the above configuration update does not work.
06/09/2023 03:48 AM
Hi AccountEntMapping not working for Roles-Product
"Roles and Products": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users/${id}/roles-products",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"entKeyField": "entitlement_value",
"entIdPath": "name",
"acctKeyField": "accountID"
}
}
}
06/09/2023 11:02 AM - edited 06/09/2023 11:03 AM
Hi @Jyoti1
Is it working for any other entitlement type or none? If the account to entitlement association works for other entitlement types and fails only for Roles and Products then, please try the below configuration as per the response reference shared in the earlier thread. Role ID and name is getting populated inside the role map.
"Roles and Products": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpAcctToEnt",
"http": {
"httpHeaders": {
"Authorization": "${access_token}"
},
"url": "https://SBUS.api.blackline.com/v1/users/${id}/roles-products",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "items",
"entKeyField": "entitlement_value",
"entIdPath": "role.name",
"acctKeyField": "accountID"
}
}
}
06/10/2023 01:20 AM
Hi Vedanth
Thank you for sharing this. Yes it working for other ent types.
Can we store product id also.
06/11/2023 09:51 PM
REST Connector does not support storing entitlement metadata into EIC in the acctEntParams section as it is mainly used for user-entitlement correlation.
To achieve this, you need to import product metadata in EntitlementParams in the first place if API is available.