Pagination et suivi

Cette page explique comment utiliser la pagination et le suivi lors de l'appel des points de terminaison de l'API Manager.

Pagination

La pagination est compatible avec la plupart des points de terminaison de l'API Manager. Pour connaître les exceptions, consultez Suivre un point de terminaison pour les enregistrements mis à jour.

Définir la taille de la page

Par défaut, les points de terminaison de l'API Manager renvoient des pages contenant 100 enregistrements. Vous pouvez modifier ce nombre à l'aide du paramètre de requête per.

Pour définir la taille des pages, utilisez le point de terminaison suivant :

/manager/api/v1/agents?per=50

Cela définit la taille de la page sur 50 enregistrements.

Demander une page spécifique

Vous pouvez demander une page spécifique d'enregistrements à l'aide du paramètre de requête page.

Pour demander une page spécifique, utilisez le point de terminaison suivant :

/manager/api/v1/agents?page=2

Cela renvoie la deuxième page d'enregistrements.

Obtenir tous les enregistrements disponibles

Par défaut, l'API Manager renvoie 100 enregistrements par page de réponse, mais vous pouvez modifier ce nombre en définissant la taille de la page. Pour les points de terminaison qui acceptent la pagination, l'en-tête de réponse inclut le nombre total d'enregistrements disponibles. Si ce nombre dépasse la taille de votre page, vous devez appeler l'API plusieurs fois pour obtenir tous les enregistrements. L'API Manager n'indique pas explicitement qu'il existe d'autres enregistrements à renvoyer.

Pour obtenir tous les enregistrements disponibles, procédez comme suit :

  1. Appelez un point de terminaison d'API de gestionnaire compatible avec la pagination. Pour en savoir plus, consultez Pagination. L'en-tête de réponse indique le nombre d'enregistrements à renvoyer.

  2. Comparez le nombre d'enregistrements à renvoyer avec la taille de votre page. Si le nombre d'enregistrements à renvoyer est inférieur à la taille de votre page, tous les enregistrements ont été renvoyés. Sinon, passez directement à l'étape suivante.

  3. Appelez à nouveau le point de terminaison en spécifiant la page d'enregistrements suivante. Pour en savoir plus, consultez Demander une page spécifique. Répétez cette étape jusqu'à ce que tous vos enregistrements soient renvoyés.

Suivre un point de terminaison pour les enregistrements mis à jour

Google déconseille d'utiliser la pagination pour les points de terminaison d'API call, chat et agent activity, car nous ne pouvons pas garantir des résultats optimaux. Nous vous recommandons plutôt de suivre ces points de terminaison d'API pour obtenir des enregistrements à jour. Le suivi d'un point de terminaison d'API consiste à l'appeler en continu pour obtenir les enregistrements nouveaux ou mis à jour depuis votre dernière requête.

Suivre le point de terminaison de l'API Calls

Chaque fois qu'un enregistrement d'appel est modifié, son code temporel updated_at est mis à jour. Vous pouvez utiliser le code temporel pour spécifier les enregistrements d'appels que vous souhaitez récupérer lorsque vous appelez le point de terminaison de l'API Calls.

Pour suivre le point de terminaison de l'API Calls toutes les 60 minutes, procédez comme suit :

  1. Envoyez une requête au point de terminaison de l'API Calls (/manager/api/v1/calls), en spécifiant les paramètres de requête suivants :

    • updated_at[from] : indiquez que vous souhaitez obtenir les enregistrements mis à jour à cette heure ou après.

    • sort_column : spécifiez le champ selon lequel trier les enregistrements.

    • sort_direction. Spécifiez le sens de tri des enregistrements dans la réponse.

    Voici un exemple de script Bash qui utilise la commande curl :

    # 1. Define your environment variables (usually set in your shell or .env file)
    export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/"
    export API_USER="ccaip-host"
    export API_PASS="CCAI Platform API Key"
    
    # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC)
    # For macOS (BSD date):
    # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ")
    # For Linux (GNU date):
    TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")
    
    # 3. Execute the curl command
    # -u handles the Base64 encoding for Basic Auth automatically
    curl -g -u "${API_USER}:${API_PASS}" \
    "https://${API_HOSTNAME}/manager/api/v1/calls?updated_at[from]=${TIMESTAMP}&sort_column=updated_at&sort_direction=asc" | jq
    

    L'API Calls renvoie une réponse semblable à la suivante :

      [
        {
          "id": 100,
          ...
          "updated_at": "2025-01-01T00:00:00Z"
        },
        {
          "id": 98,
          ...
          "updated_at": "2025-01-02T00:00:00Z"
        },
        {
          "id": 150,
          ...
          "updated_at": "2025-01-03T00:00:00Z"
        }
      ]
    

    Les objets de réponse mis à jour à la date ou après l'horodatage que vous avez spécifié sont renvoyés, triés par date, dans l'ordre croissant. Utilisez le code temporel updated_at du dernier objet de cette réponse pour le code temporel de votre prochain appel au point de terminaison.

  2. Appelez le point de terminaison de l'API Call 60 minutes plus tard. Les enregistrements d'appels mis à jour depuis votre dernière demande sont renvoyés.

  3. Répétez l'étape précédente pour continuer à suivre le point de terminaison.

Suivre le point de terminaison de l'API Chats

