3. Adım: Bekleme listesi rezervasyon sunucusunu uygulayın

Actions Center'ın sizin adınıza rezervasyon oluşturmak ve güncellemek için geri arama yapmasına izin vermek üzere bir rezervasyon sunucusu oluşturmanız gerekir.

  • Rezervasyon bekleme listeleri uygulaması. Bu, Rezervasyon Bekleme Listeleri pilot programına katıldığınızda kullanılır. Bu sayede İşlemler Merkezi, bekleme süresi tahminlerini alabilir ve kullanıcı adına bekleme listesi girişleri oluşturabilir.
  • Standart uygulama. Bu sayede İşlem Merkezi, kullanıcı adına sizinle randevu, rezervasyon ve ön rezervasyon oluşturabilir. Reservations End-to-End entegrasyonu için rezervasyon sunucusu uygulamak istiyorsanız lütfen Rezervasyon sunucusunu uygulama başlıklı makaleyi inceleyin.

Korumalı alan ve üretim rezervasyon sunucularınıza bağlantıyı nasıl yapılandıracağınızı öğrenmek için İş Ortağı Portalı belgelerine bakın.

REST API arayüzü uygulama

REST'e dayalı bir API arayüzü uygulayın. Bu, Google'ın rezervasyon sunucusu isteklerini HTTP üzerinden göndermesine olanak tanır.

Başlamak için Actions Center korumalı alanı ortamına bağlanabilen bir geliştirme veya korumalı alan rezervasyon sunucusu oluşturun. Yalnızca korumalı alan sunucusu tamamen test edildikten sonra üretim ortamına geçin.

Yöntemler

Her rezervasyon sunucusu türü için farklı bir API yöntemi grubu gerekir. İsteğe bağlı olarak, API uygulamasını başlatmak için hizmet tanımını proto biçiminde indirebilirsiniz. Aşağıdaki tablolarda her uygulamanın yöntemleri gösterilmekte ve hizmet prototipi biçimlerinin bağlantıları yer almaktadır.

Bekleme listesi uygulaması
Bekleme listesi hizmet tanımı. Proto hizmet tanımı dosyasını indirin.
Yöntem HTTP İsteği
HealthCheck GET /v3/HealthCheck/
BatchGetWaitEstimates POST /v3/BatchGetWaitEstimates/
CreateWaitlistEntry POST /v3/CreateWaitlistEntry/
GetWaitlistEntry POST /v3/GetWaitlistEntry/
DeleteWaitlistEntry POST /v3/DeleteWaitlistEntry/

API kaynakları

Bekleme listesi

Bekleme listesine dayalı rezervasyon özelliğini uygulamak için aşağıdaki kaynaklar kullanılır:

  • WaitEstimate: Belirli bir grup boyutu ve satıcı için bekleme süresi tahmini.
  • WaitlistEntry: Kullanıcının bekleme listesindeki girişi.

Akış: Bekleme listesi girişi oluşturma

Bu bölümde, Rezervasyon Bekleme Listeleri entegrasyonu için nasıl rezervasyon oluşturulacağı açıklanmaktadır.

Şekil 2: Bekleme listesi girişi oluşturma iş akışı
Şekil 2: Bekleme listesi girişi oluşturma iş akışı

Kullanıcı bekleme listesi girişi oluşturduğunda Google size kullanıcının adını, soyadını, telefon numarasını ve e-posta adresini gönderir. E-posta, kullanıcının Google Hesabı ile aynıdır ve benzersiz bir tanımlayıcı olarak değerlendirilir. Google ile Rezervasyon, kullanıcının hesabını sisteminizde arayamaz. Bu nedenle, bekleme listesinde yer alan kullanıcıların ödemelerini konuk olarak işleme almanız gerekir. Son bekleme listesi girişinin, satıcılarınızın bekleme listesi sisteminizden gelen girişleriyle aynı göründüğünden emin olun.

Güvenlik ve Kimlik Doğrulama

