Les actions de conversation seront abandonnées le 13 juin 2023. Pour en savoir plus, consultez Abandon de la fonctionnalité Conversation.

API Actions

L'API Actions fournit des points de terminaison pour vous aider à créer, gérer et tester votre action.

Bibliothèque cliente (Node.js)

Vous pouvez utiliser le service RESTful API Actions en envoyant directement des requêtes HTTP au serveur. Toutefois, nous fournissons une bibliothèque cliente qui facilite l'accès aux points de terminaison à partir de Node.js. La bibliothèque cliente de l'API Actions vous permet de gérer et de tester votre action à l'aide de différents points de terminaison.

Par exemple, le code ci-dessous appelle le point de terminaison writePreview pour mettre à jour l'aperçu du projet d'un utilisateur en fonction du modèle fourni:

   import {ActionsSdkClient} from '@assistant/actions';
   import { promisify } from 'util';
   import * as stream from 'stream';

   const PROJECT_ID = '<PROJECT_ID>';
   const VERSION = 123;

   const projectPath = `projects/${PROJECT_ID}`;
   const versionPath = `projects/${PROJECT_ID}/versions/${VERSION}`;

    async function publishPreview(projectPath, versionPath) {
      const request = {
        parent: projectPath,
        previewSettings: {sandbox: {value: true}},
        submittedVersion: {version: versionPath}
      };

      const client = new ActionsSdkClient();
      const stream = client.writePreview(()=>{});
      stream.write(request);
      stream.end();
      const finished = promisify(stream.finished);
      await finished(stream);
    }

Pour obtenir les instructions d'installation et la documentation de référence concernant la bibliothèque cliente Node.js de l'API Actions, consultez la documentation de référence de la bibliothèque et de l'API REST.

Conditions requises

Les exigences suivantes s'appliquent aux requêtes adressées à l'API Actions.

Taille de la charge utile de la requête

Les requêtes adressées à l'API Actions ne doivent pas dépasser 10 Mo. Cela inclut les points de terminaison de streaming client, où chaque requête du flux doit être inférieure ou égale à 10 Mo.

Si votre charge utile dépasse 10 Mo, vous devriez recevoir une erreur 400 de la part du serveur du SDK Actions.

Bonnes pratiques

Les bonnes pratiques suivantes sont vivement recommandées lorsque vous utilisez l'API Actions.

Définir l'en-tête de requête x-goog-user-project

Lorsque vous créez un outil ou une application pour vos utilisateurs, vous pouvez souhaiter que le projet d'un utilisateur soit facturé et utilisé pour les limites de quota plutôt que votre projet client. Pour spécifier un projet à des fins de facturation et de quota, définissez l'en-tête de requête x-goog-user-project.

Valeurs correctes ID de projet d'un projet Google Cloud existant.
Exemple x-goog-user-project: my-project
Détails Le projet spécifié dans l'en-tête est utilisé pour les limites de quota et les frais associés à la requête.

Définir l'en-tête de requête du user-agent

Définissez un user-agent approprié à l'aide de l'en-tête de requête user-agent. Cela permet à l'API de déterminer si les requêtes proviennent de partenaires.

Limites connues

Cette section décrit les limites connues de l'API Actions.

Délai avant expiration pour les points de terminaison de streaming client

Cette limitation ne s'applique qu'aux requêtes HTTP que vous envoyez aux points de terminaison de streaming client. Les requêtes effectuées à l'aide de la bibliothèque cliente ne sont pas concernées par cette limitation.

Si vous utilisez des requêtes HTTP pour appeler WritePreview, CreateVersion ou WriteDraft, nous vous recommandons de définir un délai avant expiration pour gérer les requêtes infructueuses.

Si vous recevez un en-tête de réponse spécifiant un code d'état autre que 200, votre code doit mettre fin au flux après un certain temps. Ce problème n'affecte que les points de terminaison de streaming des clients. Par exemple, l'outil gactions, qui utilise l'API Actions, a un délai avant expiration de cinq secondes.