İşlem İsteklerini Yönetme

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

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

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 veriler

<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 onayın kaydedileceği bir HTTP isteği gönderilir. 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 alanındaki hizmetin işlemi düzgün bir şekilde gerçekleştirebilmek için ne yapması gerektiği açıklanmaktadır. Bu kural kapsamına aşağıdakiler dahildir:

  • İstek doğrulanıyor
  • 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 istekleri için kullanıcı aracısı: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions).

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

2. Adım: İşlemi İşleyin

Hizmet, işlemi URL parametrelerinde belirtildiği gibi ve kullanıcıdan toplanan ek bilgileri işlemelidir.

Kullanıcıdan gelen ek bilgiler isteğin gövdesinde bulunur ve x-www-form-urlecoded kodlaması kullanılarak kodlanır. Bilgiler, adları İşlem'in özelliklerine karşılık gelen mülklerde ayarlanır. Örneğin, ConfirmAction confirmed özelliğine sahiptir.

3. Adım: Yanıt Kodu döndürme

Hizmet, eylemi başarıyla işleyip kaydettikten sonra bir yanıt kodu (200 (OK)) döndürecektir. Aşağıdaki yanıt kodları hata durumlarında kullanılabilir:

Yanıt Kodu Tedavi
400 (Hatalı İstek) Google bu işlemi gerçekleştiremez.
401 (Yetkisiz) Google bu işlemi gerçekleştiremez.
404 (Bulunamadı) Google bu işlemi gerçekleştiremez.
408 (İstek Zaman Aşımı) Google daha sonra tekrar deneyecek.

Kalıcı hata oluşursa Google kullanıcıya işlemin başarısız olduğunu ve kullanıcının e-postadaki alternatif talimatları uygulaması gerektiğini söyler.

Ek Okumalar