Rezervasyon sunucunuzla yapılan tüm iletişim HTTPS üzerinden gerçekleşir. Bu nedenle, sunucunuzun DNS adıyla eşleşen geçerli bir TLS sertifikasına sahip olması gerekir. Sunucunuzu ayarlamanıza yardımcı olması için Qualys SSL Server Test gibi ücretsiz bir SSL/TLS doğrulama aracı kullanmanızı öneririz.

Google'ın rezervasyon sunucunuza göndereceği tüm isteklerin kimliği, HTTP temel kimlik doğrulaması kullanılarak doğrulanır. Rezervasyon sunucunuzun temel kimlik doğrulama kimlik bilgilerini (kullanıcı adı ve şifre) İş Ortağı Portalı'ndaki Rezervasyon Sunucusu Yapılandırması sayfasına girebilirsiniz. Şifreler altı ayda bir değiştirilmelidir.

Örnek İskelet Uygulamaları

Başlamak için Node.js ve Java çerçeveleri için yazılmış bir rezervasyon sunucusunun aşağıdaki örnek iskeletlerine göz atın:

Bu sunucularda REST yöntemleri stub'lenmiştir.

Şartlar

HTTP hataları ve iş mantığı hataları

Arka uçunuz HTTP isteklerini işlediğinde iki tür hata oluşabilir.

  • Altyapıyla veya yanlış verilerle ilgili hatalar
  • İşletme mantığıyla ilgili hatalar
    • 200 OK olarak ayarlanmış HTTP durum kodunu döndürün ve yanıt gövdesinde iş mantığı hatasını belirtin. Karşılaşabileceğiniz iş mantığı hatası türleri, farklı sunucu uygulama türleri için farklıdır.

Rezervasyon bekleme listesi entegrasyonu için iş mantığı hataları Bekleme listesi iş mantığı hatası olarak yakalanır ve HTTP yanıtında döndürülür. Bir kaynak oluşturulurken (ör. CreateWaitlistEntry yöntemini işlediğinizde) iş mantığı hatalarıyla karşılaşabilirsiniz. Bunlarla sınırlı olmamakla birlikte aşağıda bazı örnekleri bulabilirsiniz:

  • ABOVE_MAX_PARTY_SIZE, istenen bekleme listesi girişi satıcının maksimum parti büyüklüğünü aştığında kullanılır.
  • MERCHANT_CLOSED, satıcı zaten kapalı olduğu için bekleme listesi açık olmadığında kullanılır.

Tekilleştirme

Ağ üzerinden iletişim her zaman güvenilir değildir ve Google, yanıt alınmazsa HTTP isteklerini yeniden deneyebilir. Bu nedenle, durumu değiştiren tüm yöntemler idempotent olmalıdır:

  • CreateWaitlistEntry
  • DeleteWaitlistEntry

DeleteWaitlistEntry hariç her istek mesajında, isteği benzersiz şekilde tanımlamak için tekilleştirme jetonları eklenir. Bu sayede, tek bir istek oluşturma amacıyla yeniden denenen bir REST çağrısını iki ayrı istek arasında ayırt edebilirsiniz. DeleteWaitlistEntry, sıra bekleme listesi girişi kimliklerine göre benzersiz şekilde tanımlandığından isteklerine tekilleştirme jetonu eklenmez.

Aşağıda, rezervasyon sunucularının tekilliği nasıl ele aldığına dair bazı örnekler verilmiştir:

  • Başarılı bir CreateWaitlistEntry HTTP yanıtı, oluşturulan bekleme listesi giriş kimliğini içerir. Aynı CreateWaitlistEntryRequest ikinci kez (aynı idempotency_token ile) alınırsa aynı CreateWaitlistEntryResponse döndürülmelidir. İkinci bir bekleme listesi girişi oluşturulmaz ve hata döndürülmez.

    Bir CreateWaitlistEntry denemesi başarısız olursa ve aynı istek yeniden gönderilirse arka uç sunucunuzun bu durumda yeniden denemesi gerektiğini unutmayın.

Tekdüzenlik koşulu, durumu değiştiren tüm yöntemler için geçerlidir.