Legacy Dev Forum Posts

 View Only

Sign Up

Get the oldest call waiting in a queue

  • 1.  Get the oldest call waiting in a queue

    Posted 06-05-2025 18:15

    slawo | 2019-04-12 20:11:32 UTC | #1

    Currently I call https://api.mypurecloud.ie/api/v2/analytics/conversations/details/query

    with this query:

        	{
    	 "interval": "2019-04-12T00:00:00.000Z/2019-04-12T16:28:00.000Z",
    	 "order": "asc",
    	 "orderBy": "conversationStart",
    	 "paging": {
    	  "pageSize": 1,
    	  "pageNumber": 1
    	 },
    	 "segmentFilters": [
    	  {
    	   "type": "or",
    	   "predicates": [
    	    {
    	     "type": "dimension",
    	     "dimension": "queueId",
    	     "operator": "matches",
    	     "value": "ooooooooooooooooooooooo"
    	    }
    	   ]
    	  }
    	 ],
    	 "conversationFilters": [
    	  {
    	   "type": "or",
    	   "predicates": [
    	    {
    	     "type": "dimension",
    	     "dimension": "conversationEnd",
    	     "operator": "notExists",
    	     "value": null
    	    }
    	   ]
    	  }
    	 ]
    	}

    But it seems to return calls which are already answered by agents... How can I filter by un-answered calls?


    anon28066628 | 2019-04-12 19:48:56 UTC | #2

    Filtering by queueId should give you in-queue and answered calls. To exclude answered calls, you can try another predicate in an 'and' clause to also filter with the 'notExists' operator on userId:

    https://developer.mypurecloud.com/api/rest/v2/analytics/#post-api-v2-analytics-conversations-details-query


    slawo | 2019-04-12 20:18:13 UTC | #3

    I tried to filter by excluding userId but I still get the same calls. Is there something missing in this query:

    {
    	 "interval": "2019-04-12T00:00:00.000Z/2019-04-12T16:28:00.000Z",
    	 "order": "asc",
    	 "orderBy": "conversationStart",
    	 "paging": {
    	  "pageSize": 25,
    	  "pageNumber": 1
    	 },
    	 "segmentFilters": [
    	  {
    	   "type": "and",
    	   "predicates": [
    	    {
    	     "type": "dimension",
    	     "dimension": "queueId",
    	     "operator": "matches",
    	     "value": "ooooooooooooooooooooo"
    	    },
    	   	{
    	     "type": "dimension",
    	     "dimension": "userId",
    	     "operator": "notExists",
    	     "value": null
    	    }
    	   ]
    	  }
    	 ],
    	 "conversationFilters": [
    	  {
    	   "type": "and",
    	   "predicates": [
    	    {
    	     "type": "dimension",
    	     "dimension": "conversationEnd",
    	     "operator": "notExists",
    	     "value": null
    	    }
    	   ]
    	  }
    	 ]
    	}

    slawo | 2019-04-12 20:21:18 UTC | #4

    Is there a way of excluding historical data (only get current data)?


    tim.smith | 2019-04-12 20:42:12 UTC | #5

    Include a predicate for conversationEnd not exists.

    Edit: I didn't scroll down in your previous post. It appears you are correctly querying for only active conversations. I tested out exactly that filter and it only returns active conversations for me.


    slawo | 2019-04-12 20:53:28 UTC | #6

    I have a conversation which seems to have peen picked up and never ended, or maybe it somehow ended outside of the queue. I am not certain of the reason why this conversation keeps being returned in my queries ec6c3256-e257-4874-a627-403f936bc871.


    tim.smith | 2019-04-12 20:58:15 UTC | #7

    Specific customer data cannot be investigated via the forum; I don't have access to your org's data. Please open a case with PureCloud Care for further investigation into that conversation.


    system | 2019-05-13 20:58:16 UTC | #8

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


    This post was migrated from the old Developer Forum.

    ref: 4978