Points de terminaison de l'agent

Les points de terminaison d'agent permettent d'obtenir des objets d'agent. Chaque objet agent représente un seul agent dans Contact Center AI Platform (CCAI Platform). Examinez le modèle suivant pour voir quels champs peuvent contenir des informations permettant d'identifier personnellement l'utilisateur.

[
  {
    "id": 0,
    "email": "string",
    "created_at": "2018-05-30T20:46:31.333Z",
    "last_login_time": "2018-05-30T20:46:31.333Z",
    "first_name": "string",
    "middle_name": "string",
    "last_name": "string",
    "avatar_url": "string",
    "agent_number": "string",
    "status": {
      "id": 0,
      "name": "string",
      "color": "string"
    },
    "status_updated_at": "2018-05-30T20:46:31.333Z",
    "crm_authenticated": true,
    "online": true,
    "wrap_up": true,
    "call_count": 0,
    "chat_count": 0,
    "location": "string",
    "roles": [
      "agent"
    ],
    "teams": [
      {
        "id": 0,
        "name": "string",
        "parent_id": 0,
        "position": 0,
        "deleted": true,
        "agents_count": 0
      }
    ],
    "channels": [
      {
        "channel_type": "chat",
        "menu": {
          "id": 0,
          "name": "string",
          "parent_id": 0,
          "position": 0,
          "deleted": true,
          "hidden": "string",
          "menu_type": "ivr_menu",
          "output_msg": "string"
        }
      }
    ]
  }
]

Agents

Le point de terminaison /manager/api/v1/agents renvoie les objets d'agent, ainsi que les données d'état et de présence en temps réel pour les agents actifs uniquement. Ce point de terminaison ne renvoie pas les enregistrements d'agents désactivés.

Le tableau suivant liste les paramètres de requête acceptés par le point de terminaison /manager/api/v1/agents :

Paramètre Obligatoire Type de données Définition
dans FALSE Chaîne S'associe à "per" pour indiquer la page des enregistrements. Par exemple, si "per" est défini sur 200 et "page" sur 2, la réponse contiendra les enregistrements 201 à 400, car la page 1 contiendra les enregistrements 1 à 200.
par FALSE Chaîne Associé à "page" pour indiquer le nombre d'enregistrements à inclure dans une page d'enregistrements. Par exemple, si "per" est défini sur 200 et "page" sur 2, la réponse contiendra les enregistrements 201 à 400, car la page 1 contiendra les enregistrements 1 à 200.
id[] FALSE Array[String] Array[Strings]. ID des enregistrements à rechercher et à renvoyer
agent_number[] FALSE Array[String] Numéros d'agent attribués par l'administrateur lors de la création d'un agent
status_id[] FALSE Array[String] Filtrer par état de l'agent
online[] FALSE Booléen Filtrer selon que les agents sont en ligne ou non
wrap_up[] FALSE Booléen Filtrer selon que les agents sont en état de finalisation ou non
location[] FALSE Array[String] Filtre par emplacement de l'agent
last_login_time[from] FALSE Heure au format UTC crée une limite inférieure du champ de l'heure de la dernière connexion. Tous les enregistrements renvoyés seront postérieurs à la valeur saisie.
last_login_time[to] FALSE Heure au format UTC crée une limite supérieure pour le champ de l'heure de la dernière connexion. Tous les enregistrements renvoyés seront antérieurs à la valeur saisie.
status_updated_at[from] FALSE Heure au format UTC crée une limite inférieure du champ "status updated at". Tous les enregistrements renvoyés seront postérieurs à la valeur saisie.
status_updated_at[to] FALSE Heure au format UTC crée une limite supérieure pour le champ "status updated at". Tous les enregistrements renvoyés seront antérieurs à la valeur saisie.

Point de terminaison :

Method: GET
Type: 
URL: https://{​{subdomain}​}.{​{domain}​}/manager/api/v1/agents

Autres exemples de requêtes/réponses :

Exemple de requête : exemple d'agents

Corps : aucun

Exemple de réponse : exemple d'agents

