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

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]

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"
}
]
}
]
}

 

 

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"
}
}
}
}
}
}

 

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.

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?.

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. 

 

Can you share current JSON


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.