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

उपयोग के उदाहरण

Google Maps Booking API दो तरीके उपलब्ध कराता है. इनका इस्तेमाल, प्रोग्राम के हिसाब से अलग-अलग इंटिग्रेशन या लोकल सर्विस विज्ञापनों की इन्वेंट्री के लिए, कारोबारियों या कंपनियों की स्थिति जानने के लिए किया जा सकता है.

Merchant Status API के इस्तेमाल के उदाहरण:

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

कारोबारी या कंपनी की स्थिति में क्या शामिल होता है

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

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

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

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

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