API-Aktualisierungen in Echtzeit

Das Inventar in Ihrem System schwankt im Laufe des Tages aufgrund von neuen Buchungen, Stornierungen und Terminänderungen von Händlern. Über die Echtzeit-Update API können Sie Google über diese Änderungen bei der Inventarverfügbarkeit informieren. Du kannst Google auch mit API-Updates in Echtzeit über Änderungen an bestehenden Buchungen informieren.

API-Aktualisierungen in Echtzeit und Feeds

API-Echtzeitaktualisierungen werden verwendet, um Google in Echtzeit über inkrementelle Änderungen der Inventarverfügbarkeit und der Buchungen zu informieren. Zusätzlich zum Echtzeit-API-Update solltest du täglich vollständige Verfügbarkeitsfeeds senden, um sicherzustellen, dass Google über die genauesten und aktuellsten Informationen zur Verfügbarkeit in deinem System verfügt. Vollständige Feeds stellen eine Momentaufnahme der aktuellen Inventarverfügbarkeit in Ihrem System dar.

Obwohl API-Updates verwendet werden können, um alle von Feeds bereitgestellten Informationen zu aktualisieren, z. B. Informationen zu Händlern und Dienstleistungen, werden sie normalerweise nur zum Aktualisieren von Verfügbarkeitsinformationen verwendet.

Erforderliche APIs für Echtzeitaktualisierungen

APIs für Echtzeitaktualisierungen
BookingNotification Erforderlich Echtzeitaktualisierungen für BookingNotification senden, wenn Änderungen an der Buchung vorgenommen werden (z.B. Änderungen oder Stornierungen).
Echtzeitaktualisierung für "AvailabilityReplace" Bedingt erforderlich[1] Senden Sie entweder Batch-Ersetzungen oder einzelne Ersetzungen, um Updates zur Inventarverfügbarkeit zu senden. Es kann einige Minuten dauern, bis die Änderungen wirksam werden.
Echtzeitaktualisierung für Händler Optional Echtzeitaktualisierungen für Händler senden, wenn Sie Änderungen an Händlerinformationen in Echtzeit vornehmen möchten. Es kann mehrere Stunden dauern, bis die Änderungen wirksam werden.
Echtzeitaktualisierung für Dienstleistungen Optional Echtzeitaktualisierungen für Dienste senden, wenn Sie Änderungen an Dienstinformationen in Echtzeit vornehmen möchten Ein häufiger Anwendungsfall ist, wenn die Servicepreise im Laufe des Tages stark schwanken. Daher sollten Sie die Echtzeitaktualisierung von Diensten implementieren, um Bestellfehler aufgrund von nicht übereinstimmenden Preisen zu vermeiden. Es kann mehrere Stunden dauern, bis die Änderungen wirksam werden.

Echtzeitaktualisierungen über die Availability Replace API

Verwenden Sie die AvailabilityReplace API, um in den folgenden Anwendungsfällen Verfügbarkeitsaktualisierungen bereitzustellen:

  • Ein Nutzer bucht eine Reservierung in Ihrem System, sodass der verfügbare Slot nicht mehr verfügbar ist.
  • Ein Händler ändert seine Verfügbarkeit in deinem System.
  • Ein Nutzer bucht über Google eine Reservierung, sodass der verfügbare Slot nicht mehr verfügbar ist.
  • Eine über Google vorgenommene Reservierung wird von Ihrer Seite storniert, z. B. direkt vom Händler. Sie müssen sowohl die Buchung als auch die Verfügbarkeit aktualisieren, da der ursprüngliche Slot wieder verfügbar ist.
  • Ein BatchAvailabilityLookup-Aufruf des Buchungsservers gibt Inventar zurück, das nicht mit dem tatsächlichen Inventar übereinstimmt.

Weitere Informationen findest du unter folgenden Links:

Echtzeitaktualisierung für die Booking Notification API

