| Requires any of the roles: | SystemAdministrator, Manager, CallCenterDashboard |
| 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: int = 0
num_calls_queued: int = 0
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: int = 0
unavailable_agents: int = 0
@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
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>