Krok 5. Aktualizacje interfejsu API w czasie rzeczywistym

Zapasy w Twoim systemie zmieniają się w ciągu dnia z powodu nowych rezerwacji, o anulowaniu i planowaniu zmian przez sprzedawców. Aktualizacje w czasie rzeczywistym Interfejs API to mechanizm powiadamiający Google o tych zmianach w asortymencie dostępność. Możesz też użyć aktualizacji interfejsu API w czasie rzeczywistym, aby powiadomić Google o zmian wprowadzonych w dotychczasowych rezerwacjach.

Aktualizacje i pliki danych interfejsu API w czasie rzeczywistym

Aktualizacje interfejsu API w czasie rzeczywistym służą do powiadamiania Google o przyrostowych zmianach w dostępności zasobów reklamowych i rezerwacji w czasie rzeczywistym. Dodatkowo do aktualizacji interfejsu API w czasie rzeczywistym, codziennie wysyłaj pełne pliki danych że Google ma najdokładniejszą i najbardziej aktualną wiedzę o dostępności, istnieje w Twoim systemie. Pełne pliki danych stanowią podsumowanie bieżących dostępności zasobów reklamowych w Twoim systemie.

Mimo że aktualizacje interfejsu API mogą służyć do aktualizowania wszelkich informacji, dostarczane za pomocą plików danych, takich jak informacje o sprzedawcach i usługach, są zwykle używane tylko do aktualizacji informacji o dostępności.

Wymagane interfejsy API do aktualizacji w czasie rzeczywistym

Interfejsy API do aktualizacji w czasie rzeczywistym (RTU)
BookingNotification Obowiązkowe Wysyłaj RTU powiadomienia o rezerwacji w dowolnym momencie zmiany w rezerwacji (np. jej modyfikacji lub anulowania);
Dostępność zastępująca RTU Wymagane warunkowo[1] Wyślij albo zbiorcze zastąpienie lub pojedyncze zastąpienie RTU, aby wysyłać aktualizacje dostępności zasobów reklamowych. Rozpowszechnienie i uwzględnienie zmian może potrwać kilka minut.
RTU sprzedawcy Opcjonalnie Wyślij RTU sprzedawcy, jeśli chcesz wprowadzić zmiany u sprzedawcy w czasie rzeczywistym. Zastosowanie tych zmian może potrwać kilka godzin i przemyślenia.
Usługa RTU Opcjonalnie Wyślij RTU usługi, jeśli chcesz wprowadzić w niej zmiany w czasie rzeczywistym. Częstym zastosowaniem jest sytuacja, w której ceny usług znacznie się wahają w ciągu dnia, wdrażanie RTU usług zalecany w celu uniknięcia nieudanych zamówień z powodu niezgodności ceny. Zmiany mogą może potrwać kilka godzin.

Dostępność zastępowania interfejsu API RTU

Za pomocą interfejsu AvailabilityReplace API możesz przekazywać aktualizacje dostępności w w następujących przypadkach:

  • Użytkownik rezerwuje rezerwację w Twoim systemie, więc przedział dostępności to już dostępny.
  • Sprzedawca zmienia swoją dostępność w Twoim systemie.
  • Użytkownik rezerwuje rezerwację przez Google, więc przedział dostępności to już dostępny.
  • rezerwacja dokonana w Google zostanie anulowana po Twojej stronie, na przykład bezpośrednio przez sprzedawcę. Musisz zaktualizować informacje o rezerwacji oraz dostępność, ponieważ pierwotny przedział jest teraz ponownie dostępny.
  • Zwroty połączenia z serwera rezerwacji BatchAvailabilityLookup które nie pasują do rzeczywistego asortymentu.

Więcej informacji znajdziesz w tych materiałach:

Interfejs Booking Notification API RTU

Interfejsy API powiadomień o rezerwacjach powiadamiają Google o aktualizacji istniejących rezerwacji. Gdy wyślesz wiadomość o anulowaniu, należy wysyłać wraz z prośbą tylko podstawowe informacje Parametr zapytania updateMask. Oto przykład:

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"}

Dostęp do interfejsu API

Tworzenie konta usługi

Użyj karty Dane logowania w Konsoli interfejsów API Google, aby utworzyć konto usługi. Przechowuj klucz prywatny w formacie JSON w bezpiecznym miejscu miejsce. Podczas tworzenia konta możesz ustawić rolę „Właściciel”.

Uwierzytelnianie interfejsów API rezerwacji w Mapach Google

Po utworzeniu konta usługi uwierzytelnij te interfejsy API:

  • Google Maps Booking API
  • Google Maps Booking API (wersja deweloperska)

Szczegółowy przewodnik znajdziesz tutaj: Samouczek uwierzytelniania za pomocą interfejsu Maps Booking API.

Używanie wywołań REST lub pobieranie biblioteki klienta

Zalecamy wykonywanie wywołań REST bezpośrednio do interfejsu Maps Booking API z ładunkami JSON. Więcej informacji: Dokumentacja interfejsu API REST.

Do łączenia się z interfejsem API możesz też używać bibliotek klienta.

Język Link do pobrania
Java Biblioteka klienta Java. Więcej informacji: Instrukcje dla klienta Java.

Dodatkowe informacje biblioteki pomocy dostępne do pobrania, obsługi autoryzacji i innych aspektów wywołań interfejsów API Google. W razie potrzeby obejrzyj te przykłady.

Pobierz dokument Discovery

W przypadku niektórych bibliotek klienckich, takich jak Ruby, pobranie Dokument opisujący interfejs API, który opisuje jego metody .

Aby pobrać dokument Discovery, użyj następującego polecenia:

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

Więcej informacji o uzyskiwaniu dostępu do interfejsu API w Ruby znajdziesz, klikając te linki: Klient Ruby API Ruby Auth Library

Wykonywać autoryzowane wywołania interfejsu API

Przy wywołaniu interfejsu API zapoznaj się z Przygotowuję się do autoryzowanego wywołania interfejsu API w celu autoryzacji usługi przy użyciu klucza prywatnego i tego zakresu protokołu OAuth: https://www.googleapis.com/auth/mapsbooking

Limity interfejsu API

Aktualizacje interfejsu API mają limit 1500 żądań co 60 sekund, czyli 25 żądań na sekundę. W przypadku przekroczenia limitu (co może mieć miejsce, jeśli nie podasz prawidłowego numeru projektu Google Cloud w Portalu dla partnerów), Google w odpowiedzi przesyła ten komunikat o błędzie:

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

Aby to zrobić, ponawiaj wywołanie w znacznie większych odstępach czasu, aż się uda. Jeśli regularnie wyczerpujesz limit ReplaceServiceAvailability, przełącz na BatchReplaceServiceAvailabily, aby zmniejszyć liczbę interfejsów API połączeń. Ta metoda umożliwia aktualizowanie wielu usług za pomocą jednego interfejsu API .

Piaskownica i punkty końcowe produkcyjne

Za pomocą interfejs API. Upewnij się, że w projekcie Google Cloud masz włączone oba interfejsy API. Oba te interfejsy API używają tego samego zakresu, ale mają różne punkty końcowe.

Punkt końcowy produkcyjny: https://mapsbooking.googleapis.com/

Punkt końcowy piaskownicy: https://partnerdev-mapsbooking.googleapis.com/

Oto przykład w Javie pokazujący, jak przełączać punkty końcowe:

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