REST API Response JSON Attribute Path

Which IIQ version are you inquiring about?

8.4p1

I’m trying to aggregate some data into SailPoint IIQ using the OOB Web Services connector from Cornerstone. I’ve set up a connector operation for Account Aggregation. Within that configuration screen I’ve configured a response with “$.data[*]” as the root path as well the “Schema Attribute” and “Attribute Path” options. I’ve also set up a corresponding Schema attribute customAttribute5 on the application with the SailPoint Application → Configuration → Schema screen. From SOAPUI I know that the JSON returned is as follows (redacted to show just the attribute in question).

{
   "data":    {
      "customFields":       [
                   {
            "id": 3,
            "value": 4
         },
                  {
            "id": 4,
            "value": ""
         },
                {
            "id": 5,
            "value": "CONTRACTOR"
         }
      ]
   }
}

Using JSONPath.com I’ve determined that either “customFields[?(@.id==‘5’)].value” or “customFields[2].value” in the SailPoint Attribute Path field should extract “CONTRACTOR” and pull it into Schema Attribute I’ve set up for it. Unfortunately neither approach seems to be working. Note that the aggregation of other data types works just fine (strings and lists), I’m only having issue with attributes of what appears to be an array type. Looking for some suggestions, thank you.

Hi Dan,

Try with this path customFields[?(@.id==5)].value
id value is a number not a string.

Regards,
Arun

@Arun-Kumar Arun, thank you for the idea. Unfortunately, that change did not fix the issue.

Hi Dan
Try this

$[].CustomFields[].value

@DanO1
Please change your root path to $.data instead $.data[*]

Have customFields[2].value in Attribute Path of your response mapping.

Regards,
Shekhar Das

Hi Dan,

If the issue persists, please print the rawResponseObject and share a screenshot.

Regards,
Arun

@Arun-Kumar Thank you for your reply. It got me thinking that maybe there was a difference in the specified SCOPE between what I was doing in SOAPUI vs IIQ. While that wasn’t the issue I did review the response in SOAPUI for the particular end point (/services/api/x/users/v2/employees/) and noticed that the LIST and ARRAY attributes on the records were missing and all the string attributes were present. I then reviewed the another end point that Cornerstone provides (/services/api/x/users/v2/employees/{id} - where id is the Cornerstone unique identifier). This endpoint exposed all the attributes regardless of type (STRING, LIST (address, workerStatus, settings) and ARRAY(ous, customFields).

So now I’m off to figure out how to chain two queries together…the first to get all Cornerstone ids by using /services/api/x/users/v2/employees/ and then subsequently obtaining all the attributes (regardless of type) by iterating through all the collected ids using /services/api/x/users/v2/employees/{id}

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