and more in a single search tool across platforms. Read the announcement here. |
01/29/2024 02:47 PM
Hello there pro's. I've got a REST connection set up and it is pulling in the accounts, entitlements, and mapping info in CP31. The entitlements are in the same response with the accounts. The accounts and entitlements are not getting mapped however so am reaching out for any assistance.
Response JSON sample from Postman:
{
"message": "OK",
"firstPageUri": "https://api.myapp.net/rest/users/?pageNumber=1",
"nextPageUri": "https://api.myapp.net/rest/users/?pageNumber=2",
"lastPageUri": "https://api.myapp.net/rest/users/?pageNumber=6",
"page": {
"pageSize": 10,
"start": 0,
"data": [
{
"id": 565153271644790,
"owner": "CompanyName",
"firstName": "Samples",
"lastName": "User",
"userName": "suser",
"email": "samples.user@company.com",
"roleIds": [
8105604014932494
],
"defaultRoleId": 8105604014932494,
"lastModifiedDate": 1668421811443,
"lastModifiedName": "Samples User",
"lastLoginDate": 1669365936942,
"roles": [
{
"id": 8105604014932494,
"roleTemplate": "INCIDENT_ADMIN",
"name": "Incident Coordinator"
}
],
"userStatus": "Active",
"locked": false,
"autoProvisionForEBU": true,
"apiAccess": false
}
]
}
}
Here's my ImportAccountEntJSON:
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty18",
"activeStatus": [
"Active"
],
"deleteLinks": true,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": true,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://api.myapp.net/rest/users?pageNumber=1",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "page.data",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "userName~#~char",
"displayName": "email~#~char",
"customproperty1": "firstName~#~char",
"customproperty3": "lastName~#~char",
"customproperty4": "apiAccess~#~char",
"customproperty5": "autoProvisionForEBU~#~char",
"customproperty8": "defaultRoleId~#~char",
"customproperty9": "lastLoginDate~#~char",
"customproperty10": "lastModifiedDate~#~char",
"customproperty11": "lastModifiedName~#~char",
"customproperty13": "locked~#~char",
"customproperty14": "owner~#~char",
"customproperty15": "roleIds~#~char",
"customproperty18": "userStatus~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.completeResponseMap?.nextPageUri==null?null:response.completeResponseMap.nextPageUri}"
}
}
}
},
"acctEntMappings": {
"Role": {
"importAsEntitlement": true,
"listPath": "roles",
"idPath": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char"
}
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Role": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
Solved! Go to Solution.
01/29/2024 03:52 PM
Can you share account cp31
01/29/2024 06:59 PM
Hello Rushikesh, and thank you - here is account cp31 for the account.
{"Role":{"entIds":["[id:8105604014932494, roleTemplate:INCIDENT_ADMIN, name:Incident Coordinator]"],"keyField":"entitlementID"}}
01/29/2024 07:05 PM
Does entitlements created with entitlement ID ?
01/30/2024 05:20 AM
01/29/2024 11:05 PM
Hi @Brian
Please use the below JSON and run both account and access recon job.
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty18",
"activeStatus": [
"Active"
],
"deleteLinks": true,
"accountThresholdValue": 1000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": true,
"deleteAccEntForActiveAccounts": true
},
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://api.myapp.net/rest/users?pageNumber=1",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "page.data",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "id~#~char",
"name": "userName~#~char",
"displayName": "email~#~char",
"customproperty1": "firstName~#~char",
"customproperty3": "lastName~#~char",
"customproperty4": "apiAccess~#~char",
"customproperty5": "autoProvisionForEBU~#~char",
"customproperty8": "defaultRoleId~#~char",
"customproperty9": "lastLoginDate~#~char",
"customproperty10": "lastModifiedDate~#~char",
"customproperty11": "lastModifiedName~#~char",
"customproperty13": "locked~#~char",
"customproperty14": "owner~#~char",
"customproperty15": "roleIds~#~char",
"customproperty18": "userStatus~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"nextUrl": {
"nextUrlPath": "${response?.completeResponseMap?.nextPageUri==null?null:response.completeResponseMap.nextPageUri}"
}
}
}
},
"acctEntMappings": {
"Role": {
"importAsEntitlement": true,
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char"
}
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Role": {}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
`Thank you
Vedanth B.K
01/30/2024 05:27 AM
Hello @Vedanth-BK - This appears to have worked, thank you!
I have added your JSON, which the only change is:
"idPath": "id",
This had the effect of changing CP31 to the following:
{"Role":{"entIds":["8105604014932494"],"keyField":"entitlementID"}}
I ran Accounts import and then Access import job. After running the Access import job the entitlements and accounts are mapping successfully.