İşlem İsteklerini Yönetme

İşlemleri Bildirme bölümünde açıklandığı gibi, bir kullanıcı uygulama içi işlemle etkileşime girdiğinde 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'dan hizmetinize bir HTTP isteği gönderilerek onay kaydedilir. 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 adresindeki hizmetin işlemi düzgün şekilde gerçekleştirmek için ne yapması gerektiği 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 şunları kontrol etmesi önerilir:

Tüm işlem isteklerinin 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 işlemelidir.

Kullanıcıdan alınan ek bilgiler, isteğin gövdesinde yer alır ve x-www-form-urlecoded kodlaması kullanılarak kodlanır. Bilgiler, adları İşlem'in ö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 200 (OK) yanıt kodunu döndürmelidir. Hata durumlarında aşağıdaki yanıt kodları kullanılabilir:

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

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

Daha fazla bilgi