Gerçek zamanlı API güncellemeleri

Yeni envanterler, iptaller ve satıcılarınızdan gelen plan değişiklikleri nedeniyle sisteminizdeki envanter gün içinde değişiklik gösterir. Gerçek zamanlı güncelleme API'si, envanter kullanılabilirliğiyle ilgili bu değişiklikleri Google'a bildirmeyi sağlayan bir mekanizmadır. Mevcut rezervasyonlarda yapılan değişiklikleri Google'a bildirmek için gerçek zamanlı API güncellemelerini de kullanabilirsiniz.

API gerçek zamanlı güncellemeleri ve feed'leri

API gerçek zamanlı güncellemeleri, envanter kullanılabilirliği ve rezervasyonlarla ilgili gerçek zamanlı olarak artan değişiklikleri Google'a bildirmek için kullanılır. Google'ın, sisteminizde mevcut olan en doğru ve güncel stok durumu bilgilerine sahip olduğundan emin olmak için gerçek zamanlı API güncellemelerine ek olarak eksiksiz kullanılabilirlik feed'lerini her gün gönderin. Tamamlanmış feed'ler, sisteminizde mevcut envanter kullanılabilirliğinin anlık durumunu yansıtır.

API güncellemeleri, feed'ler tarafından sağlanan satıcılar ve hizmetler gibi bilgileri güncellemek için kullanılabilir ancak 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
Rezervasyon Bildirimi Zorunlu Rezervasyonda her değişiklik (ör. değişiklik veya iptal) yaptığınızda BookingNotification RTU gönderin.
Stok Durumu Değişikliği RTU Koşula bağlı olarak zorunlu[1] Envanter kullanılabilirliğiyle ilgili güncellemeleri 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 İsteğe bağlı Satıcı bilgilerinde gerçek zamanlı olarak değişiklik yapmak isterseniz Satıcı RTU'ları gönderin. Değişikliklerin uygulanması ve yansıması birkaç saati bulabilir.
Hizmet RTU İsteğe bağlı Hizmet bilgilerinde gerçek zamanlı değişiklik yapmak isterseniz Hizmet RTU'ları gönderin. Hizmet fiyatlarının gün içinde önemli dalgalanmalar göstermesi yaygın bir kullanım alanıdır. Fiyat uyuşmazlığından dolayı sipariş hatalarından kaçınmak için Hizmet RTU'larının uygulanması önerilir. Değişikliklerin uygulanması ve yansıtılması birkaç saat sürebilir.

Stok Durumu Değiştirme API'si RTU

Aşağıdaki kullanım alanlarında müsaitlik durumu güncellemeleri sağlamak için Stok Durumu Değişikliği API'sini kullanın:

  • Kullanıcı, sisteminizde rezervasyon yaptığından müsaitlik durumu artık kullanılamıyor.
  • Satıcı, sisteminizdeki stok durumunu değiştirir.
  • Kullanıcı, Google üzerinden rezervasyon yaptığından müsaitlik durumu artık kullanılamıyor.
  • Google üzerinden yapılan bir rezervasyon, sizin tarafınızdan (örneğin, doğrudan satıcı tarafından) iptal edilir. Orijinal alan yeniden kullanılabilir olduğundan rezervasyonun yanı sıra müsaitlik durumunu güncellemeniz gerekiyor.
  • Bir rezervasyon sunucusu BatchAvailabilityLookup çağrısı, gerçek envanterle eşleşmeyen envanteri döndürür.

Daha fazla bilgi için aşağıdaki kaynaklara bakın:

Rezervasyon Bildirimi API'si RTU

Rezervasyon Bildirimi API'leri, mevcut rezervasyonlarla ilgili güncellemeler hakkında Google'ı bilgilendirir. İptallerle ilgili bir güncelleme gönderdiğinizde updateMask sorgu parametresini kullanarak istekte yalnızca gerekli bilgileri gönderin. Aşağıda bununla ilgili bir örnek verilmiştir:

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

Hizmet hesabı oluşturmak için Google API Konsolu'ndaki Kimlik bilgileri sekmesini kullanın. Özel anahtarı JSON biçiminde güvenli bir yerde depolayın. Hesabı oluştururken rolü "Sahip" olarak ayarlayabilirsiniz.

Haritalar Rezervasyon 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 Haritalar Rezervasyon API'si (Geliştirici)

Bunun nasıl yapılacağına ilişkin adım adım açıklamalı kılavuz için Haritalar Rezervasyon API'siyle Kimlik Doğrulama eğitimine bakın.

RESTful görüşmelerini kullanma veya istemci kitaplığını indirme

JSON yükleriyle doğrudan Maps Booking API'sine RESTful araması yapmanızı öneririz. Daha fazla bilgi için REST API dokümanlarına 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ına bakın.

Google API'lerine yapılan çağrıların yetkilendirmesini ve diğer yönlerini işleyen ek destek kitaplıkları indirilebilir. Gerekirse bu örneklere göz atın.

Keşif dokümanını getirme

Wild gibi bazı istemci kitaplıklarında, API'nin yöntemlerini ve parametrelerini açıklayan Discovery belgesini getirmek gerekir.

Discovery dokümanını getirmek için aşağıdaki komutu kullanın:

curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'

Rutin'den API'ye erişim hakkında daha fazla bilgi için şu bağlantıları izleyin: Ruby API Client ve Ruby Auth Library.

API'ye yetkili çağrılar yapma

API'ye çağrı yaptığınızda 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üncellemelerinin kotası, her 60 saniyede 1.500 istek veya saniyede ortalama 25 istektir. Bir kota aşıldığında (İş Ortağı Portalı'nıza doğru Google Cloud Proje 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 sorunu çözmek için aramayı, başarılı olana kadar katlanarak daha yüksek aralıklarla deneyin. Kotayı düzenli olarak ReplaceServiceAvailability ile tüketiyorsanız API çağrılarının sayısını azaltmak için BatchReplaceServiceAvailabily ürününe geçiş yapın. 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 korumalı alana hem de üretim ortamı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ç noktalara sahiptir.

Üretim uç noktası: https://mapsbooking.googleapis.com/

Korumalı alan uç noktası: https://partnerdev-mapsbooking.googleapis.com/

Aşağıda, Java'da uç noktaların nasıl değiştirileceğine dair 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()