Anwendungsfälle
Die Google Maps Booking API bietet zwei Methoden, mit denen Sie den Status der einzelnen Händler für verschiedene Actions Center-Integrationen oder das Inventar von Google Lokale Dienstleistungen programmatisch abrufen können.
Anwendungsfälle für die Merchant Status API:
- Bestehende Tools für das Customer-Relationship-Management verbessern, um Ihren Kunden zu zeigen, wie ihr Inventar auf der Actions Center-Plattform präsentiert wird.
- Erstellen Sie ein Dashboard, um den Inventar- und Abgleichsstatus Ihrer Händler zu verfolgen.
- Sie können den Abgleichs- und Buchungsstatus Ihrer Händler programmatisch abrufen und falsche Informationen korrigieren, um die Datenqualität zu verbessern.
Was enthält der Händlerstatus?
MerchantStatus enthält die folgenden Informationen:
- Händlerinventarstatus: Gilt sowohl für Händler mit Buchungs- als auch mit Wartelistenfunktion.
- Abgleichsstatus des Händlers: enthält Details zum abgeglichenen Unternehmenseintrag
- Nur für Google Lokale Dienstleistungen: Abgestimmter Dienstleister: Enthält die Kundennummer und die Dienstleistungskategorien.
- Die URLs, die zeigen, wie der Händler über „Mit Google reservieren“ präsentiert wird.
Status eines einzelnen Händlers aufrufen
Sie können den Status eines einzelnen Händlers mit inventory.partners.merchants.getStatus abrufen:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/statusHier ist ein Python-Codebeispiel (Beispiele in weiteren Sprachen finden Sie hier):
from google.auth.transport.requests import AuthorizedSession from google.oauth2 import service_account credentials = service_account.Credentials.from_service_account_file( './your_key.json') scoped_credentials = credentials.with_scopes( ['https://www.googleapis.com/auth/mapsbooking']) authed_session = AuthorizedSession(scoped_credentials) response = authed_session.get('https://partnerdev-mapsbooking.googleapis.com' + '/v1alpha/inventory/partners/123456789/merchants/001/status')
Eine Beispielantwort für MerchantStatus sieht so aus:
{ "name": "partners/123456789/merchants/001/status", "merchantName": "Foo Bar Restaurant", "inputGeoInfo": { "unstructured_address": "123 Foo Bar Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true } "geoMatch": { "name": "Foo Bar Restaurant", "formattedAddress": "123 Foo Bar St, Mountain View, CA 94043", "placeId": "ChIAAAAAAAAABBBBBBBB" }, "directUrls": [ { "type": "BOOKING", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa" }, { "type": "WAITLIST", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb" } ] }
Händlerstatus per Bulk-Verfahren abrufen
Mit inventory.partners.merchants.status.list können Sie den Status aller Händler oder einer Gruppe von Händlern abrufen, die bestimmte Inventar- oder Abgleichsbedingungen erfüllen. Mit diesem Aufruf können Sie beispielsweise alle nicht abgeglichenen Händler mit gültigem zukünftigem Buchungsinventar abrufen:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHEDEine Beispielantwort würde so aussehen:
{ "merchantStatuses": [ { "name": "partners/123456789/merchants/002/status", "merchantName": "Bar Foo Restaurant", "inputGeoInfo": { "unstructured_address": "234 Bar Foo Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": {}, }, ... { "name": "partners/123456789/merchants/080/status", "merchantName": "Baz Restaurant", "inputGeoInfo": { "unstructured_address": "345 Baz Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true }, }, ], "nextPageToken": "AAABBBB" }
Diese Antwort enthält 50 MerchantStatus, die die Filterbedingungen erfüllen und nach merchant_id sortiert sind. Die Antwort enthält auch ein Seitentoken (sofern es sich nicht um die letzte Seite handelt), mit dem die nächste Seite abgefragt werden kann.
Hinweis: Die Filterbedingungen sollten auf allen Seiten einheitlich sein.
Best Practices
Da sich Händlerstatus in den meisten Fällen nicht häufig ändern, empfiehlt es sich, die abgerufenen Ergebnisse zu cachen und sie regelmäßig (z.B. alle paar Stunden) über neue Anfragen abzurufen. Das Aktionscenter kann Ihre Anfragen drosseln, wenn die Anzahl der Anfragen pro Sekunde als zu hoch eingestuft wird.