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

Actions Center'ın sizin adınıza rezervasyon oluşturmak ve güncellemek amacıyla geri aramalar yapmasına izin vermek için 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, Actions Center'ın kullanıcı adına bekleme tahminlerini almasına ve bekleme listesi girişleri oluşturmasına olanak tanır.
  • Standart uygulama. Bu sayede Actions Center, kullanıcı adına sizinle randevu, rezervasyon ve rezervasyon oluşturabilir. Rezervasyonlar Uçtan Uca entegrasyonu için bir rezervasyon sunucusu uygulamak üzere lütfen Rezervasyon sunucusunu uygulama bölümüne bakın.

Korumalı alan ve üretim rezervasyon sunucularınızla 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 sayede Google, HTTP üzerinden rezervasyon sunucusu istekleri gönderebilir.

Başlamak için Actions Center korumalı alan ortamına bağlanabilecek bir geliştirme veya korumalı alan rezervasyon sunucusu oluşturun. Korumalı alan sunucusu tam olarak test edildikten sonra yalnızca üretim ortamına geçin.

Yöntemler

Her rezervasyon sunucusu türü için farklı bir API yöntemi grubu oluşturmanız gerekir. İsteğe bağlı olarak, API uygulamasını kullanmaya başlamak için hizmet tanımını proto biçiminde indirebilirsiniz. Aşağıdaki tablolarda her bir uygulama için yöntemler gösterilmiştir ve hizmet protokolü biçimlerine bağlantılar verilmiştir.

Bekleme listesi uygulaması
Bekleme listesi hizmet tanımı. Proto hizmet tanımı dosyasını indirin.
Yöntem HTTP İsteği
HealthCheck İNDİRİN /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ı rezervasyonu uygulamak için aşağıdaki kaynaklar kullanılır:

  • WaitEstimate: Belirli bir grup boyutu ve satıcı için bekleme 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ıyla aynıdır ve benzersiz tanımlayıcı olarak ele alınır. Google ile Rezervasyon sisteminizde kullanıcının hesabını arayamadığından bu bekleme listesinin giriş yapmadan ödeme olarak kabul edilmesi gerekir. Son bekleme listesi girişinin, satıcılarınızın bekleme listesi sisteminizden gelen girişleriyle aynı olduğundan emin olun.

Güvenlik ve Kimlik Doğrulama

Rezervasyon sunucunuzla 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ı önemlidir. Sunucunuzu ayarlamak için Qualys' SSL Server Test gibi ücretsiz olarak kullanılabilen bir SSL/TLS doğrulama aracını kullanmanızı öneririz.

Google'ın rezervasyon sunucunuza yapacağı tüm isteklerin kimliği, HTTP temel kimlik doğrulaması kullanılarak doğrulanır. Rezervasyon sunucunuzun temel kimlik doğrulama kimlik bilgileri (kullanıcı adı ve şifre), İş Ortağı Portalı'ndaki Rezervasyon Sunucusu Yapılandırma sayfasına girilebilir. Şifreler altı ayda bir döndürülmelidir.

Ö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 sökük REST yöntemleri bulunur.

Koşullar

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

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

  • Altyapı veya yanlış verilerle ilgili hatalar
  • İş mantığıyla ilgili hatalar
    • 200 Tamam 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ığı hatalarının türleri, farklı sunucu uygulaması türleri için farklıdır.

Rezervasyon Bekleme Listeleri entegrasyonu için iş mantığı hataları, Bekleme Listesi İş Mantığı Hatası'nda yakalanır ve HTTP yanıtında döndürülür. Bir kaynak oluşturulduğunda (örneğin, CreateWaitlistEntry yöntemini kullanırken) iş mantığı hatalarıyla karşılaşabilirsiniz. Bunlarla sınırlı olmamakla birlikte aşağıda bazı örnekleri bulabilirsiniz:

  • İstenen bekleme listesi girişi satıcının maksimum grup boyutunun üzerinde olduğunda ABOVE_MAX_PARTY_SIZE kullanılır.
  • MERCHANT_CLOSED, satıcı zaten kapalı olduğu için bekleme listesi açık olmadığında kullanılır.

Boşta kalma

Ağ üzerinden iletişim her zaman güvenilir değildir ve Google, yanıt alınmadığı takdirde HTTP isteklerini yeniden deneyebilir. Bu nedenle, mutasyon durumundaki tüm yöntemler eş potansiyelli olmalıdır:

  • CreateWaitlistEntry
  • DeleteWaitlistEntry

DeleteWaitlistEntry dışındaki her istek mesajında, isteği benzersiz bir şekilde tanımlamak amacıyla cinsel gücü jetonları eklenir. Bu sayede, tek bir istek oluşturma amacı taşıyan yeniden denenen REST çağrısı ile iki ayrı isteği birbirinden ayırt edebilirsiniz. DeleteWaitlistEntry, sırasıyla bekleme listesi giriş kimlikleriyle benzersiz bir şekilde tanımlanır. Bu nedenle, isteklerine kimlik aciliyeti jetonu dahil edilmez.

Aşağıda, rezervasyon sunucularının aciliyeti 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 alınırsa (aynı idempotency_token ile) aynı CreateWaitlistEntryResponse döndürülmelidir. İkinci bir bekleme listesi girişi oluşturulmaz ve herhangi bir hata döndürülmez.

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

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