REST API
The Real Time Chat API provides REST endpoints if you want to pull data on demand. If you want to monitor or process metrics in real time, consider using the Streaming API instead.
The REST API uses the following path:
https://rtm.zopim.com/stream/{resource}
The path differs from the Chat API path, which is as follows:
https://{subdomain}.zendesk.com/api/v2/chat/{resource}
Data Initialization
If data has not yet been computed for your account or after a long period of inactivity, the REST API will temporarily return Not Computed
response message.
HTTP/1.1 200 OK
Content-Type: application/json
{
"status_code": 200,
"message": "Not Computed!"
}
Get All Chat Metrics
GET /stream/chats
Captures all the chat activity for your account.
Allowed for
- Owner
- Administrator
- Agent
Using curl
curl https://rtm.zopim.com/stream/chats \
-H "Authorization: Bearer {access token}"
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "chats",
"data": {
"incoming_chats": 2,
"assigned_chats": 0,
"waiting_time_avg": 12,
"missed_chats": {
"30": 1,
"60": 1
},
"active_chats": 7,
...
},
"type": "update",
"department_id": null
},
"status_code": 200
}
Get Chat Metric
GET /stream/chats/{metric_key}
Returns a single chat metric for your account. See Chat Metrics for the metric key.
Allowed for
- Owner
- Administrator
- Agent
Using curl
curl https://rtm.zopim.com/stream/chats/{metric_key} \
-H "Authorization: Bearer {access token}"
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
metric_key | string | Path | true | Identifier for the metric |
Example Response
GET /stream/chats/missed_chats
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "chats",
"data": {
"missed_chats": {
"30": 1,
"60": 2
}
},
"type": "update",
"department_id": null
},
"status_code": 200
}
Get Chat Metrics by Department
GET /stream/chats?department_id={department_id}
GET /stream/chats/{metric_key}?department_id={department_id}
Captures the chat activity for a specific department.
To list all the departments on your account or to fetch a department by name, use the Departments API.
To capture activity for the chats which do not belong to any department, use department_id=0
.
Allowed for
- Owner
- Administrator
- Agent
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
metric_key | string | Path | true | Identifier for the metric |
department_id | integer | Query | true | Identifier for a department |
Using curl
curl https://rtm.zopim.com/stream/chats/{metric_key}?department_id={department_id} \
-H "Authorization: Bearer {access token}"
Example Response
GET /stream/chats?department_id=5
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "chats",
"data": {
"incoming_chats": 0,
"waiting_time_avg": null,
"missed_chats": {
"30": 0,
"60": 0
},
...
},
"type": "update",
"department_id": 5
},
"status_code": 200
}
Get Chat Metrics for a Specific Time Window
GET /stream/chats?window={window_size_in_minutes}
GET /stream/chats/{metric_key}?window={window_size_in_minutes}
Filters the chat metrics for the given time window.
See Chat Metrics for the metrics associated to a time window. Other metrics remains unaffected.
Available time windows are 30
minutes and 60
minutes.
Allowed for
- Owner
- Administrator
- Agent
Using curl
curl https://rtm.zopim.com/stream/chats/{metric_key}?window={window_size_in_minutes} \
-H "Authorization: Bearer {access token}"
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
metric_key | string | Path | true | Identifier for the metric |
window_size_in_minutes | integer | Query | true | Possible values are 30 and 60. |
Example Response
GET /stream/chats/missed_chats?window=30
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "chats",
"data": {
"missed_chats": {
"30": 1
}
},
"type": "update",
"department_id": null
},
"status_code": 200
}
Get Agent Status Counts
GET /stream/agents
Returns the number of agents who are online, away, and invisible in your account.
Allowed for
- Owner
- Administrator
- Agent
Using curl
curl https://rtm.zopim.com/stream/agents \
-H "Authorization: Bearer {access token}"
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "agents",
"data": {
"agents_online": 27,
"agents_away": 1,
"agents_invisible": 1
},
"type": "update",
"department_id": null
},
"status_code": 200
}
Get Agent Status Count
GET /stream/agents/{metric_key}
Returns the number of agents who are either online, away, or invisible in your account. Specify the status with the metric key (agents_online
, agents_away
, agents_invisible
). See Agent Metrics.
Allowed for
- Owner
- Administrator
- Agent
Using curl
curl https://rtm.zopim.com/stream/agents/{metric_key} \
-H "Authorization: Bearer {access token}"
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
metric_key | string | Path | true | Identifier for the metric |
Example Response
GET /stream/agents/agents_online
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "agents",
"data": {
"agents_online": 27
},
"type": "update",
"department_id": null
},
"status_code": 200
}
Get Agent Status Counts by Department
GET /stream/agents?department_id={department_id}
GET /stream/agents/{metric_key}?department_id={department_id}
Returns the number of agents by status for a specific department.
To list all the departments on your account or to fetch a department by name, use the Departments API.
To count the agents who do not belong to any department, use department_id=0
.
Allowed for
- Owner
- Administrator
- Agent
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
metric_key | string | Path | true | Identifier for the metric |
department_id | integer | Query | true | Identifier for a department |
Using curl
curl https://rtm.zopim.com/stream/agents/{metric_key}?department_id={department_id} \
-H "Authorization: Bearer {access token}"
Example Response
GET /stream/agents?department_id=5
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": {
"topic": "agents",
"data": {
"agents_online": 26,
"agents_away": 0,
"agents_invisible": 1
},
"type": "update",
"department_id": 5
},
"status_code": 200
}