Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Unable to consume api response having array of roles for AcctEnt mapping

IAM-Vaibhav
New Contributor III
New Contributor III

Hi Team ,

Can you please, let me know how we can consume below Api response:

Response :

{
"data": [
{
"report_header": {
"c3": {
"name": "PROJECTNUMBER",
"type": "java.lang.String"
},
"c4": {
"name": "GROUPID",
"type": "java.lang.Integer"
},
"c11": {
"name": "EMAIL",
"type": "java.lang.String"
},
"c5": {
"name": "GROUPNAME",
"type": "java.lang.String"
},
"c10": {
"name": "FULLNAME",
"type": "java.lang.String"
},
"c6": {
"name": "USERID",
"type": "java.lang.Integer"
},
"c7": {
"name": "USERNAME",
"type": "java.lang.String"
},
"c12": {
"name": "ISTEMPLATE",
"type": "java.lang.Boolean"
},
"c8": {
"name": "FIRSTNAME",
"type": "java.lang.String"
},
"c9": {
"name": "LASTNAME",
"type": "java.lang.String"
},
"c1": {
"name": "PID",
"type": "java.lang.Integer"
},
"c2": {
"name": "PROJECTNAME",
"type": "java.lang.String"
}
},
"report_row": [
{
"c1": "1,000 ",
"c10": "Company Administrator",
"c11": "<Email>",
"c12": "false",
"c2": "xyz",
"c3": "L0",
"c4": "1,000,001 ",
"c5": "Project Administrators",
"c6": "1,000 ",
"c7": "coadmin",
"c8": "Company",
"c9": "Administrator"
},
{2},
{3},
{n},

]
}
]
}

JSON :

------------------

"acctEntParams": {
    "entTypes": {
      "Project": {
        "call": {
          "call1": {
            "processingType": "http",
            "connection": "acctAuth",
            "callOrder": 0,
            "stageNumber": 0,
             "http": {
"url": "https://<hotsname>/ws/rest/service/v1/admin/shell",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpParams": { 
"reportname":"User Project Group Assignment"
},
"httpMethod": "POST"
},
            "listField": "data",
            "acctIdPath": "report_row[2].c11",
            "entIdPath": "report_row[2].c3",
"acctKeyField": "accountID",
"entKeyField": "entitlementID",
 
          }
        }
      }
    }
}

 

Hi Team ,

Can you please look into this.

regards ,

VP.

[This message has been edited by moderator to merge reply comment]

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.
10 REPLIES 10

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @IAM-Vaibhav,

The JSON structure provided in the above is not valid. I recommend rechecking the structure with your application team to ensure it is in valid json format.

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Hi @sudeshjaiswal ,

earlier json response was sample to show how response comes from API, 

You can find below json response in valid format.

Note: Values are dummy, please ignore values in response.

{
"data": [
{
"report_header": {
"c3": {
"name": "PROJECTNUMBER",
"type": "java.lang.String"
},
"c4": {
"name": "GROUPID",
"type": "java.lang.Integer"
},
"c11": {
"name": "EMAIL",
"type": "java.lang.String"
},
"c5": {
"name": "GROUPNAME",
"type": "java.lang.String"
},
"c10": {
"name": "FULLNAME",
"type": "java.lang.String"
},
"c6": {
"name": "USERID",
"type": "java.lang.Integer"
},
"c7": {
"name": "USERNAME",
"type": "java.lang.String"
},
"c12": {
"name": "ISTEMPLATE",
"type": "java.lang.Boolean"
},
"c8": {
"name": "FIRSTNAME",
"type": "java.lang.String"
},
"c9": {
"name": "LASTNAME",
"type": "java.lang.String"
},
"c1": {
"name": "PID",
"type": "java.lang.Integer"
},
"c2": {
"name": "PROJECTNAME",
"type": "java.lang.String"
}
},
"report_row": [
{
"c1": "1,000 ",
"c10": "Company Administrator",
"c11": "<Email>",
"c12": "false",
"c2": "xyz",
"c3": "L0",
"c4": "1,000,001 ",
"c5": "Project Administrators",
"c6": "1,000 ",
"c7": "coadmin",
"c8": "Company",
"c9": "Administrator"
},
{
"c1": "1,000 ",
"c10": "Company Administrator",
"c11": "<Email>",
"c12": "false",
"c2": "xyz",
"c3": "L0",
"c4": "1,000,001 ",
"c5": "Project Administrators",
"c6": "1,000 ",
"c7": "coadmin",
"c8": "Company",
"c9": "Administrator"
},
{
"c1": "1,000 ",
"c10": "Company Administrator",
"c11": "<Email>",
"c12": "false",
"c2": "xyz",
"c3": "L0",
"c4": "1,000,001 ",
"c5": "Project Administrators",
"c6": "1,000 ",
"c7": "coadmin",
"c8": "Company",
"c9": "Administrator"
}
]
}
]
}

 

 

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @IAM-Vaibhav,

