कार्रवाई के अनुरोधों को हैंडल करना

कार्रवाइयों का एलान करना लेख में बताया गया है कि जब कोई उपयोगकर्ता, ऐप्लिकेशन में मौजूद किसी कार्रवाई से इंटरैक्ट करता है, तो Google, कार्रवाई में बताए गए यूआरएल पर एक एचटीटीपी अनुरोध भेजता है.

यहां दिए गए उदाहरण में, खर्च की रिपोर्ट के बारे में जानकारी देने वाले ईमेल में ConfirmAction बटन जोड़ा गया है:

JSON-LD

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "potentialAction": {
    "@type": "ConfirmAction",
    "name": "Approve Expense",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "https://myexpenses.com/approve?expenseId=abc123"
    }
  },
  "description": "Approval request for John's $10.13 expense for office supplies"
}
</script>

माइक्रोडेटा

<div itemscope itemtype="http://schema.org/EmailMessage">
  <div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
    <meta itemprop="name" content="Approve Expense"/>
    <div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
      <link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
    </div>
  </div>
  <meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>

जब उपयोगकर्ता बटन पर क्लिक करता है, तो Google आपकी सेवा को एक एचटीटीपी अनुरोध भेजेगा. इससे पुष्टि रिकॉर्ड हो जाएगी. आपकी सेवा को Google से यह एचटीटीपी अनुरोध मिलता है:

POST /approve?expenseId=abc123 HTTP/1.1
Host: your-domain.com
Authorization: Bearer AbCdEf123456
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)

confirmed=Approved

इस पेज के बाकी हिस्से में बताया गया है कि कार्रवाई को सही तरीके से मैनेज करने के लिए, https://your-domain.com/approve?expenseId=abc123 पर मौजूद सेवा को क्या करना होगा. इसमें इस तरह का कॉन्टेंट शामिल है:

  • अनुरोध की पुष्टि करना
  • पेलोड को प्रोसेस किया जा रहा है
  • रिस्पॉन्स कोड वापस पाना

पहला चरण: अनुरोध की पुष्टि करना

https://your-domain.com/approve?expenseId=abc123 पर मौजूद सेवा को यह जांच करनी चाहिए:

कार्रवाई के सभी अनुरोधों के लिए User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions) है.

अगर सभी जांचें पास हो जाती हैं, तो सेवा अगले चरण पर जा सकती है.

दूसरा चरण: कार्रवाई को प्रोसेस करना

सेवा को, यूआरएल पैरामीटर में बताई गई कार्रवाई को प्रोसेस करना चाहिए. साथ ही, उपयोगकर्ता से इकट्ठा की गई अतिरिक्त जानकारी को भी प्रोसेस करना चाहिए.

उपयोगकर्ता से मिली अतिरिक्त जानकारी, अनुरोध के मुख्य हिस्से में मौजूद होती है. इसे x-www-form-urlecoded एन्कोडिंग का इस्तेमाल करके एन्कोड किया जाता है. यह जानकारी उन प्रॉपर्टी में सेट की जाती है जिनके नाम, कार्रवाई की प्रॉपर्टी से मेल खाते हैं. उदाहरण के लिए, ConfirmAction में confirmed प्रॉपर्टी होती है.

तीसरा चरण: जवाब का कोड वापस भेजना

जब सेवा, कार्रवाई को प्रोसेस और रिकॉर्ड कर ले, तब उसे जवाब कोड 200 (OK) दिखाना चाहिए. गड़बड़ी की स्थितियों में, इन रिस्पॉन्स कोड का इस्तेमाल किया जा सकता है:

उत्तर कोड ट्रीटमेंट
400 (गलत अनुरोध) Google, कार्रवाई को पूरा नहीं कर पाएगा.
401 (अनुमति नहीं है) Google, कार्रवाई को पूरा नहीं कर पाएगा.
404 (नहीं मिला) Google, कार्रवाई को पूरा नहीं कर पाएगा.
408 (अनुरोध का समय खत्म हो गया) Google कुछ समय बाद फिर से कोशिश करेगा.

अगर पुष्टि नहीं हो पाती है, तो Google उपयोगकर्ता को बताएगा कि पुष्टि नहीं हो सकी. साथ ही, उसे ईमेल में दिए गए निर्देशों का पालन करने के लिए कहेगा.

इस बारे में और पढ़ें