I'm interested in knowing if there's an endpoint available that allows querying the users of a specific queue. It's important for me to specify and obtain the status of each user (for instance, whether they are available or not). Additionally, understanding the overall status of the queue, including the number of users currently available, would be helpful. Could anyone inform me if such functionality exists and how to access it?
I believe what you are trying to achieve can be obtained using the GET
/api/v2/routing/queues/{queueId}/members endpoint which returns each member associated with the queue. Each member object also has a state key which returns the status of each user. From there you can filter for the number of users currently available.
Unfortunately, the endpoint you mentioned only returns the status (active, inactive). This doesn't allow me to determine if the user is busy handling a request from the queue. I look forward to any further comments you may have.
Understood. This is where GET /api/v2/users/{userId} comes in. This return has a presence object that will provide the information you are looking for. You can get each userId from the endpoint mentioned earlier.
I have tried what you suggested, but unfortunately, the mentioned endpoint only returns the user's system status. For instance, this user, who is currently interacting with two people (the maximum number), has their status set as 'on queue'. This does not allow me to determine if the user can or cannot receive new interactions.
This is not a calculation you can reasonably make, and that data point is not exposed via the API. Genesys does not publish the details of our ACD assignment logic, so you cannot accurately reproduce it. You can make some educated guesses, but it's still going to require monitoring basically every single configuration and live observation about every user, conversation, and queue and crunching all the numbers; it's very complex.
What business requirement are you trying to accomplish here?