API Actions

L'API Actions fornisce endpoint per aiutare a creare, gestire e testare l'Azione.

Libreria client (Node.js)

Anche se puoi utilizzare il servizio RESTful dell'API Actions inviando richieste HTTP dirette al server, mettiamo a disposizione una libreria client che semplifica l'accesso agli endpoint da Node.js. La libreria client dell'API Actions consente di gestire e testare l'Azione utilizzando una serie di endpoint.

Ad esempio, il codice seguente esegue una chiamata all'endpoint writePreview per aggiornare l'anteprima del progetto di un utente in base al modello fornito:

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

Per le istruzioni di installazione e il materiale di riferimento per la libreria client Node.js dell'API Actions, consulta la documentazione relativa alla libreria e al riferimento REST dell'API Actions.

Requisiti

I seguenti requisiti si applicano alle richieste effettuate all'API Actions.

Dimensioni payload richiesta

Le richieste effettuate all'API Actions non devono superare i 10 MB. Sono inclusi gli endpoint per i flussi di client, dove ogni richiesta nel flusso deve avere una dimensione massima di 10 MB.

Se il payload supera i 10 MB, dovresti ricevere un errore 400 dal server Actions SDK.

best practice

Le best practice riportate di seguito sono vivamente consigliate quando utilizzi l'API Actions.

Imposta l'intestazione della richiesta x-goog-user-project

Quando crei uno strumento o un'applicazione per i tuoi utenti, è consigliabile che il progetto di un utente venga fatturato e utilizzato per i limiti di quota, anziché per il tuo progetto client. Per specificare un progetto ai fini della fatturazione e della quota, imposta l'intestazione della richiesta x-goog-user-project.

Valori validi L'ID progetto per un progetto Google Cloud esistente
Esempio x-goog-user-project: my-project
Dettagli Il progetto specificato nell'intestazione viene utilizzato per i limiti di quota e viene fatturato per gli addebiti associati alla richiesta.

Imposta l'intestazione della richiesta user agent

Imposta uno user agent appropriato utilizzando l'intestazione della richiesta user-agent. Ciò consente all'API di determinare se le richieste provengono dai partner.

Limitazioni note

Questa sezione descrive le limitazioni note dell'API Actions.

Timeout per gli endpoint dei flussi di client

Questo limite si applica solo alle richieste HTTP inviate agli endpoint di flussi di client. Le richieste effettuate utilizzando la libreria client non sono interessate da questa limitazione.

Se utilizzi le richieste HTTP per chiamare WritePreview, CreateVersion o WriteDraft, ti consigliamo di implementare un timeout per gestire le richieste che non vanno a buon fine.

Se ricevi un'intestazione della risposta che specifica un codice di stato diverso da 200, il codice deve terminare il flusso dopo un determinato periodo di tempo. Questo problema riguarda solo gli endpoint dei flussi di client. Ad esempio, lo strumento gactions, che utilizza l'API Actions, ha un timeout di 5 secondi.