API de Actions

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

Biblioteca cliente (Node.js)

Si bien puedes usar el servicio RESTful de la API de Actions si realizas 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 con una variedad de extremos.

Por ejemplo, el siguiente código llama al extremo writePreview para actualizar la vista previa del proyecto de un usuario según el 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 deseas 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 de la biblioteca y de 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 los 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 del servidor del SDK de Actions.

Prácticas recomendadas

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

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

Cuando compilas una herramienta o una aplicación para tus usuarios, es posible que desees que el proyecto de un usuario se facture y se use para los límites de cuota, en lugar de tu proyecto de cliente. Si quieres especificar un proyecto para fines de facturación y cuotas, configura el encabezado de la solicitud x-goog-user-project.

Valores válidos El ID del proyecto de un proyecto de Google Cloud existente
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 de usuario-agente

Configura un usuario-agente adecuado con el encabezado de la solicitud user-agent. Esto ayuda a la API a determinar si las solicitudes se originan en 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 en los extremos de transmisión del cliente. Las solicitudes realizadas con la biblioteca cliente no se ven afectadas por esta limitación.

Si usas solicitudes HTTP para llamar a WritePreview, CreateVersion o WriteDraft, te recomendamos que implementes un tiempo de espera para controlar las solicitudes que no se realizan de forma correcta.

Si recibes un encabezado de respuesta que especifica un código de estado distinto de 200, tu código debe finalizar la transmisión después de un período determinado. Este problema solo afecta a los 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.