एपीआई के ज़रिए व्यापारी/कंपनी के स्टेटस के बारे में क्वेरी करना

इस्तेमाल के उदाहरण

Google Maps बुकिंग एपीआई दो तरीके से काम करता है. इनका इस्तेमाल करके, अलग-अलग Actions Center इंटिग्रेशन या Local Services Ads इन्वेंट्री के लिए, अलग-अलग व्यापारियों/कंपनियों/कारोबारियों का स्टेटस प्रोग्राम के हिसाब से हासिल किया जा सकता है.

मर्चेंट स्टेटस एपीआई के इस्तेमाल के उदाहरण:

  • ग्राहकों के साथ संबंध मैनेज करने के मौजूदा टूल को बेहतर बनाएं, ताकि आप ग्राहकों को दिखा सकें कि Actions Center के प्लैटफ़ॉर्म पर उनकी इन्वेंट्री कैसी दिखती है.
  • अपने व्यापारियों/कंपनियों की इन्वेंट्री की स्थिति और मिलती-जुलती स्थिति को ट्रैक करने के लिए, डैशबोर्ड बनाएं.
  • प्रोग्राम की मदद से, अपने व्यापारियों/कंपनियों/कारोबारियों के स्टेटस का पता लगाएं और उन्हें बुक करें. साथ ही, डेटा क्वालिटी को बेहतर बनाने के लिए, गलत जानकारी को ठीक करें.

व्यापारी/कंपनी के स्टेटस में क्या-क्या शामिल है

MerchantStatus में यह जानकारी शामिल होती है:

  • व्यापारी/कंपनी/कारोबारी की इन्वेंट्री का स्टेटस: बुकिंग और/या वेटलिस्ट वाले व्यापारियों/कंपनियों/कारोबारियों पर लागू होता है.
  • व्यापारी/कंपनी/कारोबारी के मैचिंग की स्थिति: इसमें मैच होने वाले कारोबार की लिस्टिंग की जानकारी शामिल होती है
  • सिर्फ़ Google Local Services Ads के लिए) मेल खाने वाली व्यापारी/कंपनी/कारोबारी, सेवा देने वाली कंपनी: इसमें ग्राहक आईडी और सेवा की कैटगरी शामिल हैं.
  • Reserve with 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 में क्रम में लगाया गया है. अगले पेज की क्वेरी करने के लिए, रिस्पॉन्स में पेज टोकन (अगर यह आखिरी पेज नहीं है) भी शामिल होता है.

कृपया ध्यान दें: फ़िल्टर करने की शर्तें सभी पेजों पर एक जैसी होनी चाहिए.

सबसे सही तरीके

व्यापारी/कंपनी की स्थितियां अक्सर नहीं बदलतीं, इसलिए हमारी सलाह है कि फिर से मिले नतीजों को कैश मेमोरी में सेव करें. साथ ही, समय-समय पर (जैसे, हर कुछ घंटों में) उन्हें नई क्वेरी के ज़रिए हासिल करें. अगर हर सेकंड में भेजे जाने वाले अनुरोधों की संख्या बहुत ज़्यादा हो जाती है, तो ऐक्शन सेंटर आपकी क्वेरी को थ्रॉटल कर सकता है.