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

Entitlement Import from Account Response for In-house Application Integration

rahul_shetty
New Contributor
New Contributor

Hello,

We've been actively engaged in integrating an in-house application, and during this process, we've encountered a unique scenario where entitlements are embedded within the account response. Unlike a separate call for entitlements, they are included as one of the attributes in the account response. The specific challenge we're facing is the creation of entitlements from the account response.

For instance, the response structure is as follows:

{
"name": "",
"accesstype": ""
}

Since entitlements are not retrieved through a distinct call, we seek your assistance in devising a method to import them as entitlements from the account response. Your insights and guidance on how to handle this situation would be highly appreciated.

Regards,

Rahul

2 REPLIES 2

Manu269
All-Star
All-Star

@rahul_shetty refer below as sample :

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://XXX/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"
  }
}
Regards
Manish Kumar
If the response answered your query, please Accept As Solution and Kudos
.

rahul_shetty
New Contributor
New Contributor

Hello @Manu269 ,

Thank you for the quick response. The actual problem here is the access information is not coming as an array list whereas it is coming as part of the account's response. I understand that, if the response was in array list, then the above Json would have been used. 

Below is the sample value for access information :

{

"name": "User1",
"accesstype" : "A"

}

Let me know if this is doable?

Regards,

Rahul