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

AccountEnt Mapping not working for Blackline connector

Jyoti1
Regular Contributor
Regular Contributor

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"
}
}
}
}
}
}

5 REPLIES 5

khalidakhter
Saviynt Employee
Saviynt Employee

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.

Jyoti1
Regular Contributor
Regular Contributor

Hi AccountEntMapping not working for Roles-Product

 

Jyoti1_0-1686307684900.png

 

"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"
}
}
}

 

 

khalidakhter
Saviynt Employee
Saviynt Employee

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"
}
}
}

 

 

Jyoti1
Regular Contributor
Regular Contributor

Hi Vedanth

 

Thank you for sharing this. Yes it working for other ent types. 

Can we store product id also.

khalidakhter
Saviynt Employee
Saviynt Employee

@Jyoti1 

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.