İşlem İsteklerini Yönetme

İşlemleri tanımlama bölümünde açıklandığı gibi, kullanıcı bir uygulama içi işlemle etkileşime geçtiğinde Google, işlemde tanımlanan bir URL'ye HTTP isteği gönderir.

Aşağıdaki örnekte, bir harcama raporuyla ilgili 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 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önderilir ve 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 alanındaki hizmetin işlemi doğru şekilde gerçekleştirmek için ne yapması gerektiği açıklanmaktadır. Bunlardan bazıları:

  • İ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'teki servisin şu noktaları 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)'tür.

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

2. Adım: İşlemi işleme

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 özelliği confirmed değerine sahiptir.

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

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 bu işlemi gerçekleştiremez.
401 (Yetkisiz) Google, işlemi geçersiz kılar.
404 (Bulunamadı) Google, işlemi geçersiz kılar.
408 (İstek Zaman Aşımı) Google daha sonra tekrar dener.

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