Przypadki użycia
Interfejs Google Maps Booking API udostępnia 2 metody, których można używać do automatycznego pobierania stanu poszczególnych sprzedawców w przypadku różnych integracji lub zasobów reklamowych Reklam Usług Lokalnych.
Przypadki użycia interfejsu Merchant Status API:
- Ulepsz istniejące narzędzia do zarządzania relacjami z klientami, aby pokazać klientom, jak ich zasoby reklamowe są promowane w Google.
- Utwórz panel do śledzenia stanu asortymentu i dopasowania sprzedawców.
- Automatycznie pobieraj pasujące stany sprzedawców i możliwe do zarezerwowania oraz poprawiaj nieprawidłowe informacje, aby poprawić jakość danych.
Co zawiera status sprzedawcy
MerchantStatus zawiera te informacje:
- Stan asortymentu sprzedawcy: dotyczy zarówno sprzedawców dokonujących rezerwacji, jak i sprzedawców z listy oczekujących.
- Stan dopasowania sprzedawcy: zawiera szczegóły pasującej wizytówki firmy
- (tylko w przypadku Reklam Usług Lokalnych Google) – dostawca dopasowanych usług sprzedawcy: podaje identyfikator klienta i kategorie usług;
- Adresy URL wskazujące, jak sprzedawca jest prezentowany w Google.
Sprawdzanie statusu pojedynczego sprzedawcy
Aby sprawdzić stan pojedynczego sprzedawcy, możesz użyć parametru inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status
Oto przykładowy kod w Pythonie (tutaj znajdziesz przykłady w innych językach):
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')
Przykładowa odpowiedź MerchantStatus wygląda tak:
{ "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" } ] }
Zbiorcze pobieranie statusów sprzedawcy
Za pomocą atrybutu inventory.partners.merchants.status.list możesz pobrać stany wszystkich sprzedawców lub grupy sprzedawców spełniających określone warunki. Możesz na przykład wywołać to wywołanie, aby wyświetlić wszystkich niedopasowanych sprzedawców z prawidłowymi zasobami z rezerwacjami z datą przyszłą:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED
Przykładowa odpowiedź może wyglądać tak:
{ "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" }
Ta odpowiedź będzie zawierać 50 MerchantStatus, które spełniają warunki filtrowania i są posortowane według: merchant_id
. Odpowiedź zawiera też token strony (jeśli nie jest to ostatnia strona), którego dotyczy zapytanie o następną stronę.
Uwaga: warunki filtrowania powinny być takie same na wszystkich stronach.
Sprawdzone metody
Stany sprzedawcy w większości przypadków nie zmieniają się często, dlatego zalecamy zapisywanie pobranych wyników w pamięci podręcznej i okresowe (np. co kilka godzin) pobieranie ich za pomocą nowych zapytań. Centrum działań może ograniczyć wykonywanie zapytań, jeśli liczba żądań na sekundę okaże się zbyt duża.