REST API (ACD Info)

Get List of ACDs

After logging into the PBX and getting the session Id (either admin or domain admin), you can use the following API to get the list of ACDs in a particular domain. This information is obtained from an extension account in the domain (given below in the example as user@mydomain) which has been set as "Queue manager" for the ACDs.

MethodGET

URL https://PBXURL/rest/user/user@mydomain/wallboard

Return:  List of ACDs

Example:

GET https://192.168.1.11/rest/user/45@example/wallboard

Returns:

[{display: "Marketing", name: "73"}, {display: "Sales", name: "80"}]

JSON object break down:

[  
   {  
      "display":"Marketing",
      "name":"73"
   },
   {  
      "display":"Sales",
      "name":"80"
   }
]

 

Get Live Information about an ACD

After logging into the PBX and getting the session Id (either admin or domain admin), you can use the following API to get the the live information and status of an ACD in a particular domain. This information is obtained from an extension account in the domain (given below in the example as user@mydomain) which has been set as "Queue manager" for that ACD.

MethodGET

URLhttps://PBXURL/rest/user/user@mydomain/wallboard/ACD-ACCOUNT

Return:  ACD information as JSON

Example:

GET https://192.168.1.11/rest/user/45@example/wallboard/73

Returns:

{acds: {…}, logged_agents: Array(3), agents: Array(3), current: Array(0), history: Array(3)}

JSON object break down:

{  
   "acds":{  
      "73":{  
         "redirect":{  
            "waiting":0,
            "ringing":0,
            "anonymous":0
         },
         "hangup":{  
            "waiting":0,
            "ringing":1
         },
         "exit":{  
            "user":0,
            "admin":0,
            "application":0,
            "other":0
         },
         "duration":{  
            "sum":{  
               "ivr":10,
               "ring":5,
               "talk":3,
               "hold":0,
               "idle":14
            },
            "average":{  
               "ivr":10,
               "ring":5,
               "talk":3,
               "hold":0,
               "idle":14
            }
         },
         "calls":{  
            "count":2,
            "completed":1
         }
      }
   },
   "logged_agents":[  
      40,
      42,
      43
   ],
   "agents":[  
      {  
         "account":"40",
         "name":"Jeff McCormick",
         "dnd":false,
         "jumpin":true,
         "work":{  
            "begin":1553745600.0,
            "end":1553832000.0,
            "now":1553799628.136,
            "segments":[  

            ]
         },
         "calls":0,
         "missed":0,
         "duration":{  
            "talk":0,
            "hold":0,
            "idle":0
         },
         "average":{  
            "talk":0,
            "hold":0,
            "idle":0
         }
      },
      {  
         "account":"43",
         "name":"Penny Cooper",
         "dnd":false,
         "jumpin":true,
         "work":{  
            "begin":1553745600.0,
            "end":1553832000.0,
            "now":1553799628.136,
            "segments":[  

            ]
         },
         "calls":1,
         "missed":0,
         "duration":{  
            "talk":3,
            "hold":0,
            "idle":14
         },
         "average":{  
            "talk":3,
            "hold":0,
            "idle":14
         }
      },
      {  
         "account":"42",
         "name":"Kyle Mason",
         "dnd":false,
         "jumpin":true,
         "work":{  
            "begin":1553745600.0,
            "end":1553832000.0,
            "now":1553799628.136,
            "segments":[  

            ]
         },
         "calls":0,
         "missed":0,
         "duration":{  
            "talk":0,
            "hold":0,
            "idle":0
         },
         "average":{  
            "talk":0,
            "hold":0,
            "idle":0
         }
      }
   ],
   "current":[  

   ],
   "history":[  
      {  
         "start":"1553799360.324",
         "from":"\"Jeff McCormick\" <sip:40@localhost>",
         "duration":0,
         "agent":""
      },
      {  
         "start":"1553799384.779",
         "from":"\"Jeff McCormick\" <sip:40@localhost>",
         "duration":3,
         "agent":"43"
      }
   ]
}


The response gives:

  • the number of calls that were redirected from waiting, ringing or being anonymous states
  • the number of calls that were hung up in the waiting or ringing states
  • the number of calls that were exited because of interruption from admin or user like picked up the calls
  • total duration in seconds of all the calls with further break down of: ringing, talking and hold etc.
  • average duration in seconds per call with further break down of: ringing, talking and hold etc.
  • the total number of calls: count and completed
  • extension numbers of logged agents
  • then details of each agent are given in the agents array with extension number, name, dnd status etc. as well as work times and breaks (log off) given in segments array
  • the agent information also includes the calls received, missed and total and average duration for talk, hold etc.
  • current calls going on are given in the current array
  • the history of all the calls for ACD for the day is given in the history array with each calls start time, from, duration and agent who picked it up