Die Booking Notification APIs informieren Google über Aktualisierungen bestehender Buchungen. Wenn Sie eine Aktualisierung zu Kündigungen senden, senden Sie nur die wichtigsten Informationen in der Anfrage mit dem Abfrageparameter updateMask. Hier ein Beispiel:

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

Auf die API zugreifen

Dienstkonto erstellen

Verwenden Sie den Tab Anmeldedaten in der Google API Console, um ein Dienstkonto zu erstellen. Speichern Sie den privaten Schlüssel im JSON-Format an einem sicheren Ort. Beim Erstellen des Kontos können Sie die Rolle auf „Inhaber“ festlegen.

Maps Booking APIs authentifizieren

Authentifiziere nach dem Erstellen des Dienstkontos die folgenden APIs:

  • Google Maps Booking API
  • Google Maps Booking API (Entwicklerversion)

Eine detaillierte Anleitung finden Sie in der Anleitung Mit Maps Booking API authentifizieren.

RESTful-Aufrufe verwenden oder die Clientbibliothek herunterladen

Wir empfehlen, RESTful-Aufrufe direkt mit JSON-Nutzlasten an die Maps Booking API zu senden. Weitere Informationen finden Sie in der Dokumentation zur REST API.

Du kannst auch Clientbibliotheken verwenden, um eine Verbindung zur API herzustellen.

Sprache Downloadlink
Java Java-Clientbibliothek. Weitere Informationen finden Sie in der Anleitung für Java-Clients.

Es stehen zusätzliche Supportbibliotheken zum Download zur Verfügung, die die Autorisierung und andere Aspekte von Aufrufen von Google APIs verarbeiten. Sehen Sie sich bei Bedarf diese Beispiele an.

Discovery-Dokument abrufen

Bei einigen Clientbibliotheken wie Ruby muss das Discovery-Dokument für die API abgerufen werden, in dem die Methoden und Parameter beschrieben sind.

Verwenden Sie den folgenden Befehl, um das Discovery-Dokument abzurufen:

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

Weitere Informationen zum Zugriff auf die API über Ruby finden Sie unter den folgenden Links: Ruby API-Client und Ruby-Authentifizierungsbibliothek.

Autorisierte API-Aufrufe durchführen

Informationen zu API-Aufrufen finden Sie unter Vorbereitung auf einen autorisierten API-Aufruf, um das Dienstkonto mit dem privaten Schlüssel und dem folgenden OAuth-Bereich zu autorisieren: https://www.googleapis.com/auth/mapsbooking.

API-Kontingente

API-Updates haben ein Kontingent von 1.500 Anfragen alle 60 Sekunden bzw. 25 Anfragen pro Sekunde. Wenn ein Kontingent überschritten wird, was passieren kann, wenn Sie im Partner-Portal nicht die richtige Google Cloud-Projektnummer angegeben haben, gibt Google die folgende Fehlermeldung aus:

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

Wiederholen Sie den Aufruf in diesem Fall in exponentiell größeren Intervallen, bis er erfolgreich war. Wenn Sie das Kontingent regelmäßig mit ReplaceServiceAvailability aufbrauchen, wechseln Sie zu BatchReplaceServiceAvailabily, um die Anzahl der API-Aufrufe zu reduzieren. Mit dieser Methode können Sie mehrere Dienste in einem einzigen API-Aufruf aktualisieren.

Sandbox- und Produktionsendpunkte

Über die API können Sie sowohl Sandbox- als auch Produktionsumgebungen aufrufen. Dazu musst du beide APIs in deinem Google Cloud-Projekt aktiviert haben. Beide APIs verwenden denselben Bereich, haben aber unterschiedliche Endpunkte.

Produktionsendpunkt: https://mapsbooking.googleapis.com/

Sandbox-Endpunkt: https://partnerdev-mapsbooking.googleapis.com/

Hier siehst du anhand eines Java-Beispiels, wie Endpunkte gewechselt werden:

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