Casi d'uso
L'API Google Maps Booking fornisce due metodi che possono essere utilizzati per recuperare in modo programmatico lo stato dei singoli commercianti per varie integrazioni del Centro azioni o inventario degli annunci di Servizi locali.
Casi d'uso dell'API Merchant Status:
- Migliora gli strumenti di gestione delle relazioni con i clienti esistenti per mostrare ai tuoi clienti come viene visualizzato il loro inventario sulla piattaforma Actions Center.
- Crea una dashboard per monitorare lo stato dell'inventario e lo stato della corrispondenza dei tuoi commercianti.
- Recupera in modo programmatico gli stati di corrispondenza e prenotazione dei tuoi commercianti e correggi eventuali informazioni errate per migliorare la qualità dei dati.
Cosa contiene lo stato del commerciante
MerchantStatus contiene le seguenti informazioni:
- Stato dell'inventario del commerciante: si applica ai commercianti con prenotazione e/o lista di attesa.
- Stato della corrispondenza del commerciante: include i dettagli della scheda dell'attività corrispondente
- Solo per annunci di Servizi locali Google) Fornitore di servizi commerciante corrispondente: include l'ID cliente e le categorie di servizi.
- Gli URL per dimostrare come viene visualizzato il commerciante tramite Prenota con Google.
Cercare lo stato di un singolo commerciante
Puoi ottenere lo stato di un singolo commerciante utilizzando inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/statusDi seguito è riportato un esempio di codice Python (vedi esempi in altre lingue qui):
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')
Un esempio di risposta MerchantStatus è il seguente:
{ "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" } ] }
Recuperare collettivamente gli stati dei commercianti
Puoi recuperare gli stati di tutti i commercianti o di un gruppo di commercianti che soddisfano determinate condizioni di inventario/corrispondenza utilizzando inventory.partners.merchants.status.list. Ad esempio, puoi effettuare questa chiamata per ottenere tutti i commercianti non abbinati con inventario di prenotazione valido con data futura:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHEDUna risposta di esempio potrebbe essere simile alla seguente:
{ "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" }
Questa risposta conterrà 50
MerchantStatus che soddisfano le condizioni di filtraggio e sono ordinate in base a
merchant_id. La risposta contiene anche un token di pagina (se non è l'ultima pagina) per eseguire una query sulla pagina successiva.
Nota: le condizioni di filtro devono essere coerenti in tutte le pagine.
Best practice
Poiché gli stati dei commercianti non cambiano spesso nella maggior parte dei casi, è consigliabile memorizzare nella cache i risultati recuperati e recuperarli periodicamente (ad es. ogni poche ore) tramite nuove query. Il Centro azioni potrebbe limitare le tue query se il numero di richieste al secondo viene ritenuto eccessivamente elevato.