Hello Sailers,
I’m trying to connect an application via a WebServices connector. The target app has an API working fine, so far so good. I have an issue, that there is an ephemeral ID on the source account attribute, which is not persistent. But in order to perform update operations on the source account, I need to provide the current ephemeral ID value. It changes after every Aggregate operation (could also on-top be time-limited, haven’t waited long enough to find out, but for sure after every aggregation there is a new ID). Right now, I’m trying to implement the Get Object HTTP Operation, so that the id value is current, so that I can in a second step perform the update operations.
I have the challenge, that I cannot filter for a specific user in the /get_user API query, it always returns all users (already checked with the vendor, it doesn’t exist, not just undocumented).
What I have tried for example with the WebServices Get Object operation, is set the Root path, to try and filter for just the target source account. For example using this JSON path evaluator: https://jsonpath.com/. But it seems, I cannot make it dynamic.. unless I’m doing something wrong (which is why I’m making this post) with brain fog.
- this Root Path works:
$.data.users[?(@.email_address == 'user1@company.com')](hardcoded email) - This Root Path fails:
$.data.users[?(@.email_address == '$plan.nativeIdentity$')](using the plan.nativeIdentity field)
The Get Object operation must be dynamic though, I cannot hardcode the e-mail there.
The $plan.nativeIdentity$ does return the E-Mail, I have verified that. In my mind, it should resolve the e-mail address, but it seems that the Return path does not take variables(?). I have also tried $getObject.nativeIdentity$ to resolve the E-Mail address (also did not work).
Is there another way for me to filter the results which are being returned in the JSON? The API always returns the full JSON.
This is an example JSON from the reply:
{
"data": {
"users": [
{
"active": true,
"country": "TR",
"email_address": "user1@company.com",
"first_name": "Tony",
"id": "WXJqPj...",
"is_sso_active": false,
"last_name": "Doe",
"phone_number": "+1234567890",
"roles": [
{
"description": "Company Admin",
"name": "companyadmin",
"title": "Companyadmin"
}
],
"send_assignee_email": false,
"title": "Security Analyst"
},
{
"active": false,
"country": "TR",
"email_address": "user2@company.com",
"first_name": "Ezequiel",
"id": "EaX34a...",
"is_sso_active": false,
"last_name": "Doe",
"phone_number": "+1234567890",
"roles": [
{
"description": "Company User",
"name": "companyuser",
"title": "Companyuser"
}
],
"send_assignee_email": false,
"title": "Security Analyst"
}
]
},
"is_success": true,
"message": "Success",
"response_code": 200
}
Screenshot of what I am trying to achieve:
Thanks in advance!
