API de Actions

La API de Actions proporciona extremos para ayudarte a crear, administrar y probar tu acción.

Biblioteca cliente (Node.js)

Si bien puedes usar el servicio RESTful de la API de Actions mediante solicitudes HTTP directas al servidor, proporcionamos una biblioteca cliente que facilita el acceso a los extremos desde Node.js. La biblioteca cliente de la API de Actions te permite administrar y probar tu acción usando diferentes extremos.

Por ejemplo, el siguiente código realiza una llamada al extremo writePreview para actualizar la vista previa del proyecto de un usuario en función del modelo proporcionado:

   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);
    }

Si quieres obtener instrucciones de instalación y material de referencia para la biblioteca cliente de Node.js de la API de Actions, consulta la documentación sobre la biblioteca y la referencia de REST de la API de Actions.

Requisitos

Los siguientes requisitos se aplican a las solicitudes realizadas a la API de Actions.

Tamaño de la carga útil de la solicitud

Las solicitudes realizadas a la API de Actions deben ser de 10 MB o menos. Esto incluye extremos de transmisión del cliente, en los que cada solicitud de la transmisión debe ser de 10 MB o menos.

Si la carga útil supera los 10 MB, deberías recibir un error 400 de Actions servidor SDK.

Prácticas recomendadas

Las siguientes prácticas recomendadas son muy recomendables cuando se usa la API de Actions.

Configura el encabezado de la solicitud x-goog-user-project

Al crear una herramienta o aplicación para tus usuarios, quizás quieras que las contraseñas que el proyecto se facture y se use para límites de cuota, en lugar del proyecto del cliente. Si quieres especificar un proyecto para facturación y cuotas, configura la Encabezado de la solicitud x-goog-user-project.

Valores válidos El ID del proyecto de un Proyecto de Google Cloud
Ejemplo x-goog-user-project: my-project
Detalles El proyecto especificado en el encabezado se usa para los límites de cuota y se factura por los cargos asociados con la solicitud.

Configura el encabezado de la solicitud del usuario-agente

Configura un usuario-agente adecuado con el encabezado de solicitud user-agent. Esta ayuda a la API a determinar si las solicitudes provienen de socios.

Limitaciones conocidas

En esta sección, se describen las limitaciones conocidas de la API de Actions.

Tiempo de espera para los extremos de transmisión del cliente

Esta limitación solo se aplica a las solicitudes HTTP que realizas a la transmisión de clientes en los extremos. Las solicitudes realizadas con la biblioteca cliente no se afectados por esta limitación.

Si usas solicitudes HTTP para llamar a WritePreview, CreateVersion o WriteDraft, te recomendamos implementar un tiempo de espera para controlar las solicitudes y exitoso.

Si recibes un encabezado de respuesta que especifica un código de estado distinto de 200, tu código debería finalizar la transmisión después de cierto período. Esta edición solo afecta a extremos de transmisión del cliente. Por ejemplo, la herramienta gactions, que usa la API de Actions, tiene un tiempo de espera de 5 segundos.