رسیدگی به درخواست‌های اقدام

همانطور که در «اعلام کنش‌ها» توضیح داده شد، وقتی کاربر با یک اقدام درون‌برنامه تعامل می‌کند، Google یک درخواست HTTP را به نشانی اینترنتی اعلام‌شده در کنش ارسال می‌کند.

مثال زیر یک دکمه 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>

هنگامی که کاربر روی دکمه کلیک می کند، یک درخواست HTTP از Google برای سرویس شما صادر می شود و تأییدیه را ثبت می کند. سرویس شما درخواست HTTP زیر را از 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 چه کاری باید انجام دهد تا عملکرد را به درستی انجام دهد. این شامل:

  • تایید درخواست
  • پردازش محموله
  • بازگرداندن کد پاسخ

مرحله 1: درخواست را تأیید کنید

این سرویس در https://your-domain.com/approve?expenseId=abc123 توصیه می شود بررسی کند:

عامل کاربر برای همه درخواست‌های Action Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions) است.

اگر همه بررسی‌ها تایید شوند، سرویس می‌تواند به مرحله بعدی ادامه دهد.

مرحله 2: عمل را پردازش کنید

این سرویس باید عملکرد را همانطور که در پارامترهای URL و همچنین اطلاعات اضافی جمع آوری شده از کاربر مشخص شده است پردازش کند.

اطلاعات اضافی از کاربر در بدنه درخواست وجود دارد و با استفاده از رمزگذاری x-www-form-urleccod کدگذاری می شود. اطلاعات در ویژگی هایی تنظیم می شوند که نام آنها با ویژگی های Action مطابقت دارد. به عنوان مثال، ConfirmAction دارای ویژگی confirmed است.

مرحله 3: یک کد پاسخ را برگردانید

هنگامی که سرویس با موفقیت پردازش و ضبط کرد، باید کد پاسخ 200 (OK) برگرداند. کدهای پاسخ زیر را می توان در موقعیت های خطا استفاده کرد:

کد پاسخ رفتار
400 (درخواست بد) گوگل این اقدام را شکست خواهد داد.
401 (غیر مجاز) گوگل این اقدام را شکست خواهد داد.
404 پیدا نشد) گوگل این اقدام را شکست خواهد داد.
408 (مهلت زمانی درخواست) Google بعداً دوباره امتحان خواهد کرد.

در صورت خرابی دائمی، گوگل به کاربر می‌گوید که عملکرد ناموفق بوده است و کاربر باید دستورالعمل‌های جایگزین داخل ایمیل را دنبال کند.

بیشتر خواندن