Wysyłanie zapytania o stan sprzedawcy za pomocą interfejsu API

Przypadki użycia

Google Maps Booking API udostępnia 2 metody, których można używać automatycznego pobierania stanu poszczególnych sprzedawców różne integracje z Actions Center; Reklamy Usług Lokalnych zasobów reklamowych.

Przypadki użycia interfejsu Merchant Status API:

  • Ulepsz obecne narzędzia do zarządzania relacjami z klientami, aby zademonstrować klientów, w jaki sposób ich zasoby reklamowe wyświetlają się na platformie Actions Center.
  • Utwórz panel do śledzenia stanu asortymentu i dopasowania ze swoimi sprzedawcami.
  • Automatycznie pobieraj stany pasujących i możliwych do zarezerwowania ze sprzedawcami i popraw wszelkie nieprawidłowe informacje, aby poprawić jakość danych.

Co zawiera stan 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 firmy
  • Dla: Reklam Usług Lokalnych Google) Dopasowany sprzedawca: zawiera identyfikator klienta i kategorie usług.
  • Adresy URL pokazujące, w jaki sposób sprzedawca jest wyświetlany za pomocą funkcji Zarezerwuj z Google.

Sprawdzanie stanu pojedynczego sprzedawcy

Stan jednego sprzedawcy możesz sprawdzić za pomocą inventory.partners.merchants.getStatus:

GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status

Oto przykładowy kod w Pythonie (zobacz przykłady w większej liczbie języków) tutaj):

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ład 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 stanów sprzedawców

Możesz pobrać stany wszystkich lub grupy sprzedawców spełniają określone warunki zasobów reklamowych/spełniania, przy użyciu inventory.partners.merchants.status.list. Możesz na przykład sprawić, to wywołanie, aby pobrać wszystkich niedopasowanych sprzedawców z prawidłowymi rezerwacjami z datą przypadającą w przyszłości zasoby reklamowe:

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óry spełnia warunki filtrowania i porządkowany według merchant_id Odpowiedź zawiera też token strony (jeśli jest nie ostatniej strony), aby wysłać zapytanie na następną stronę.

Uwaga: warunki filtrowania powinny być spójne we wszystkich .

Sprawdzone metody

Status sprzedawcy zwykle nie zmienia się zbyt często, dlatego zachęcane do zapisywania pobranych wyników w pamięci podręcznej i okresowego zapisywania ich w pamięci podręcznej (np. co kilka godz.), są pobierane za pomocą nowych zapytań. Centrum działań może ograniczać zapytań, jeśli liczba żądań na sekundę wydaje się zbyt duża.