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:
- Samouczek: jak tworzyć strukturę aktualizacji w czasie rzeczywistym
- Przykład klienta Java do aktualizacji w czasie rzeczywistym za pomocą wywołań REST
- Strona z informacjami o interfejsie API do aktualizacji asortymentu
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()