Extremos de estado del agente

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