Sisteminizdeki envanter, gün boyunca yeni rezervasyonlar, iptaller ve satıcılarınızın yaptığı program değişiklikleri nedeniyle dalgalanır. Gerçek zamanlı güncelleme API'si, Google'ı envanter kullanılabilirliğindeki bu değişiklikler hakkında bilgilendirmek için kullanılan bir mekanizmadır. Mevcut rezervasyonlarda yapılan değişiklikleri Google'a bildirmek için anlık API güncellemelerini de kullanabilirsiniz.
API anlık güncellemeleri ve feed'leri
API anlık güncellemeleri, envanter stok durumunda ve rezervasyonlarda anlık olarak gerçekleşen artımlı değişiklikleri Google'a bildirmek için kullanılır. Google'ın sisteminizdeki stok durumu hakkında en doğru ve güncel bilgilere sahip olmasını sağlamak için gerçek zamanlı API güncellemelerine ek olarak her gün eksiksiz stok durumu feed'leri gönderin. Tam feed'ler, sisteminizdeki envanter stok durumunun mevcut halinin anlık görüntüsü olarak işlev görür.
API güncellemeleri, feed'ler tarafından sağlanan tüm bilgileri (ör. satıcılar ve hizmetlerle ilgili bilgiler) güncellemek için kullanılabilse de genellikle yalnızca stok durumu bilgilerini güncellemek için kullanılır.
Gerekli gerçek zamanlı güncelleme API'leri
| Gerçek zamanlı güncelleme (RTU) API'leri | ||
|---|---|---|
| BookingNotification | Zorunlu | Rezervasyonda değişiklik (ör. değişiklikler veya iptaller) olduğunda BookingNotification RTU'ları gönderin. |
| Kullanıma Hazır Birim Değiştirme | Koşullu olarak zorunlu[1] | Envanter stok durumuna güncelleme göndermek için toplu değiştirme veya tek değiştirme RTU'ları gönderin. Değişikliklerin uygulanması ve yansıtılması birkaç dakika sürebilir. |
| Satıcı RTU'su | İsteğe bağlı | Satıcı bilgilerinde anında değişiklik yapmak istiyorsanız satıcı RTU'ları gönderin. Değişikliklerin uygulanması ve yansıtılması birkaç saati bulabilir. |
| Service RTU | İsteğe bağlı | Hizmet bilgilerinde gerçek zamanlı değişiklik yapmak istiyorsanız hizmet RTU'ları gönderin. Yaygın bir kullanım alanı, hizmet fiyatlarının gün içinde önemli ölçüde dalgalanmasıdır. Fiyat uyuşmazlığı nedeniyle sipariş hatalarını önlemek için hizmet RTU'larının uygulanması önerilir. Değişikliklerin uygulanması ve yansıtılması birkaç saati bulabilir. |
Availability Replace API RTU
Aşağıdaki kullanım alanlarında stok durumu güncellemeleri sağlamak için Availability Replace API'yi kullanın:
- Bir kullanıcı sisteminizde rezervasyon yaptırdığı için müsaitlik aralığı artık kullanılamaz.
- Bir satıcı, sisteminizdeki müsaitlik durumunu değiştirir.
- Bir kullanıcı Google üzerinden rezervasyon yaptığında müsaitlik aralığı artık kullanılamaz.
- Google üzerinden yapılan bir rezervasyon, örneğin doğrudan satıcı tarafından iptal edilir. Orijinal aralık artık tekrar kullanılabilir olduğundan hem rezervasyonu hem de müsaitliği güncellemeniz gerekir.
- Bir rezervasyon sunucusu
BatchAvailabilityLookupçağrısı, gerçek envanterle eşleşmeyen envanter döndürüyor.
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Eğitim: Anlık güncellemeleri yapılandırma
- RESTful çağrıları kullanarak gerçek zamanlı güncellemeler için Java istemci örneği
- Envanter güncelleme API'si referans sayfası
Booking Notification API RTU
Rezervasyon Bildirimi API'leri, Google'ı mevcut rezervasyonlardaki güncellemeler hakkında bilgilendirir. İptallerle ilgili bir güncelleme gönderdiğinizde, updateMask sorgu parametresi ile birlikte yalnızca gerekli bilgileri isteğe ekleyin. Örnek:
Request: PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status Body: {"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}
API'ye erişme
Hizmet hesabı oluşturma
Google API Konsolu'ndaki Kimlik Bilgileri sekmesini kullanarak hizmet hesabı oluşturun. Özel anahtarı JSON biçiminde güvenli bir yerde saklayın. Hesabı oluştururken rolü "Sahip" olarak ayarlayabilirsiniz.
Maps Booking API'lerinin kimliğini doğrulama
Hizmet hesabı oluşturduktan sonra aşağıdaki API'lerin kimliğini doğrulayın:
- Google Maps Booking API
- Google Maps Booking API (Dev)
Bu işlemi nasıl yapacağınızla ilgili adım adım açıklamalı kılavuz için Maps Booking API ile kimlik doğrulama eğitimine bakın.
RESTful çağrıları kullanma veya istemci kitaplığını indirme
JSON yükleriyle doğrudan Maps Booking API'ye RESTful çağrılar yapmanızı öneririz. Daha fazla bilgi için REST API belgelerine bakın.
API'ye bağlanmak için istemci kitaplıklarını da kullanabilirsiniz.
| Dil | İndirme bağlantısı |
|---|---|
| Java | Java istemci kitaplığı. Daha fazla bilgi için Java istemci talimatları başlıklı makaleyi inceleyin. |
Google API'lerine yapılan çağrıların yetkilendirme ve diğer yönlerini ele alan ek destek kitaplıkları indirilebilir. Gerekirse bu örneklere göz atın.
Keşif belgesini getirme
Ruby gibi bazı istemci kitaplıklarında, API'nin yöntemlerini ve parametrelerini açıklayan Discovery belgesinin getirilmesi gerekir.
Discovery belgesini getirmek için aşağıdaki komutu kullanın:
curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'
API'ye Ruby'den erişme hakkında daha fazla bilgi için şu bağlantıları inceleyin: Ruby API İstemcisi ve Ruby Kimlik Doğrulama Kitaplığı.
API'ye yetkili çağrılar yapma
API'ye çağrı yaparken hizmet hesabınızı özel anahtarınızla ve aşağıdaki OAuth kapsamıyla yetkilendirmek için Yetkili bir API çağrısı yapmaya hazırlanma başlıklı makaleyi inceleyin:
https://www.googleapis.com/auth/mapsbooking.
API kotaları
API güncellemeleri için her 60 saniyede 1.500 istek veya ortalama olarak saniyede 25 istek kotası vardır. Kota aşıldığında (bu durum, İş Ortağı Portalı'na doğru Google Cloud projesi numarasını eklemediğinizde ortaya çıkabilir) Google aşağıdaki hata mesajıyla yanıt verir:
{
"error": {
"code": 429,
"message": "Insufficient tokens for quota ...",
"status": "RESOURCE_EXHAUSTED",
"details": [...]
}
}Bu durumu düzeltmek için başarılı olana kadar aramayı katlanarak artan aralıklarla tekrar deneyin. Kotayı düzenli olarak ReplaceServiceAvailability ile tüketiyorsanız API çağrılarının sayısını azaltmak için BatchReplaceServiceAvailabily'ye geçin. Bu yöntem, tek bir API çağrısında birden fazla hizmeti güncellemenize olanak tanır.
Korumalı alan ve üretim uç noktaları
API aracılığıyla hem test hem de üretim ortamlarına çağrı yapabilirsiniz. Google Cloud projenizde her iki API'yi de etkinleştirdiğinizden emin olun. Bu API'lerin ikisi de aynı kapsamı kullanır ancak farklı uç noktaları vardır.
Üretim uç noktası: https://mapsbooking.googleapis.com/
Korumalı alan uç noktası: https://partnerdev-mapsbooking.googleapis.com/
Aşağıda, uç noktaların nasıl değiştirileceğine dair Java dilinde bir örnek verilmiştir:
// This block of code is for OAuth and is the same for prod and sandbox. GoogleCredential .fromStream(new FileInputStream(...)) .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking")) // This block of code sets the endpoint. This is what you'd change to connect to the sandbox. new GoogleMapsBookingAPI.Builder(...) .setApplicationName(...) .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev. .build()