Casi d'uso
L'API Google Maps Booking offre due metodi che possono essere utilizzati per recuperare in modo programmatico lo stato dei singoli commercianti per varie integrazioni di Actions Center Annunci di Servizi locali inventario.
Casi d'uso dell'API Merchant Status:
- Migliora gli strumenti di gestione dei rapporti con i clienti esistenti per dimostrare la tua ai clienti il modo in cui il loro inventario viene visualizzato sulla piattaforma Actions Center.
- Crea una dashboard per monitorare lo stato dell'inventario e lo stato della corrispondenza di i tuoi commercianti.
- Recupera in modo programmatico gli stati di corrispondenza e prenotabili del tuo i commercianti e correggere eventuali informazioni errate per migliorare la qualità dei dati.
Che cosa contiene lo stato commerciante
La MerchantStatus contiene le seguenti informazioni:
- Stato dell'inventario del commerciante: si applica sia ai commercianti che effettuano prenotazioni e/o alla lista d'attesa.
- Stato della corrispondenza del commerciante: include i dettagli sulla scheda dell'attività corrispondente
- Per (solo annunci di Servizi locali di Google) Fornitore di servizi commerciante corrispondente: include l'ID cliente e le categorie di servizio.
- Gli URL per dimostrare come il commerciante viene visualizzato tramite Prenota con in tutti i canali Google.
Cercare lo stato di un singolo commerciante
Puoi visualizzare lo stato di un singolo commerciante utilizzando inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status
Ecco un esempio di codice Python (vedi esempi in altri linguaggi 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')
Esempio La risposta di MerchantStatus ha il seguente aspetto:
{ "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 gli stati dei commercianti collettivamente
Puoi recuperare gli stati di tutti i commercianti o di un gruppo di commercianti che soddisfano determinate condizioni di corrispondenza/inventario, utilizzando inventory.partners.merchants.status.list. Ad esempio, puoi rendere questa chiamata per ottenere tutti i commercianti senza corrispondenza con una prenotazione valida con data futura inventario:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED
Ecco un esempio di risposta:
{ "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 soddisfa le condizioni di filtro e che è ordinato per
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 pagine.
Best practice
Poiché nella maggior parte dei casi lo stato dei commercianti non cambia, a memorizzare nella cache i risultati recuperati e periodicamente (ad es. a intervalli di ore) li recupera tramite nuove query. Il Centro azioni potrebbe limitare le tue se il numero di richieste al secondo ritiene essere eccessivamente elevato.