תרחישים לדוגמה
Google Maps Booking API מספק שתי שיטות שאפשר להשתמש בהן כדי לאחזר באופן פרוגרמטי סטטוס של מוכרים פרטיים עבור שילובים שונים של מרכז הפעולות או מלאי של מודעות לשירותים מקומיים.
תרחישי שימוש ב-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. התשובה מכילה גם אסימון דף (אם זה לא הדף האחרון) כדי לשלוח שאילתה לדף הבא.
הערה: תנאי הסינון צריכים להיות עקביים בכל הדפים.
שיטות מומלצות
ברוב המקרים, הסטטוסים של המוכרים לא משתנים לעיתים קרובות, ולכן מומלץ לשמור במטמון את התוצאות שאוחזרו ולאחזר אותן מעת לעת (למשל, כל כמה שעות) באמצעות שאילתות חדשות. יכול להיות שהמערכת של Actions Center תגביל את השאילתות שלכם אם מספר הבקשות לשנייה יהיה גבוה מדי.