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

जैसा कि कार्रवाइयों के एलान में बताया गया है, जब कोई उपयोगकर्ता इन-ऐप्लिकेशन कार्रवाई से इंटरैक्ट करता है, तो 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 पर मौजूद सेवा की जांच करने के लिए प्रोत्साहित किया जाता है:

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

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

दूसरा चरण: कार्रवाई करें

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

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

चरण 3: रिस्पॉन्स कोड लौटाना

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

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

हमेशा के लिए गड़बड़ी होने पर, Google उपयोगकर्ता को बताएगा कि कार्रवाई पूरी नहीं हो सकी. साथ ही, उपयोगकर्ता को ईमेल में दिए गए दूसरे निर्देशों का पालन करना होगा.

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