5. Adım: Gerçek zamanlı API güncellemeleri

Sisteminizdeki envanter, yeni rezervasyonlar, ve program değişiklikleri hakkında bilgi edinin. Gerçek zamanlı güncelleme API, envanterdeki bu değişiklikleri Google'a bildirmek için kullanılan bir mekanizmadır stok durumu. Ayrıca, gerçek zamanlı API güncellemelerini Google'a Mevcut rezervasyonlarda yapılan değişiklikler.

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

Gerçek zamanlı API güncellemeleri, envanter stok durumunu ve rezervasyonları gerçek zamanlı olarak gösterir. Ayrıca anlık API güncellemeleri almak istiyorsanız, her gün eksiksiz Kullanılabilirlik feed'leri gönderin. kullanılabilirlik konusunda en doğru ve güncel bilgiye sahip olduğundan sizin sisteminizde bulunması. Tamamlanmış feed'ler, geçerli feed'in anlık görüntüsü durumu hakkında daha fazla bilgi edinin.

API güncellemeleri, satıcılar ve hizmetler hakkında bilgiler gibi feed'ler tarafından sağlanan feed'ler genellikle yalnızca müsaitlik 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 İstediğiniz zaman Rezervasyon Bildirimi RTU'ları gönderin Rezervasyonda yapılan bir değişiklik (ör. değişiklik veya iptal).
RTU'nun yerine kullanılabilirlik Koşula bağlı olarak gerekli[1] İkisinden birini gönderin toplu değiştirme veya envanter kullanılabilirliğine güncelleme göndermek için tek değiştirme RTU'larını kullanın. Değişikliklerin uygulanması ve yansıması birkaç dakika sürebilir.
Satıcı RTU'su İsteğe bağlı Satıcıda değişiklik yapmak istiyorsanız satıcıya RTU gönderin gerçek zamanlı olarak sunar. Değişikliklerin uygulanması birkaç saat sürebilir düşünmeye başlayın.
Hizmet RTU'su İsteğe bağlı Hizmette değişiklik yapmak istiyorsanız Hizmet RTU'ları gönderin gerçek zamanlı olarak sunar. Yaygın kullanım alanlarından biri, gün içinde önemli ölçüde dalgalanma gösterdiği için Hizmet RTU'larını . Değişiklikler uygulanması birkaç saat sürer.

API RTU'nun yerine kullanılabilirlik

Stok durumu güncellemelerini sağlamak için şu kullanım alanları vardır:

  • Bir kullanıcı sisteminizde rezervasyon yaptırdığından müsaitlik durumu artık kullanılabilir.
  • Bir satıcı, sisteminizde stok durumunu değiştirir.
  • Bir kullanıcı Google üzerinden rezervasyon yaptığından müsaitlik durumu aralığı artık kullanılabilir.
  • Google üzerinden yapılan bir rezervasyon sizin tarafınızdan iptal edilir. Örneğin, doğrudan satıcı tarafından gönderilir. Rezervasyonu ve çünkü orijinal alan artık tekrar kullanılabilir.
  • Rezervasyon sunucusuna BatchAvailabilityLookup çağrısı geliyor gerçek envanterle eşleşmeyen envanterdir.

Daha fazla bilgi için aşağıdaki kaynakları inceleyin:

Rezervasyon Bildirimi API RTU'su

Rezervasyon Bildirimi API'leri, bu durumu Google'a güncellemeleri alabilir. İptallerle ilgili bir güncelleme gönderdiğinizde yalnızca istekteki önemli bilgileri updateMask sorgu parametresi. Ö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 şu işlemleri yapın: hizmet hesabı oluşturun. JSON biçiminde özel anahtarı güvenli bir yer. Hesabı oluşturduğunuzda rolü "Sahip."

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 (Dev)

Bunun nasıl yapılacağıyla ilgili adım adım açıklamalı kılavuz için Haritalar Rezervasyon API'siyle kimlik doğrulama eğiticisi.

RESTful aramaları kullanın veya istemci kitaplığını indirin

Doğrudan Maps Booking API'ye RESTful çağrıları yapmanızı öneririz bunları kullanabilirsiniz. Daha fazla bilgi için REST API belgeleri.

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 göz atın.

Ek bilgiler indirebileceğiniz destek kitaplıklarının Google API'lerine yapılan çağrıların yetkilendirmeyi ve diğer yönlerini ele alma. Gerekirse göz atın bu örnekleri inceleyin.

Keşif dokümanını getir

Ruby gibi bazı istemci kitaplıklarında API için, API’nin yöntemlerini ve parametreleridir.

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 için şu bağlantıları izleyin: Ruby API İstemcisi ve Ruby Auth Kitaplığı.

API'ye yetkili çağrılar yapma

API'ye çağrı yaparken şuraya bakın: Hizmetinizi yetkilendirmek için yetkili bir API çağrısı yapmaya hazırlanma hesabınızı özel anahtarınızla ve aşağıdaki OAuth kapsamıyla değiştirin: https://www.googleapis.com/auth/mapsbooking.

API kotaları

API güncellemelerinin kotası her 60 saniyede 1.500 istek veya 25 istek olabilir. ortalama 1 saniye sürüyor. Bir kota aşıldığında (İş Ortağı Portalı'nıza doğru Google Cloud proje numarasını eklemediğinizde meydana gelebilir) Google, şu hata mesajı gösteriliyor:

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

Bu işlemi gerçekleştirmek için çağrıyı son derece geniş aralıklarla, şu zamana kadar yeniden deneyin: ve başarılı olur. Kotayı düzenli olarak tüketiyorsanız ReplaceServiceAvailability, şuna geç: API sayısını azaltmak için BatchReplaceServiceAvailabily çağrısının en iyi yolu. Bu yöntem, birden fazla hizmeti tek bir API'de güncellemenize olanak tanır. çağrısına bir tıklama URL'si eklemeniz gerekir.

Korumalı Alan ve Üretim Uç Noktaları

Hem korumalı alana hem de üretim ortamlarına API. 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, 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()