שליחת שאילתה לגבי סטטוס המוכר באמצעות ה-API

תרחישים לדוגמה

ל-Google Maps Booking API יש שתי שיטות שבהן אפשר להשתמש כדי לאחזר באופן פרוגרמטי סטטוס של מוכרים ספציפיים, עבור שילובים שונים של Actions Center או עבור מלאי של מודעות 'Google בעלי מקצוע'.

תרחישים לדוגמה ל-Merchant Status API:

  • שיפור הכלים הקיימים לניהול קשרי לקוחות כדי להדגים ללקוחות איך המלאי שלהם מוצג בפלטפורמה של מרכז הפעולות.
  • כדאי ליצור מרכז בקרה כדי לעקוב אחרי סטטוס המלאי וסטטוס ההתאמה של המוכרים.
  • לאחזר באופן פרוגרמטי סטטוסים של מוכרים תואמים ושניתן להזמין אותם, ולתקן מידע שגוי כדי לשפר את איכות הנתונים.

מה כולל סטטוס המוכר

השדה MerchantStatus כולל את המידע הבא:

  • סטטוס המלאי של המוכר: רלוונטי גם למוכרים להזמנות ו/או לרשימות המתנה.
  • סטטוס ההתאמה של המוכר: כולל פרטים על הדף העסקי התואם
  • במודעות ב-'Google בעלי מקצוע' בלבד) לספק שירות תואם של מוכר: שכולל את מספר הלקוח ואת קטגוריות השירות.
  • כתובות ה-URL שממחישות איך המוכר מוצג ב-'Google הזמנת מקומות'.

חיפוש סטטוס של מוכר יחיד

אפשר להציג את הסטטוס של מוכר יחיד באמצעות inventory.partners.merchants.getStatus:

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

הנה דוגמה של קוד Python (ראו דוגמאות בשפות נוספות כאן):

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')

דוגמה לתשובה של MerchantStatus:

  {
    "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"
      }
    ]
  }

אחזור סטטוסים של מוכרים בכמות גדולה

אפשר לאחזר סטטוסים של כל המוכרים, או של קבוצה של מוכרים שעומדים בתנאי התאמה מסוימים או במלאי מסוים, באמצעות inventory.partners.merchants.status.list. לדוגמה, אפשר לבצע את השיחה הזו כדי לכלול את כל המוכרים שעדיין אין להם מלאי שטחי פרסום תקף של הזמנות לעתיד:

GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED

דוגמה לתגובה תיראה כך:

  {
    "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"
  }

התשובה הזו תכלול 50 MerchantStatus שעומדים בתנאי הסינון וממוינים לפי merchant_id. התגובה מכילה גם אסימון דף (אם הוא לא הדף האחרון) לשליחת שאילתה על הדף הבא.

לתשומת ליבך: תנאי הסינון צריכים להיות עקביים בכל הדפים.

שיטות מומלצות

מכיוון שסטטוסים של מוכרים לא משתנים לעיתים קרובות ברוב המקרים, מומלץ לשמור במטמון את התוצאות שאוחזרו ולאחזר אותן מעת לעת (למשל, כל כמה שעות) באמצעות שאילתות חדשות. מרכז הפעולות עשוי לווסת את השאילתות שלך אם מספר הבקשות לשנייה ייראה גבוה מדי.