İşlem isteklerini işleme

İşlemleri bildirme bölümünde açıklandığı gibi, bir kullanıcı uygulama içi işlemle etkileşimde bulunduğunda Google, işlemde belirtilen bir URL'ye HTTP isteği gönderir.

Aşağıdaki örnekte, gider raporuyla ilgili bir e-postaya ConfirmAction düğmesi ekleniyor:

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>

Mikro veri

<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>

Kullanıcı düğmeyi tıkladığında Google, onay kaydını alarak hizmetinize bir HTTP isteği gönderir. Hizmetiniz, Google'dan aşağıdaki HTTP isteğini alır:

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

Bu sayfanın geri kalanında, https://your-domain.com/approve?expenseId=abc123 hizmetinin işlemi düzgün şekilde gerçekleştirmek için yapması gerekenler açıklanmaktadır. Bunlardan bazıları:

  • İsteği doğrulama
  • Yükü işleme
  • Yanıt kodu döndürme

1. adım: İsteği doğrulayın

https://your-domain.com/approve?expenseId=abc123 adresindeki hizmetin aşağıdakileri doğrulamasını öneririz:

Tüm işlem istekleri için kullanıcı aracısı Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)'dır.

Tüm kontroller başarılı olursa hizmet sonraki adıma geçebilir.

2. adım: İşlemi gerçekleştirin

Hizmet, URL parametrelerinde belirtilen işlemi ve kullanıcıdan toplanan ek bilgileri de işlemelidir.

Kullanıcıdan alınan ek bilgiler, istek gövdesinde yer alır ve x-www-form-urlencoded biçiminde kodlanır. Bilgiler, adları işlemin özellikleriyle eşleşen özelliklerde ayarlanır. Örneğin, ConfirmAction, confirmed özelliğine sahiptir.

3. adım: Yanıt kodu döndürün

Hizmet, işlemi başarıyla işleyip kaydettikten sonra yanıt kodu 200 (OK) döndürür. Hata durumlarında aşağıdaki yanıt kodlarını kullanabilirsiniz:

Yanıt Kodu Tedavi
400 (Hatalı İstek) Google, işlemi başarısız olarak işaretler.
401 (Yetkisiz) Google, işlemi başarısız olarak işaretler.
404 (Bulunamadı) Google, işlemi başarısız olarak işaretler.
408 (İstek Zaman Aşımına Uğradı) Google daha sonra yeniden dener.

Kalıcı hatalarda Google, kullanıcıya işlemin başarısız olduğunu ve e-postadaki alternatif talimatları uygulaması gerektiğini bildirir.

Daha fazla bilgi