Gerçek zamanlı API güncellemeleri

Sisteminizdeki envanter, satıcılarınızdan gelen yeni rezervasyonlar, iptaller ve plan değişiklikleri nedeniyle gün içinde dalgalanma gösterir. Gerçek zamanlı güncelleme API'si, envanter kullanılabilirliğindeki bu değişiklikler hakkında Google'ı bilgilendirmek için kullanılan bir mekanizmadır. Ayrıca, mevcut rezervasyonlarda yapılan değişiklikleri Google'a bildirmek için gerçek zamanlı API güncellemelerini kullanabilirsiniz.

Tüm satıcılarınız bekleme listesi özelliğini kullanıyorsa gerçek zamanlı güncellemeler gerekli değildir.

Gerçek zamanlı API güncellemeleri ve özet akışları

API gerçek zamanlı güncellemeleri, envanter kullanılabilirliği ve rezervasyonlarda gerçekleşen artımlı değişiklikleri Google'a gerçek zamanlı olarak bildirmek için kullanılır. Gerçek zamanlı API güncellemelerinin yanı sıra Google'ın sisteminizde mevcut olan kullanılabilirlik hakkında en doğru ve güncel bilgilere sahip olması için eksiksiz Kullanılabilirlik feed'lerini her gün gönderin. Tam feed'ler, sisteminizdeki envanter kullanılabilirliğinin mevcut durumunun anlık görüntüsü olarak görev yapar.

API güncellemeleri, satıcılar ve hizmetler hakkındaki bilgiler gibi feed'ler tarafından sağlanan tüm bilgileri 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 bir değişiklik olduğunda (ör. değişiklikler veya iptaller) Reservation Notification RTU'lar gönderin.
Kullanılabilirlik RTU'yu değiştir Koşula bağlı olarak gerekli[1] Envanter kullanılabilirliğiyle ilgili güncellemeler 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 gerçek zamanlı olarak değişiklik yapmak istiyorsanız Satıcı RTU'larını gönderin. Değişikliklerin uygulanması ve yansıtılması birkaç saat sürebilir.
Hizmet RTU'su İsteğe bağlı Hizmet bilgilerinde gerçek zamanlı olarak değişiklik yapmak istiyorsanız Hizmet RTU'ları gönderin. Yaygın bir kullanım alanı, hizmet fiyatlarında gün içinde önemli dalgalanmalar yaşanmasıdır. Fiyat uyuşmazlığından kaynaklanan sipariş hatalarını önlemek için Hizmet RTU'larının uygulanması önerilir. Değişikliklerin uygulanması ve yansıtılması birkaç saat sürebilir.

Kullanılabilirlik Değiştirme API RTU

Aşağıdaki kullanım durumlarında müsaitlik durumu güncellemeleri sağlamak için AvailabilityReplace API'yi kullanın:

  • Bir kullanıcı, sisteminizde rezervasyon yaptırdığı için müsaitlik durumu artık kullanılamaz.
  • Bir satıcı, sisteminizdeki stok durumunu değiştirir.
  • Bir kullanıcı, Google üzerinden rezervasyon yaptırdığı için müsaitlik durumu artık kullanılamaz.
  • Google üzerinden yapılan bir rezervasyon sizin tarafınızdan (örneğin, doğrudan satıcı tarafından) iptal edilir. Orijinal alan artık tekrar kullanılabilir olduğundan rezervasyonu ve müsaitlik durumunu güncellemeniz gerekir.
  • 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

Reservation Notification API'ler mevcut rezervasyonlarda yapılan güncellemeler hakkında Google'ı bilgilendirir. İptal işlemiyle ilgili bir güncelleme gönderirken updateMask sorgu parametresi ile istekteki yalnızca temel bilgileri gönderin. Ö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

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

Haritalar Rezervasyon API'lerinin kimliğini doğrulama

Bir hizmet hesabı oluşturduktan sonra aşağıdaki API'lerin kimliğini doğrulayın:

  • Google Maps Booking API
  • Google Haritalar Rezervasyon API'si (Dev)

Bunu nasıl yapacağınızla ilgili adım adım açıklamalı kılavuz için Haritalar Rezervasyon API'si ile Kimlik Doğrulama eğiticisini inceleyin.

RESTful arama kullanma veya istemci kitaplığını indirme

JSON yükleriyle doğrudan Maps Reservation API'ye RESTful çağrılar yapmanızı öneririz. Daha fazla bilgi için REST API belgelerini inceleyin.

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 istemcisi talimatlarına bakın.

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

Keşif dokümanını getir

Ruby gibi bazı istemci kitaplıkları için API'nin yöntemlerini ve parametrelerini açıklayan Keşif belgesinin getirilmesi gerekir.

Keşif 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'

Ruby'den API'ye erişme hakkında daha fazla bilgi edinmek için şu bağlantıları takip edin: Ruby API İstemcisi 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ız ve şu OAuth kapsamıyla yetkilendirmek için Yetkili bir API çağrısı yapmak için hazırlanma bölümüne bakın: https://www.googleapis.com/auth/mapsbooking.

API kotaları

API güncellemelerinin kotası her 60 saniyede 1.500 veya saniyede ortalama 25 istektir. Bir kota aşıldığında (İş Ortağı Portalınıza doğru Google Cloud Proje numarasını eklemediğinizde meydana gelebilir) Google, aşağıdaki hata mesajıyla yanıt verir:

{
  "error": {
    "code": 429,
    "message": "Insufficient tokens for quota ...",
    "status": "RESOURCE_EXHAUSTED",
    "details": [...]
  }
}

Bunu başarmak için, işlem başarılı olana kadar katlanarak daha büyük aralıklarda çağrıyı tekrar deneyin. Kotayı düzenli olarak ReplaceServiceAvailability ile tüketiyorsanız API çağrılarının sayısını azaltmak için BatchReplaceServiceAvailabily sürümüne 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 korumalı alana 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 uç noktaları farklıdı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ğini gösteren bir Java örneği 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()