Can you please share the complete json , are you able to import the accounts?
Also please share the postman response of the both.
Please try with the below sample, also share the above information, as the usecase is still not clear.

{
  "acctEntParams": {
    "entTypes": {
      "Project": {
        "call": {
          "call1": {
            "processingType": "http",
            "connection": "acctAuth",
            "callOrder": 0,
            "stageNumber": 0,
            "http": {
              "httpHeaders": {
                "Authorization": "${access_token}"
              },
              "url": "https://<hotsname>/ws/rest/service/v1/admin/shell",
              "httpContentType": "application/json",
              "httpMethod": "POST",
              "httpParams": { 
                "reportname":"User Project Group Assignment"
              }
            },
            "listField": "data",
            "acctIdPath": "report_row[2]~dot#c11",
            "entIdPath": "report_row[2]~dot#c3",
            "acctKeyField": "accountID",
            "entKeyField": "entitlementID"
          }
        }
      }
    }
  }
}



Thanks.


If you find the above response useful, Kindly Mark it as "Accept As Solution".

IAM-Vaibhav
New Contributor III
New Contributor III

Hi @sudeshjaiswal  ,

I am mapping Account to Entitlement, here is Entire Json and i shared you other details on private chat.

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<hostname>ws/rest/service/v1/admin/user/get",
"httpParams": "{\"filterCondition\":\"uuu_user_status=1\"}",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "POST"
},
"listField": "data",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "empEmployeeIDTB50~#~char",
"name": "empEmployeeIDTB50~#~char",
"customproperty2": "uuu_user_name~#~char",
"customproperty3": "uuu_user_status~#~char",
"customproperty4": "uuu_user_dateformat~#~char",
"customproperty5": "uuu_user_firstname~#~char",
"customproperty6": "uuu_user_lastname~#~char",
"customproperty7": "uuu_user_loginname~#~char",
"customproperty8": "uuu_user_proxy~#~char",
"customproperty9": "uuu_user_company~#~char",
"customproperty10": "empEmployeeRegHrsDA~#~char",
"customproperty11": "uuu_user_timezone_pref~#~char",
"customproperty12": "empEmployeeIDTB50~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Project": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<hostname>ws/rest/service/v1/admin/shell",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpParams": {},
"httpMethod": "GET"
},
"listField": "data",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "shell_number~#~char",
"entitlement_value": "shell_name~#~char",
"customproperty1": "reportingunit~#~char",
"customproperty2": "reportingunitregion~#~char",
"customproperty3": "GPG~#~char",
"customproperty4": "ERP_id~#~char",
"customproperty5": "ERP_system_Id~#~char",
"customproperty6": "shell_number~#~char"
},
"successResponses": {
"statusCode": [
200
]
},
"unsuccessResponses": {
"statusCode": [
500,
401,
403
]
}
}
}
}
}
},
"acctEntParams": {
"entTypes": {
"Project": {
"call": {
"call1": {
"processingType": "http",
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "<hostname>ws/rest/service/v1/data/udr/get",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpParams": "{\"reportname\": \"User Project Group Assignment\"}",
"httpMethod": "POST"
},
"listField": "data",
"acctIdPath": "report_row[2].c11",
"entIdPath": "report_row[2].c3",
"acctKeyField": "accountID",
"entKeyField": "entitlementID"
}
}
}
}
}
}

 

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @IAM-Vaibhav,

The mapping seems to be wrong, as in account params your unique key field is""accountID": "empEmployeeIDTB50~#~char" and the acctentparams  and you have mentioned the  "acctKeyField": "accountID", but the mapping should be on the email.
that may be the reason you are not able to map the entitlement.

Is account and entitments are getting imported ??

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Hi @sudeshjaiswal  ,

account and entitlements are imported properly. Can we have a call to discuss this. 

we haven't email in as account iD in import account.

 

Could you please clarify why I need to use email.

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello Vaibhav,

Based on the above response, mapping the entitlement and account won't be feasible.

Thanks.

If you find the above response useful, Kindly Mark it as "Accept As Solution".

HI @sudeshjaiswal ,

Any alternative for this?.

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

IAM-Vaibhav
New Contributor III
New Contributor III

Hi @sudeshjaiswal  ,

After Account and Entitlement import completed, we observed that entitlement associated with Account are getting flushed out due to this mapping is not in place. Before Import we can see entitlement associated to Account.

Please suggest alternative to fulfill this requirement as its very much important. 

 

Regards,
Vaibhav Patil
If this helps you, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Can you share current JSON


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.