Want to understand jsonPath syntax in matchCriteria

hi team,

I'm trying to create a process trigger which is a Beta feature in Genesys. I'm struggling with jsonPath syntax and want to understand it more. Please check the details below:

API url: https://api.mypurecloud.com/api/v2/processautomation/triggers/{id}

matchCriteria:
{
"jsonPath": "participants[?(@.type == 'whatsapp' && @.state == 'disconnected' && @.purpose == 'customer')]",
"operator": "NotEqual",
"value": "[]"
}

JSON
"participants": [
{
"purpose": "customer",
"wrapup": {
"name": "WRAP-UP-1"
},
"messages": [
{
"state": "disconnected",
"type": "whatsapp"
}
]
}
]

Consider the jsonPath and JSON above. The above syntax works for this JSON, but I'm still trying to understand what does '@' denotes here. I have confusion because 'purpose' lies directly inside 'participants', where 'state' and 'type' lie inside 'messages'. But there is no such hierarchy defined inside jsonPath. Please help me understand this.

Another strange behaviour is when I use a jsonPath like below (for the same JSON as above), my request fails:
{
"jsonPath": "participants[?(@.wrapup.name == 'WRAP-UP-1' && @.state == 'disconnected')]",
"operator": "NotEqual",
"value": "[]"
}
This should also ideally have passed as per the above logic, but it fails. This confuses me even more.

Please help me resolve my queries as I'm stuck on it from last couple of days.

Thanks & Regards

Hi, were you able to resolve or learn more about this?