الاستعلام عن حالة التاجر عبر واجهة برمجة التطبيقات

حالات الاستخدام

توفّر واجهة Google Maps Booking 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 يحتوي الرد أيضًا على رمز مميز للصفحة (إذا كان وليست الصفحة الأخيرة) للبحث في الصفحة التالية.

ملاحظة: يجب أن تكون شروط التصفية متسقة عبر جميع .

أفضل الممارسات

بما أنّ حالات التاجر لا تتغيّر كثيرًا في معظم الأوقات، تكون نشجعك على الاحتفاظ بالنتائج المستردة في ذاكرة التخزين المؤقت وبشكل دوري (على سبيل المثال كل بضعة ساعات) استردادها عبر استعلامات جديدة. قد يعوق "مركز الإجراءات" إذا كان عدد الطلبات في الثانية مرتفعًا بشكل مفرط.