We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK 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]

9 REPLIES 9

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.

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.


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.

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.

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.