API Actions

A API Actions fornece endpoints para ajudar a criar, gerenciar e testar sua ação.

Biblioteca de cliente (Node.js)

Você pode usar o serviço RESTful da API Actions fazendo solicitações HTTP diretas ao servidor, mas oferecemos uma biblioteca de cliente que facilita o acesso aos endpoints a partir do Node.js. A biblioteca de cliente da API Actions permite gerenciar e testar sua ação usando vários endpoints.

Por exemplo, o código abaixo faz uma chamada para o endpoint writePreview para atualizar a prévia do projeto de um usuário com base no modelo fornecido:

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

Para instruções de instalação e material de referência para a biblioteca de cliente Node.js da API Actions, consulte a biblioteca e a documentação de referência REST da API Actions.

Requisitos

Os requisitos a seguir se aplicam às solicitações feitas à API Actions.

Tamanho do payload da solicitação

As solicitações feitas à API Actions precisam ter até 10 MB. Isso inclui endpoints de streaming do cliente, em que cada solicitação no stream deve ter 10 MB ou menos.

Se o payload exceder 10 MB, você receberá um erro 400 do objeto "Actions", servidor do SDK.

Práticas recomendadas

As práticas a seguir são bastante recomendadas você usa a API Actions.

Definir o cabeçalho da solicitação x-goog-user-project

Ao criar uma ferramenta ou aplicativo para seus usuários, talvez você queira que o endereço projeto seja faturado e usado para limites de cota, em vez de seu projeto de cliente. Para especificar um projeto para fins de faturamento e cota, defina o Cabeçalho de solicitação x-goog-user-project.

Valid Values O ID do projeto de um Projeto do Google Cloud
Exemplo x-goog-user-project: my-project
Detalhes O projeto especificado no cabeçalho é usado para limites de cota e faturado pelas cobranças associadas à solicitação.

Definir o cabeçalho da solicitação do user agent

Defina um user agent adequado usando o cabeçalho de solicitação user-agent. Isso ajuda a API a determinar se as solicitações são provenientes de parceiros.

Limitações conhecidas

Esta seção descreve as limitações conhecidas da API Actions.

Tempo limite para endpoints de streaming do cliente

Essa limitação só se aplica a solicitações HTTP feitas para solicitações de streaming do cliente endpoints. As solicitações feitas usando a biblioteca de cliente não são afetadas por essa limitação.

Se você estiver usando solicitações HTTP para chamar WritePreview, CreateVersion ou WriteDraft, nós que você implemente um tempo limite para lidar com solicitações que não são bem-sucedido.

Se você receber um cabeçalho de resposta especificando um código de status diferente de 200, seu código deve encerrar a transmissão depois de um determinado período. Este problema afeta apenas os endpoints de streaming do cliente. Por exemplo, a ferramenta gactions, que usa a API Actions, tem um tempo limite de cinco segundos.