[
  {
    "id": 45,
    "email": "craigT@nelson.com",
    "roles": [
      "agent"
    ],
    "first_name": "Craig T",
    "middle_name": null,
    "last_name": "Nelson",
    "avatar_url": "https://subdomain.somedomain.com/default-profile.png",
    "agent_number": null,
    "crm_authenticated": false,
    "status": {
      "id": -6,
      "name": "Wrap-up",
      "color": "purple",
    },
    "online": false,
    "wrap_up": false,
    "call_count": 0,
    "chat_count": 0,
    "location": null,
    "created_at": "2016-11-10T00:15:04.000Z",
    "last_login_time": "2016-11-10T00:17:57.000Z",
    "status_updated_at": null,
    "teams": [
      {
        "id": 163,
        "name": "team CTN",
        "parent_id": null,
        "position": 11,
        "agents_count": 12,
        "deleted": false
      }
    ],
    "channels": [
      {
        "channel_type": "voice_call",
        "menu": {
          "id": 2029,
          "name": "Mobile Queue",
          "parent_id": null,
          "position": 0,
          "deleted": false,
          "menu_type": "mobile_menu",
          "output_msg": null,
          "hidden": false
        }
      }
    ]
  },
  {
    "id": 60,
    "email": "notanakinskywalker@empire.com",
    "roles": [
      "agent"
    ],
    "first_name": "Darth",
    "middle_name": null,
    "last_name": "Vader",
    "avatar_url": "https://subdomain.somedomain.com/default-profile.png",
    "agent_number": null,
    "crm_authenticated": false,
    "status": {
      "id": -7,
      "name": "In-call",
      "color": "light_blue",
    },
    "online": false,
    "wrap_up": false,
    "call_count": 0,
    "chat_count": 0,
    "location": null,
    "created_at": "2017-02-03T19:44:14.000Z",
    "last_login_time": "2017-02-03T20:05:31.000Z",
    "status_updated_at": "2017-02-04T12:36:11.000Z",
    "teams": [],
    "channels": [
      {
        "channel_type": "voice_call",
        "menu": {
          "id": 1693,
          "name": "Premium Support",
          "parent_id": null,
          "position": 0,
          "deleted": false,
          "menu_type": "ivr_menu",
          "output_msg": "You selected premium support",
          "hidden": false
        }
      }
    ]
  },
  {
    "id": 81,
    "email": "email@email.com",
    "roles": [
      "agent"
    ],
    "first_name": "Barry",
    "middle_name": null,
    "last_name": "Allen",
    "avatar_url": "https://subdomain.somedomain.com/default-profile.png",
    "agent_number": null,
    "crm_authenticated": false,
    "status": {
      "id": -10,
      "name": "Offline",
      "color": "grey",
    },
    "online": false,
    "wrap_up": false,
    "call_count": 0,
    "chat_count": 0,
    "location": null,
    "created_at": "2017-03-13T23:47:39.000Z",
    "last_login_time": "2017-03-13T23:48:17.000Z",
    "status_updated_at": "2017-03-13T23:56:04.000Z",
    "teams": [],
    "channels": [
      {
        "channel_type": "voice_call",
        "menu": {
          "id": 2028,
          "name": "Speed Issues",
          "parent_id": 2027,
          "position": 0,
          "deleted": false,
          "menu_type": "mobile_menu",
          "output_msg": null,
          "hidden": false
        }
      }
    ]
  }
]

Code d'état : 200

État actuel des agents

"État actuel des agents" renvoie tous les agents connectés et leur état actuel, la durée pendant laquelle ils ont eu cet état, ainsi que des informations supplémentaires indiquant si l'agent est en attente et pendant combien de temps.

Point de terminaison :

Method: GET
Type: 
URL: https://{​{subdomain}​}.{​{domain}​}/manager/api/v1/agents/current_status

Autres exemples de requêtes/réponses :

Exemple de requête : état actuel des agents

Corps : aucun

Exemple de réponse : état actuel des agents

[
  {
    "id": 1,
    "status": "Available",
    "status_id": 0,
    "status_updated_at": "2021-05-10T17:45:01.000Z",
    "on_hold": false,
    "on_hold_duration": 0
  }
]

Code d'état : 0

Attendez-vous à des clés JSON non reconnues dans les réponses de l'API

Toutes les mises à jour de l'API sont rétrocompatibles. Nous nous réservons le droit d'introduire de nouvelles clés JSON dans les réponses d'API existantes à tout moment. Nous vous recommandons de gérer les réponses de manière défensive en ignorant les clés non reconnues afin de maintenir la fonctionnalité.