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.
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:
- Node.js iskeleti js-maps-booking-rest-server-v3-skeleton
- Java iskeleti java-maps-booking-rest-server-v3-skeleton
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
- Bu hataları istemciye standart HTTP hata kodlarıyla döndürün. HTTP durum kodlarının tam listesini inceleyin.
- İş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.