Actions एपीआई

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

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

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

उदाहरण के लिए, नीचे दिया गया कोड, दिए गए मॉडल के आधार पर उपयोगकर्ता के प्रोजेक्ट की झलक को अपडेट करने के लिए, 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 क्लाइंट लाइब्रेरी को इंस्टॉल करने के निर्देश और रेफ़रंस मटीरियल के लिए, लाइब्रेरी और कार्रवाइयां API REST रेफ़रंस दस्तावेज़ देखें.

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

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

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

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

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

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

यहां दिए गए सबसे सही तरीकों का सुझाव खास तौर पर तब दिया जाता है, जब आप 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 के अलावा कोई दूसरा स्टेटस कोड तय किया गया है, तो आपका कोड एक तय समय के बाद स्ट्रीम को बंद कर देना चाहिए. यह समस्या इससे सिर्फ़ क्लाइंट स्ट्रीमिंग एंडपॉइंट पर असर पड़ता है. उदाहरण के लिए, gactions टूल, जो Actions API का इस्तेमाल करता है, इसका टाइम आउट पांच सेकंड होता है.