10-31-2022 05:00 AM
Hi All,
I have below issue while i am importing roles and accounts. I am able to import roles and accounts along with AccounttoEnt mapping as well. But target application is having user with multiple roles for single role as below.
"respond_data": [
{
"account_name": "30012",
"activestatus": true,
"roleid": "ABNM",
"rolename": "AnnBFGouncement"
},
{
"account_name": "30013",
"activestatus": true,
"roleid": "BsdfasdgP",
"rolename": "Businesdfrtner"
},
}
I am not sure how to pull multiple roles to map with account. Here i am attaching Import Account Json. Could someone quick help on this
10-31-2022 06:32 AM
Adding more information as of now I am able to map single role with account but here i am looking to map multiple roles with account.
@rushikeshvartak can you help on this
10-31-2022 06:49 AM
Please share AccountImport JSON you can make listPath : ""
also share what is current CP31 of account of any 1 account
10-31-2022 06:51 AM
Here it is {"Roles":{"entIds":["ANM"],"keyField":"entitlementID"}}
Please find the JSON
{
"accountParams": {
"connection": "ConnAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"unsuccessResponses": null,
"statusAndThresholdConfig": {
"statusColumn": "customproperty11",
"activeStatus": [
"true"
],
"deleteLinks": false,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
},
"call": {
"ImportAccount": {
"callOrder": 0,
"stageNumber": 0,
"connection": "ConnAuth",
"http": {
"url": "https://xxxx/API/AuthenticationInterface.ashx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic sdfnlksnadgnslgnlkasgnlasngskl"
},
"httpMethod": "POST",
"httpContentType": "application/json",
"httpParams": "{\"APIName\":\"User\",\"PartnerID\":\"H\"}"
},
"listField": "respond_data",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "account_name~#~char",
"name": "account_name~#~char",
"customproperty12": "roleid~#~char",
"customproperty13": "rolename~#~char",
"customproperty11": "activestatus~#~char",
"status": "activestatus~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"Roles": {
"listPath": "",
"idPath": "roleid",
"keyField": "entitlementID"
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"entTypeOrder": 0,
"call": {
"importHmxRoles": {
"connection": "HumatrixAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx/API/AuthenticationInterface.ashx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic sdfnlksnadgnslgnlkasgnlasngskl"
},
"httpParams": "{\"APIName\":\"Rol\",\"PartnerID\":\"HX\",\"ConditionType\":\"manual\"}",
"httpMethod": "POST",
"httpContentType": "application/json"
},
"statusConfig": {
"active": "true",
"inactive": "false"
},
"listField": "respond_data",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "roleid~#~char",
"entitlement_value": "roleid~#~char",
"customproperty1": "rolenamel~#~char",
"customproperty2": "rolenamei~#~char",
"customproperty3": "roletype~#~char",
"customproperty4": "conditiontype~#~char",
"customproperty5": "active~#~char",
"description": "rolenamel~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"connection": "ConnAuth",
"entTypes": {
"Roles": {
"acctIdPath":"accountID",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "acctToEntMapping"
}
}
}
}
}
}
10-31-2022 06:56 AM - edited 10-31-2022 06:57 AM
Try keeping the idpath blank and listpath as Roles as shown below and do access import.
"acctEntMappings": {
"Roles": {
"listPath": "respond_data.roleid",
"idPath": "",
"keyField": "entitlement_value"
}
10-31-2022 07:43 AM
It giving empty {} results and under entitlement hierarchy i dont any roles. I roll back to old JSON as below
"acctEntMappings": {
"Roles": {
"listPath": "roles",
"idPath": "",
"keyField": "entitlementID"
}
}
}
Below is the output atleast
CP 31 : {"Roles":{"entIds":["BP"],"keyField":"entitlementID"}}
10-31-2022 07:46 AM
"acctEntMappings": {
"Roles": {
"listPath": "respond_data.roleid",
"idPath": "",
"keyField": "entitlement_value"
}
10-31-2022 07:46 AM
Show me account CP31 with more than 1 role
10-31-2022 07:54 AM
Hi Rushi,
That is the issue I am not able to pull multiple roles for CP31. it is only getting one role information even user having multiple as below for example
10-31-2022 08:05 AM
Its better you go with httpEntToAcct as ProcessingType for acctEntParams
Refer https://saviynt.freshdesk.com/support/solutions/articles/43000521736-rest-connector-guide%C2%A0
10-31-2022 08:38 AM
There is no seperate API for to iterate with "id".
How can we achieve this with httpEntToAcct
10-31-2022 08:42 AM
10-31-2022 08:55 AM
Is this below one Good to try?
"acctEntParams": {
"connection": "connAuth",
"entTypes": {
"Roles": {
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"processingType": "httpEntToAcct",
"http": {
"url": "https://xxxxxx/API/AuthenticationInterface.ashx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic SFhTYXZpeW50X1VBVDo3Y2"
},
"httpMethod": "POST",
"httpContentType": "application/json",
"httpParams": "{\"APIName\":\"UserRoleMapping\",\"PartnerID\":\"HX_SV_API\"}"
},
"listField": "respond_data",
"entIdPath":"roleid",
"entKeyField": "entitlementID",
"acctIdPath": "account_name",
"acctKeyField": "accountID",
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.completeResponseMap?.next_page==null?null:response.completeResponseMap.next_page}"
10-31-2022 09:57 AM
Yes
10-31-2022 01:11 PM
This is not working, Job continuously running. I terminated job and see all roles are getting mapped to account. I think httpenttoaccount can use to call http API and there should need to be "id" to iterate the connection for the specific id.
any more inputs
10-31-2022 01:53 PM
reason connection name is wrong its ConnAuth not connAuth
10-31-2022 07:55 PM
The Json is changed with details here as i am posting on forums... with my json i have proper connection name is fine and more over after stopping job forcefully i have seen account having all roles even they are not part of those roles.
11-02-2022 07:43 AM
Anyone can help/suggestion on this.
Postman response is below
11-02-2022 08:09 AM
Job running continuously
{
"accountParams": {
"connection": "ConnAuth",
"processingType": "SequentialAndIterative",
"successResponses": {
"statusCode": [
200
]
},
"unsuccessResponses": null,
"statusAndThresholdConfig": {
"statusColumn": "customproperty11",
"activeStatus": [
"true"
],
"deleteLinks": false,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": false
},
"call": {
"ImportHumatrixTHAccount": {
"callOrder": 0,
"stageNumber": 0,
"connection": "ConnAuth",
"http": {
"url": "https://xxxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic SFhTYXZpeW50X1VBVDo3Y2M2MGM5ZWJkZDdlOTFjMjViMW"
},
"httpMethod": "POST",
"httpContentType": "application/json",
"httpParams": "{\"APIName\":\"UserRoleMapping\",\"PartnerID\":\"HX_SV_API\"}"
},
"listField": "respond_data",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "account_name~#~char",
"name": "account_name~#~char",
"customproperty12": "roleid~#~char",
"customproperty13": "rolename~#~char",
"customproperty11": "activestatus~#~char",
"status": "activestatus~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Roles": {
"entTypeOrder": 0,
"call": {
"importHmxRoles": {
"connection": "ConnAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic SFhTYXZpeW50X1VBVDo3Y2M2MGM5ZWJkZDdlOTFjMjViMW"
},
"httpParams": "{\"APIName\":\"RoleMaster\",\"PartnerID\":\"HX_SV_API\",\"ConditionType\":\"manual\"}",
"httpMethod": "POST",
"httpContentType": "application/json"
},
"statusConfig": {
"active": "true",
"inactive": "false"
},
"listField": "respond_data",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "roleid~#~char",
"entitlement_value": "roleid~#~char",
"customproperty1": "rolenamel~#~char",
"customproperty2": "rolenamei~#~char",
"customproperty3": "roletype~#~char",
"customproperty4": "conditiontype~#~char",
"customproperty5": "active~#~char",
"description": "rolenamel~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"connection": "ConnAuth",
"entTypes": {
"Roles": {
"call": {
"call1": {
"processingType": "httpEntToAcct",
"http": {
"url": "https://xxxxx",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "Basic SFhTYXZpeW50X1VBVDo3Y2M2MGM5ZWJkZDdlOTFjM"
},
"httpMethod": "POST",
"httpContentType": "application/json",
"httpParams": "{\"APIName\":\"UserRoleMapping\",\"PartnerID\":\"HX_SV_API\",\"Account_Name\":\"${user.employeeid}\"}"
},
"listField": "respond_data",
"entIdPath": "roleid",
"entKeyField": "entitlementID",
"acctIdPath": "account_name",
"acctKeyField": "accountID",
}
}
}
}
}
}
11-02-2022 07:52 AM
Share JSON used here
11-03-2022 03:50 AM
Hi @rushikeshvartak ,
I already shared JSON . Even i am attaching the JSON here. Please let me if this can help
11-03-2022 07:40 AM
Change Processing Type "processingType": "httpEntToAcct", to SequentialAndIterative and also specify ${id} in URL
11-03-2022 07:54 AM
@rushikeshvartak : What would be the {id} there is no API with {id} parameter call on application side.
Can you post some example here?
11-03-2022 09:55 AM
Does API supports pulling data with filter based on account /Entitlement ?
11-03-2022 12:42 PM
Hi Rushikesh,
We have API but when we send account name under body, it gives response as below
REquest:
11-03-2022 04:27 AM
Any chance to validate?
11-03-2022 07:02 AM
Can anyone from Saviynt help on this issue as i just need some clue how i can reconcile multiple roles with same account using import json.
On application there is no seperate API to do reconcilation.
11-03-2022 11:42 PM
Any help or inputs on the query?
11-06-2022 10:43 PM
Can someone help to find solution for this case, whether is it achievable or not
11-07-2022 09:24 AM
Hi @srinath - I don't have the knowledge to help here, but after reading the thread I'm curious - What question/problem are you still trying to get answered? It appears that rushikeshvartak helped you quite a bit.
11-07-2022 10:36 AM
Hi Dave,
I am looking for help to map user account with entitlement mapping. Application side there is no seperate API to reconcile account with entitlements.
As of now they have two API one is to pull users information and other is to get roles.
We are able to pull roles and users but account to role mapping with single role it is happening but single user having multiple roles associated in the below
We have API but when we send account name under body, it gives response as below
REquest:
11-18-2022 04:30 AM
Try using custom jar connector if application team can’t change api s
11-22-2022 10:02 PM
Hi Rushi,
Do there any link for the same type to work with jars?
11-18-2022 03:54 AM
hi Srinath ,
The requirement you have posted is not something currently supported by Saviynt REST connector.
As per the logic, the import should bring the account - role association in the CP31.. but in this case, every time the same account is found with a new Role.. the CP31 will be overwritten and only the last value will be stored.
you should try checking if the API team can change the response to send account details along with an array of Roles he has. you would be able to work with that.
11-22-2022 10:01 PM
Hi Kirti,
Thanks for information,
But if the response is in below format will REST API connector reconcile all entitlements to the account
11-29-2022 07:10 AM
Yes @srinath , that is possible.
Usually , you will not receive it as comma separated , but as an arraylist, which can be translated via the OOTB REST connector in Saviynt.
12-07-2022 12:33 AM
Thank Kirti @KirtiAjrot , Do there any particular document or link where i can refer
12-07-2022 03:27 AM