Contents
- Real-Time Statistic API
- 1 API Description
API Description
Authenticate
Authenticate user on server. In case of successful authentication the server sets session cookies.
Note that the user must have "Access Realtime Stats API", "View real-time agent metrics", and "View real-time service metrics", as well as to be assigned supervisor of the corresponding teams.
URI | https://{host:port}/statsapi/auth |
HTTP Method | POST |
Body:
{ "tenant_url" : "<tenant_url>", "username" : "<username>", "password" : "<password>" }
Response:
- 401 – Unauthorized
- 200 – OK
{ "token": <token> }
Create subscription
Creates subscription for specific set of metrics. Each client can have only one active subscription.
URI | https://{host:port}/statsapi/subscription |
HTTP Method | POST |
Body:
{ "<app id>": { "stats_totals": ["statistic name" ], //array of statistics "service_grids": [//array of service grid definitions { "id": "<grid Id>", "columns": [//array of stats for columns { "id": "<column id>", "stat_name": "<statistic protocol name>|SUM", "sum_stat_names": ["<(optional)list of statistic protocol name for sum>"] } ], "order_by": "<column id>", "order_dir": "ASC|DESC", "limit": "<count of top records>", "filter_by": "<column id>", "filter_value": "<value>", "filter_operation": "EQ|NE|LT|GT|LE|GE" } ], "agent_grids": [ //array of agent grid definitions { "id": "<grid Id>", "columns": [//array of stats for columns { "id": "<column id>", "stat_name": "<statistic protocol name>|SUM", "dispositions": ["<(optional)list of dispositions>"], "sum_stat_names": ["<(optional)list of statistic protocol name for sum>"] } ], "order_by": "<column id>", "order_dir": "ASC|DESC", "limit": "<count of top records>", "filter_by": "<column id>", "filter_value": "<value>", "filter_operation": "EQ|NE|LT|GT|LE|GE" } ] "chat_messages": {//top of internal chat messages "filter": "<filter by message content>", "limit": "<count of top records>" }, } }
Response:
- 400 – Bad Request
{ "error_code": <error code>, "error_message": "<error message>" }
- 401 – Unauthorized
- 409 – limit of active subscriptions exceeded for tenant
- 200 – OK subscription was created
Delete subscription
Deletes active subscription, clears data cache on server
URI | https://{host:port}/statsapi/subscription/active |
HTTP Method | DELETE |
Get subscription data
Gets statistics data of an active subscription.
URI | https://{host:port}/statsapi/subscription/data |
HTTP Method | GET |
Response:
- 401 – Unauthorized
- 404 – Bad Request (There is no active subscription)
- 204 –No Content (Data is not ready yet)
- 200 – OK
{ { "<app id>": { "stats_totals": {//array of single statistics "<statistic name>": <statistic value> }, "service_grids": [//array of service grids { "id": "<grid Id>", "values": [ { "<column id>": "<statistic value>" } ] } ], "agent_grids": [ //array of agent grids { "id": "<grid Id>", "values": [ { "<column id>": "<statistic value>" } ] } ], "chat_messages": [ { "id": "<message id>", "login_id": "<sender loginId>", "first_name": "<sender first name>", "last_name": "<sender last name>", "send_time": "<utc timestamp>", "is_urgent": "1|0", "content": "<chat message>" } ] } }
Get dispositions
Gets disposition names for all supervised services.
URI | https://{host:port}/statsapi/cfg/dispositions |
HTTP Method | GET |
Url parameters:
- agentCanSelect = 1
- inbound = 1
- outbound = 1
- preview = 1
Response:
- 401 – Unauthorized
- 200 – OK
{ "dispositions": ["<disposition name>", ...] }
Get available agents
Gets "true" or "false" value for agents ready to handle a specific service.
URI | https://{tenant_url:port}/statsapi/info/check_available_agents?service={service-name} |
HTTP Method | GET |
Note: No authentication or subscription is needed.
Response:
- 200 – OK
{ “availability”: [ true | false ] }
- True – "Number of ready agents" > 0 for the specific service (i.e., at least one agent is available)
- False – "Number of ready agents" is 0 for the specific service (i.e., no agent is available)