Actions एपीआई

Actions API, आपकी सेट की गई कार्रवाई को बनाने, मैनेज करने, और उसकी जांच करने के लिए एंडपॉइंट उपलब्ध कराता है.

क्लाइंट लाइब्रेरी (Node.js)

आपके पास सर्वर से सीधे एचटीटीपी अनुरोध करके, Actions API RESTful सेवा का इस्तेमाल करने का विकल्प है. हालांकि, हम क्लाइंट लाइब्रेरी की सुविधा देते हैं, जिससे Node.js से एंडपॉइंट को ऐक्सेस करना आसान हो जाता है. Actions API क्लाइंट लाइब्रेरी आपको कई तरह के एंडपॉइंट का इस्तेमाल करके, अपनी सेट की गई कार्रवाई को मैनेज करने और उसकी जांच करने की सुविधा देती है.

उदाहरण के लिए, नीचे दिया गया कोड दिए गए मॉडल के आधार पर उपयोगकर्ता के प्रोजेक्ट की झलक को अपडेट करने के लिए, writePreview एंडपॉइंट को कॉल करता है:

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

Actions API Node.js क्लाइंट लाइब्रेरी को इंस्टॉल करने के निर्देश और रेफ़रंस सामग्री के लिए, लाइब्रेरी और Actions API REST रेफ़रंस दस्तावेज़ देखें.

ज़रूरी शर्तें

Actions API का इस्तेमाल करने के लिए किए गए अनुरोधों पर ये शर्तें लागू होती हैं.

पेलोड साइज़ के लिए अनुरोध करें

Actions API को किए गए अनुरोध का साइज़ 10 एमबी या इससे कम होना चाहिए. इसमें क्लाइंट स्ट्रीमिंग एंडपॉइंट शामिल हैं, जहां स्ट्रीम में किए गए हर अनुरोध का साइज़ 10 एमबी या इससे कम होना चाहिए.

अगर आपके पेलोड का साइज़ 10 एमबी से ज़्यादा है, तो आपको Actions SDK टूल के सर्वर से 400 गड़बड़ी मिलेगी.

सबसे सही तरीके

Actions API का इस्तेमाल करते समय, नीचे दिए गए सबसे सही तरीकों को इस्तेमाल करने का सुझाव दिया जाता है.

x-goog-user-project अनुरोध का हेडर सेट करें

अपने उपयोगकर्ताओं के लिए कोई टूल या ऐप्लिकेशन बनाते समय, हो सकता है कि आप अपने क्लाइंट प्रोजेक्ट के बजाय, उपयोगकर्ता के प्रोजेक्ट का बिल और कोटा की सीमाओं के लिए इस्तेमाल करना चाहें. बिलिंग और कोटा के मकसद से किसी प्रोजेक्ट के बारे में बताने के लिए, x-goog-user-project अनुरोध का हेडर सेट करें.

मान्य वैल्यू Google Cloud के मौजूदा प्रोजेक्ट का प्रोजेक्ट आईडी
उदाहरण x-goog-user-project: my-project
जानकारी हेडर में बताए गए प्रोजेक्ट का इस्तेमाल, कोटा की सीमाओं के लिए किया जाता है. साथ ही, अनुरोध से जुड़े शुल्क के लिए बिल भेजा जाता है.

उपयोगकर्ता-एजेंट अनुरोध हेडर सेट करें

user-agent अनुरोध के हेडर का इस्तेमाल करके, सही उपयोगकर्ता एजेंट सेट करें. इससे एपीआई को यह तय करने में मदद मिलती है कि अनुरोध पार्टनर की ओर से मिले हैं या नहीं.

सीमाएं

इस सेक्शन में, Actions API की सीमाओं के बारे में बताया गया है.

क्लाइंट स्ट्रीमिंग एंडपॉइंट के लिए टाइम आउट

यह सीमा सिर्फ़ क्लाइंट स्ट्रीमिंग एंडपॉइंट पर किए गए एचटीटीपी अनुरोधों पर लागू होती है. क्लाइंट लाइब्रेरी का इस्तेमाल करके किए गए अनुरोधों पर यह सीमा लागू नहीं होती.

अगर WritePreview, CreateVersion या WriteDraft को कॉल करने के लिए, एचटीटीपी अनुरोधों का इस्तेमाल किया जा रहा है, तो हमारा सुझाव है कि जो अनुरोध पूरे नहीं हो पाते उन्हें मैनेज करने के लिए, टाइम आउट सेट करें.

अगर आपको रिस्पॉन्स हेडर, 200 के बजाय किसी अन्य स्टेटस कोड के बारे में बताता है, तो एक तय समय के बाद कोड को स्ट्रीम बंद कर देना चाहिए. यह समस्या सिर्फ़ क्लाइंट स्ट्रीमिंग एंडपॉइंट पर असर डालती है. उदाहरण के लिए, Actions API का इस्तेमाल करने वाला gactions टूल, पांच सेकंड का टाइम आउट होता है.