API Tindakan

Actions API menyediakan endpoint untuk membantu membuat, mengelola, dan menguji Action Anda.

Library Klien (Node.js)

Meskipun Anda dapat menggunakan layanan RESTful Actions API dengan membuat permintaan HTTP langsung ke server, kami menyediakan library klien yang mempermudah akses endpoint dari Node.js. Library klien Actions API memungkinkan Anda mengelola dan menguji Action menggunakan berbagai endpoint.

Misalnya, kode di bawah melakukan panggilan ke endpoint writePreview untuk memperbarui pratinjau project pengguna berdasarkan model yang diberikan:

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

Untuk mengetahui petunjuk penginstalan dan materi referensi untuk library klien Node.js Actions API, lihat dokumentasi library dan referensi REST Actions API.

Persyaratan

Persyaratan berikut berlaku untuk permintaan yang dibuat ke Actions API.

Ukuran payload permintaan

Permintaan yang dibuat ke Actions API harus berukuran 10 MB atau kurang. Hal ini mencakup endpoint streaming klien, dengan setiap permintaan dalam aliran data harus berukuran 10 MB atau kurang.

Jika payload Anda melebihi 10 MB, Anda akan menerima error 400 dari Tindakan Server SDK.

Praktik terbaik

Praktik terbaik berikut sangat direkomendasikan saat Anda menggunakan Actions API.

Menetapkan header permintaan x-goog-user-project

Saat membuat alat atau aplikasi untuk pengguna, Anda mungkin menginginkan project yang akan ditagih dan digunakan untuk batas kuota, bukan project klien. Guna menentukan project untuk tujuan penagihan dan kuota, setel Header permintaan x-goog-user-project.

Nilai Valid Project ID untuk project yang sudah ada Project Google Cloud
Contoh x-goog-user-project: my-project
Detail Project yang ditentukan dalam header digunakan untuk batas kuota dan ditagih untuk tagihan yang terkait dengan permintaan tersebut.

Menetapkan header permintaan agen pengguna

Tetapkan agen pengguna yang sesuai menggunakan header permintaan user-agent. Ini membantu API menentukan apakah permintaan berasal dari partner atau tidak.

Batasan umum

Bagian ini menjelaskan batasan umum Actions API.

Waktu tunggu untuk endpoint streaming klien

Batasan ini hanya berlaku untuk permintaan HTTP yang Anda buat untuk streaming klien endpoint. Permintaan yang dibuat menggunakan library klien tidak terpengaruh oleh batasan ini.

Jika Anda menggunakan permintaan HTTP untuk memanggil WritePreview, CreateVersion, atau WriteDraft, kami menyarankan agar Anda menerapkan waktu tunggu untuk menangani permintaan yang tidak berhasil.

Jika Anda menerima header respons yang menentukan kode status selain 200, kode Anda harus menghentikan {i>streaming<i} setelah periode waktu tertentu. Terbitan ini hanya memengaruhi endpoint streaming klien. Misalnya, alat gactions, yang menggunakan Actions API, memiliki waktu tunggu 5 detik.