Los extremos de la API de estado del agente proporcionan acceso a los objetos de estado del agente. Se crea un objeto de agente para cada usuario configurado en Contact Center AI Platform (CCAI Platform) que tiene un rol que incluye un permiso de agente.
Los siguientes son los extremos de la API de estado del agente:
Los extremos de estado del agente te permiten modificar el estado de los agentes. Permiten cambiar el estado de Disponible a cualquier estado personalizado. Las transiciones hacia y desde estados definidos por el sistema, como In-Call, activan un error. Además, estos extremos admiten actualizaciones masivas, lo que permite modificar el estado de equipos completos o grupos seleccionados de agentes de forma simultánea.
Actualiza el estado del agente
Este endpoint te permite actualizar el estado de los agentes. En la siguiente tabla, se muestran las propiedades del cuerpo JSON:
| Propiedad | Obligatorio | Tipo de datos | Definición |
|---|---|---|---|
| estado | TRUE | String | Es el estado en el que se establecerán los agentes, por ejemplo, disponible. |
| agent_ids | TRUE | Arry Integer | Es un ARRAY de IDs de agentes. |
| team_ids | TRUE | Array de números enteros | Es un ARRAY de IDs de equipo. |
Endpoint:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"status": "Available",
"agent_ids": [
11,
12
],
"team_ids": []
}
Ejemplo de solicitud y respuestas
En las siguientes secciones, se proporcionan ejemplos de solicitudes al extremo.
Cambiar correctamente los estados de los agentes
En el siguiente ejemplo, se muestra la solicitud y la respuesta asociada para cambiar el estado de algunos agentes cuando la acción se realizó correctamente.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"status": "Available",
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
Respuesta:
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"previous_status": "lunch",
"current_status": "Available"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "In-call",
"current_status": "In-call",
"message": "Agent can't be changed from system status 'In-call'"
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"previous_status": "Offline",
"current_status": "Offline",
"message": "Agent's status can't be changed if they are offline or logged out"
}
]
Código de estado: 200
El estado no existe
En este ejemplo, se muestran la solicitud y la respuesta asociada en las que el estado proporcionado no existe y, por lo tanto, se considera no válido.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
Body
{
"status": "Napping",
"agent_ids": [
11,
12
],
"team_ids": []
}
Respuesta: Error: No existe el estado "Napping"
{
"message": "status 'Napping' does not exist"
}
Código de estado: 400
El estado se establece en el estado del sistema
En este ejemplo, se muestran la solicitud y la respuesta en las que el estado se establece en un estado del sistema, en este caso, "en llamada". No es posible establecer el estado de un agente en un estado que administra el sistema.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
Body
{
"status": "In-call",
"agent_ids": [
11,
12
]
}
Respuesta: Error: No se puede cambiar el estado del agente a "En llamada"
{
"message": "Agent can't be changed to system status 'In-call'"
}
Código de estado: 400
Obtén estados de agentes
Este endpoint te permite recuperar el estado de los agentes. En la siguiente tabla, se muestran las propiedades del cuerpo JSON:
| Propiedad | Obligatorio | Tipo de datos | Definición |
|---|---|---|---|
| estado | TRUE | String | Es el estado en el que se establecerán los agentes, por ejemplo, disponible. |
| agent_ids | FALSO | Arry Integer | Es un ARRAY de IDs de agentes. |
| team_ids | FALSO | Array de números enteros | Es un ARRAY de IDs de equipo. |
Endpoint:
Method: GET
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
Ejemplo de solicitud y respuestas
En las siguientes secciones, se proporcionan ejemplos de solicitudes al extremo.
Obtén el estado de los agentes y equipos específicos
En este ejemplo, se muestra cómo obtener el estado de los agentes con los IDs 11 y 12, y de cualquier agente del equipo con el ID 1.
Solicitud
Encabezados:
| Clave | Valor | Descripción |
|---|---|---|
| Content-Type | application/json |
Cuerpo:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
Respuesta: Estado de los agentes solicitados
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"status": "lunch",
"ip_addrs": [
"34.211.11.101"
]
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"status": "In-call",
"ip_addrs": [
"34.211.11.102"
]
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"status": "Offline",
"ip_addrs": [
"34.211.11.103"
]
}
]
Código de estado: 200