Evo Voice

<back to all web services

GetCallCenterDashboard

Returns the call center dashboard data

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager
The following routes are available for this service:
GET/dashboard/call-center
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CallCenterDashboardAgent:
    id: Optional[str] = None
    name: Optional[str] = None
    queues: Optional[List[str]] = None
    agent_state: Optional[str] = None
    call_state: Optional[str] = None
    sign_in_time: Optional[str] = None
    sign_in_duration: Optional[str] = None
    percent_available: Optional[str] = None
    avg_busy_in: Optional[str] = None
    avg_wrap_up: Optional[str] = None
    date_of_last_call: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CallCenterDashboardQueue:
    name: Optional[str] = None
    num_agents: Optional[int] = None
    num_calls_queued: Optional[int] = None
    longest_waiting_call: Optional[str] = None
    expected_wait_time: Optional[str] = None
    expected_hold_time: Optional[str] = None
    average_speed_of_answer: Optional[str] = None
    idle_agents: Optional[int] = None
    unavailable_agents: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CallCenterDashboardCall:
    id: Optional[str] = None
    customer: Optional[str] = None
    queue: Optional[str] = None
    agent: Optional[str] = None
    state: Optional[str] = None
    duration: Optional[str] = None
    hold: Optional[str] = None
    extra_info: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CallCenterDashboard:
    agents: Optional[List[CallCenterDashboardAgent]] = None
    queues: Optional[List[CallCenterDashboardQueue]] = None
    calls: Optional[List[CallCenterDashboardCall]] = None


# @Api(Description="Returns the call center dashboard data")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetCallCenterDashboard(IPost):
    """
    Returns the call center dashboard data
    """

    # @ApiMember(Description="The account ID to retrieve for")
    account_id: Optional[str] = None
    """
    The account ID to retrieve for
    """

Python GetCallCenterDashboard DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /dashboard/call-center HTTP/1.1 
Host: evovoice.io 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CallCenterDashboard xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Dashboard">
  <Agents>
    <CallCenterDashboardAgent>
      <AgentState>String</AgentState>
      <AvgBusyIn>String</AvgBusyIn>
      <AvgWrapUp>String</AvgWrapUp>
      <CallState>String</CallState>
      <DateOfLastCall>String</DateOfLastCall>
      <Id>String</Id>
      <Name>String</Name>
      <PercentAvailable>String</PercentAvailable>
      <Queues xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Queues>
      <SignInDuration>String</SignInDuration>
      <SignInTime>String</SignInTime>
    </CallCenterDashboardAgent>
  </Agents>
  <Calls>
    <CallCenterDashboardCall>
      <Agent>String</Agent>
      <Customer>String</Customer>
      <Duration>String</Duration>
      <ExtraInfo>String</ExtraInfo>
      <Hold>String</Hold>
      <Id>String</Id>
      <Queue>String</Queue>
      <State>String</State>
    </CallCenterDashboardCall>
  </Calls>
  <Queues>
    <CallCenterDashboardQueue>
      <AverageSpeedOfAnswer>String</AverageSpeedOfAnswer>
      <ExpectedHoldTime>String</ExpectedHoldTime>
      <ExpectedWaitTime>String</ExpectedWaitTime>
      <IdleAgents>0</IdleAgents>
      <LongestWaitingCall>String</LongestWaitingCall>
      <Name>String</Name>
      <NumAgents>0</NumAgents>
      <NumCallsQueued>0</NumCallsQueued>
      <UnavailableAgents>0</UnavailableAgents>
    </CallCenterDashboardQueue>
  </Queues>
</CallCenterDashboard>