Chaque fois qu'un enregistrement de chat est modifié, son code temporel updated_at est mis à jour. Vous pouvez utiliser le code temporel pour spécifier les enregistrements de chat que vous souhaitez récupérer lorsque vous appelez le point de terminaison de l'API Chats.

Pour suivre le point de terminaison de l'API Chats toutes les 60 minutes, procédez comme suit :

  1. Envoyez une requête au point de terminaison de l'API Chats (/manager/api/v1/chats), en spécifiant les paramètres de requête suivants :

    • updated_at[from] : indiquez que vous souhaitez obtenir les enregistrements mis à jour à cette heure ou après.

    • sort_column : spécifiez le champ selon lequel trier les enregistrements.

    • sort_direction. Spécifiez le sens de tri des enregistrements dans la réponse.

    Voici un exemple de script Bash qui utilise la commande curl :

    # 1. Define your environment variables (usually set in your shell or .env file)
    export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/"
    export API_USER="ccaip-host"
    export API_PASS="CCAI Platform API Key"
    
    # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC)
    # For macOS (BSD date):
    # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ")
    # For Linux (GNU date):
    TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")
    
    # 3.. Execute the curl command
    # -u handles the Base64 encoding for Basic Auth automatically
    curl -g -u "${API_USER}:${API_PASS}" \
    "https://${API_HOSTNAME}/manager/api/v1/chats?updated_at[from]=${TIMESTAMP}&sort_column=updated_at&sort_direction=asc" | jq
    

    L'API Chats renvoie une réponse semblable à la suivante :

    [
      {
        "id": 100,
        ...
        "updated_at": "2025-01-01T00:00:00Z"
      },
      {
        "id": 98,
        ...
        "updated_at": "2025-01-02T00:00:00Z"
      },
      {
        "id": 150,
        ...
        "updated_at": "2025-01-03T00:00:00Z"
      }
    ]
    

    Les objets de réponse mis à jour à la date ou après la date spécifiée sont renvoyés, triés par date, dans l'ordre croissant. Utilisez le code temporel updated_at du dernier objet de cette réponse pour le code temporel de votre prochain appel au point de terminaison.

  2. Appelez à nouveau le point de terminaison de l'API 60 minutes plus tard. Les journaux de chat mis à jour depuis votre dernière demande sont renvoyés.

  3. Répétez l'étape précédente pour continuer à suivre le point de terminaison.

Suivre le point de terminaison de l'API Agent Activity

Contrairement aux journaux de chat et d'appels, les journaux d'activité des agents ne sont pas mis à jour et ne comportent donc pas d'horodatage updated_at. Vous pouvez utiliser le code temporel started_at pour spécifier les enregistrements d'activité que vous souhaitez récupérer lorsque vous appelez le point de terminaison de l'API Agent Activity.

Pour suivre le point de terminaison de l'API Agent Activity toutes les 60 minutes, procédez comme suit :

  1. Envoyez une requête au point de terminaison de l'API Agent Activity (/manager/api/v1/agent_activity_logs), en spécifiant les paramètres de requête suivants :

    • started_at[from] : indiquez que vous souhaitez obtenir les journaux d'activité qui ont commencé à cette heure ou après.

    • sort_column : spécifiez le champ selon lequel trier les enregistrements.

    • sort_direction. Spécifiez le sens de tri des enregistrements dans la réponse.

    Voici un exemple de script Bash qui utilise la commande curl :

    # 1. Define your environment variables (usually set in your shell or .env file)
    export API_HOSTNAME="ccaip-host.uc1.ccaiplatform.com/"
    export API_USER="ccaip-host"
    export API_PASS="CCAI Platform API Key"
    
    # 2. Calculate the timestamp for 60 minutes ago in ISO 8601 format (UTC)
    # For macOS (BSD date):
    # TIMESTAMP=$(date -v-60M -u +"%Y-%m-%dT%H:%M:%SZ")
    # For Linux (GNU date):
    TIMESTAMP=$(date --date='60 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")
    
    # 3. Execute the curl command
    # -u handles the Base64 encoding for Basic Auth automatically
    curl -g -u "${API_USER}:${API_PASS}" \
    "https://${API_HOSTNAME}/manager/api/v1/agent_activity_logs?started_at[from]=${TIMESTAMP}&sort_column=started_at&sort_direction=asc" | jq
    

    L'API Agent Activity renvoie une réponse semblable à la suivante :

    [
      {
        "id": 100,
        ...
        "started_at": "2025-01-01T00:00:00Z"
      },
      {
        "id": 98,
        ...
        "started_at": "2025-01-02T00:00:00Z"
      },
      {
        "id": 150,
        ...
        "started_at": "2025-01-03T00:00:00Z"
      }
    ]
    

    Les objets de réponse ayant commencé à l'heure ou après l'heure spécifiée sont renvoyés, triés par date, dans l'ordre croissant. Utilisez le code temporel started_at du dernier objet de cette réponse pour le code temporel de votre prochain appel au point de terminaison.

  2. Appelez à nouveau le point de terminaison de l'API Agent Activity 60 minutes plus tard. Les journaux d'activité des agents mis à jour depuis votre dernière demande sont renvoyés.

  3. Répétez l'étape précédente pour continuer à suivre le point de terminaison.