ADD Entitlement Operation for Webservice Connector

Hi All,
I have created “ADD Entitlement operation” for Web service Connector
Its Working fine in Postman, in UI(SailPoint) its showing error
I have created a API in Postman to GET Users, roles, users, roles products
There is an separate API for entitlement names and role ID’s
How can i Combined both APIS entitlement names to Role ID’s

Can anyone please suggest

What application is it?

Can you show postman working?

Can you post the error you are seeing?

If you are Adding an Entitlement operation to the web app, would you be using a GET, or are you having issues with aggregations?

2 Likes

You can create 2 HTTP operations for those end points to aggregate Group objects, select first operation as parent object in 2nd operation.

1 Like

Webservice Application
The error is Connector error “Exception while updating account.Url: https://SBEU.api.blackline.com/v1/users/728/roles-products, Message: 400 : Bad Request, HTTP Error Code: 400”
While doing Entitlement aggregation also iam getting error below
Exception during aggregation of Object Type Role Products on Application Blackline [source]. Reason: java.lang.RuntimeException: An error occurred while aggregating Application Blackline [source] sailpoint.connector.ConnectorException: No configuration found for ‘Group Aggregation-Role Products’. Please add at least one operation and try again

Iam using post to assign entitlemets for users , its working on Postman and its showing error on UI(SailPoint)

Thanks, i will try from my end and i will check

hi based on my experience in integrating BlackLine. The /v1/roles API will provide you only role ids and names. Something like below

{
    "items": [
        {
            "id": 1,
            "name": "Preparer",
            "isActive": true
        },
        .......

So In your get Roles Entitlement Operation you need to create a afterOperationRule and prepare a combination of role+product. From the rule you can return Map like this to get both role-product id and role-product names

Map roleProduct = new HashMap();
roleProduct.put("id", roleMap.get("id") + ":" + productId);
roleProduct.put("name", roleMap.get("name") + ":" + productName);

“id” and “name” are your entitlement object (rolesProduct) schema attributes

Now in the ADD Entitlement Operation you can pass the role_product in the body and update that as per the endpoint using beforeOperationRule

2 Likes

thanks uday, i will try from my end

can you tell me about the steps on how to configure and fetch please for above scenario

→ First API call you get some data, which is referred as response
→ Use the response from 1st API call to make 2nd API call

  1. Configure HTTP operation with type Group Aggregation, configure everything including response mapping
  2. Configure one more HTTP operation with type as Group Aggregation, in API endpoint, use Role ID or whatever as $response.roleID$ to get details of that particular Role (Products), configure response mapping, in Parent endpoint select 1st HTTP operation.

1st HTTP operation runs first, get all the data. For every Role it will call 2nd HTTP operation to get additional data.

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.