जगह की जानकारी के डेटा के साथ काम करना

इस ट्यूटोरियल में, जगह की जानकारी का डेटा बनाने और उसमें बदलाव करने का तरीका बताया गया है. My Business Business Information API की मदद से, ये काम किए जा सकते हैं:

जगहों की जानकारी का इस्तेमाल विज्ञापनों में किया जा सकता है. हालांकि, Search और Maps पर दिखने के लिए, जगहों की जानकारी की पुष्टि करनी होगी. जगह की जानकारी का डेटा, accounts.locations कलेक्शन से दिखाया जाता है.

शुरू करने से पहले

My Business Business Information API का इस्तेमाल करने से पहले, आपको अपना ऐप्लिकेशन रजिस्टर करना होगा और OAuth 2.0 क्रेडेंशियल हासिल करने होंगे. My Business Business Information API का इस्तेमाल शुरू करने के तरीके के बारे में जानने के लिए, बुनियादी सेटअप देखें.

जगह की जानकारी जोड़ना

accounts.locations.create का इस्तेमाल करके, कारोबार की नई जगह बनाने के लिए, My Business Business Information API का इस्तेमाल किया जा सकता है.

जगह बनाने के लिए, इनका इस्तेमाल करें:

एचटीटीपी
POST
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?requestId=requestId&validateOnly=True|False

{
    "storeCode": "GOOG-SYD",
    "languageCode": "en-AU",
    "title": "Google Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 9374 4000"
     }
    "storefrontAddress": {
      "addressLines": [
        "Level 5",
        "48 Pirrama Road"
      ],
      "locality": "Pyrmont",
      "postalCode": "2009",
      "administrativeArea": "NSW",
      "regionCode": "AU"
    },
    "websiteUri": "https://www.google.com.au/",
    "regularHours": {
      "periods": [
        {
          "openDay": "MONDAY",
          "closeDay": "MONDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "TUESDAY",
          "closeDay": "TUESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "WEDNESDAY",
          "closeDay": "WEDNESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "THURSDAY",
          "closeDay": "THURSDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "FRIDAY",
          "closeDay": "FRIDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        }
      ]
    },
    "categories": {
      "primaryCategory": {
        "name": "gcid:software_company"
      }
     }
}

किसी जगह की जानकारी मिटाना

locations.delete का इस्तेमाल करके, किसी जगह की जानकारी मिटाने के लिए, My Business Business Information API का इस्तेमाल किया जा सकता है.

किसी जगह की जानकारी मिटाने के लिए, यह तरीका अपनाएं:

एचटीटीपी
DELETE
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

नाम से जगह की जानकारी पाना

अगर आपके खाते से कई कारोबार जुड़े हैं, तो हो सकता है कि आप एक ही जगह की जानकारी दिखाना चाहें. locations.get का इस्तेमाल करके, किसी खास जगह की जानकारी पाने के लिए, कारोबार के नाम के हिसाब से फ़िल्टर किया जा सकता है.

किसी जगह का नाम डालकर, उसकी जानकारी पाने के लिए, यह तरीका अपनाएं. खास फ़ील्ड को वापस पाने के लिए, आपको readMask की वैल्यू देनी होगी. :

एचटीटीपी
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}

Google Maps का पुराना वर्शन वापस लाना

एचटीटीपी

किसी जगह का Google Maps वर्शन दिखाने के लिए, अनुरोध यूआरएल में googleUpdated जोड़ें. उदाहरण के लिए:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}

अगर कोई नतीजा नहीं मिलता है, तो 404 NOT FOUND एचटीटीपी स्टेटस कोड दिखाया जाता है. Google अपडेट को मैनेज करने के बारे में ज़्यादा जानकारी यहां मिल सकती है.

जगहों की सूची बनाना

एक या उससे ज़्यादा जगहों को मैनेज करते समय, हो सकता है कि आप अपने खाते से जुड़ी सभी जगहों की सूची बनाना चाहें. किसी उपयोगकर्ता से जुड़ी सभी जगहों की सूची देखने के लिए, accounts.locations.list एपीआई का इस्तेमाल करें.

पुष्टि किए गए उपयोगकर्ता के मालिकाना हक वाली या मैनेज की जा रही सभी जगहों की सूची देखने के लिए, इनका इस्तेमाल करें:

एचटीटीपी
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}

अनुरोध वाले यूआरएल में खाते के लिए '-' वाइल्डकार्ड का इस्तेमाल करें, ताकि उन लिस्टिंग को शामिल किया जा सके जिनका मालिकाना हक आपके पास नहीं है. जैसे, किसी ग्रुप के ज़रिए मालिकाना हक या मैनेज किया जा रहा हो:

एचटीटीपी
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}

जगहों की सूची बनाते समय नतीजों को फ़िल्टर करना

एचटीटीपी

accounts.locations.list को कॉल करने पर मिलने वाले नतीजों को सीमित करने के लिए, फ़िल्टर का इस्तेमाल किया जा सकता है. किसी अनुरोध को फ़िल्टर करने के लिए, बेस यूआरएल में फ़िल्टर एक्सप्रेशन जोड़ें, जैसा कि इस उदाहरण में दिखाया गया है:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter={FIELD_NAME}=%22{YOUR_QUERY}%22

क्वेरी का बुनियादी सिंटैक्स

पाबंदी का सिंटैक्स यह है: <field><operator><value>, जहां ऑपरेटर EQUALS (=) या HAS (:) होता है. EQUALS (=) और HAS (:) ऑपरेटर, locationName को छोड़कर सभी फ़ील्ड के लिए एक जैसे होते हैं (नीचे दी गई टेबल देखें).

कोटेशन मार्क को "%22" के तौर पर और स्पेस को प्लस के निशान (+) के तौर पर एन्कोड किया जाता है.

जब तक अलग से न बताया जाए, तब तक सभी तुलनाएं केस-इनसेंसिटिव टोकन की तुलनाएं होती हैं. उदाहरण के लिए, "4 ड्राइव" का मिलान "4, प्राइवेट ड्राइव" से होगा.

फ़िल्टर क्वेरी में एक से ज़्यादा फ़ील्ड को जोड़ना

एपीआई, AND फ़ंक्शन की मदद से सभी फ़ील्ड की पाबंदियों को कनेक्ट करने की अनुमति देता है. हालांकि, OR कीवर्ड के लिए सभी पाबंदियां एक ही फ़ील्ड पर लागू होनी चाहिए. उदाहरण के लिए: locationName=A OR labels=B का इस्तेमाल नहीं किया जा सकता.

उदाहरण

नीचे दिए गए उदाहरण में, एक फ़िल्टर एक्सप्रेशन दिखाया गया है, जो "Pepé Le Pew" नाम वाली सभी जगहों की जानकारी दिखाता है. इसमें "french_restaurant" या "european_restaurant" कैटगरी के साथ-साथ "newly open" लेबल दिखता है.

locationName=%22Pepé+Le+Pew%22+AND+
(categories=%22french_restaurant%22+OR+
categories=%22european_restaurant%22)+AND+
labels=%22newly+open%22

दूरी या खाते के हिसाब से खोजना

यहां दिए गए उदाहरण में, किसी भौगोलिक जगह से तय दूरी के अंदर की जगहों को खोजने का तरीका बताया गया है:

एचटीटीपी
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}

अमेरिका के बोल्डर, कोलोराडो से 1,000 मील के दायरे में मौजूद जगहों को फ़िल्टर करने के लिए:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(40.01, -105.27))<1000.0

इस्तेमाल किए जा सकने वाले सभी फ़िल्टर फ़ील्ड की सूची

यहां उन सभी फ़ील्ड की पूरी सूची दी गई है जिनका इस्तेमाल फ़िल्टर करने के लिए किया जा सकता है:

फ़ील्ड जानकारी और उदाहरण
स्ट्रिंग मैच करने वाले फ़ील्ड
title

कारोबार का असल नाम

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (किसी भी जगह के नाम से मेल खाता है, जिसमें "Bajis" सबस्ट्रिंग के तौर पर मौजूद है)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (टोकन/शब्द के तौर पर "Bajis" वाली किसी भी जगह के नाम से मेल खाता है)

categories

प्राइमरी कैटगरी और अन्य कैटगरी का कॉम्बिनेशन. ध्यान दें कि "gcid:" को हटाना होगा. अगर एक से ज़्यादा कैटगरी हैं, तो यह फ़िल्टर तब मैच होता है, जब कम से कम एक कैटगरी इस पैटर्न से मैच करती हो.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=categories="french_restaurant"

phone_numbers.primary_phone

E.164 फ़ॉर्मैट में प्राइमरी फ़ोन नंबर (उदाहरण के लिए: "+441234567890").

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=phone_numbers.primary_phone="+441234567890"

storefront_address.region_code

पते के देश/इलाके का CLDR कोड

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.region_code="US"

storefront_address.administrative_area

किसी देश या इलाके के डाक पते के लिए इस्तेमाल होने वाला सबसे बड़ा एडमिन के तौर पर उपखंड

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.administrative_area="CA"

storefront_address.locality

पते का वह हिस्सा जिसमें शहर/कस्बे की जानकारी होती है

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.locality="New York"

storefront_address.postal_code

पते का पिन कोड

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.postal_code="12345"

metadata.place_id

अगर इस जगह की पुष्टि हो चुकी है और यह Google Maps से कनेक्ट है या Maps पर दिखती है, तो यह फ़ील्ड उस जगह के प्लेस आईडी के बराबर होता है

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=metadata.place_id="12345"

openInfo.status

इससे पता चलता है कि कारोबार की जगह फ़िलहाल खुली है या नहीं (OPEN, CLOSED_PERMANENTLY)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="OPEN"

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="CLOSED_PERMANENTLY"

labels

अपने कारोबार को टैग करने के लिए, फ़्री फ़ॉर्म स्ट्रिंग का कलेक्शन. अन्य सभी फ़ील्ड के मुकाबले, इस वैल्यू को सिर्फ़ टोकन के बजाय, केसिंग के साथ पूरे लेबल से पूरी तरह मैच करना चाहिए. उदाहरण के लिए, अगर कोई लेबल "XX YY" है, तो "XX" या "xx yy", दोनों से मैच नहीं होगा.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=labels="newly open"

storeCode

इस जगह का एक्सटर्नल आइडेंटिफ़ायर, जो किसी खाते में यूनीक होना चाहिए

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storeCode="12345"

फ़ंक्शन
distance

इसकी मदद से, किसी भौगोलिक पॉइंट से जगह की दूरी के आधार पर फ़िल्टर किया जा सकता है.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(1.0, -25.0))<1000.0

क्वेरी फ़ील्ड के हिसाब से क्रम से लगाना

नतीजों को कारोबार के नाम या स्टोर कोड के हिसाब से, बढ़ते या घटते क्रम में लगाया जा सकता है. orderBy स्ट्रिंग में, क्रम से लगाने की एक से ज़्यादा शर्तों को कॉमा लगाकर अलग किया जाता है. जैसे, नीचे दिए गए उदाहरण में:

एचटीटीपी
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode

किसी जगह की जानकारी को पैच करना

locations.patch का इस्तेमाल करके, किसी जगह के लिए एक या उससे ज़्यादा फ़ील्ड अपडेट करने के लिए, My Business Business Information API का इस्तेमाल करें.

किसी जगह के लिए एक या उससे ज़्यादा फ़ील्ड बदलने के लिए, इनका इस्तेमाल करें:

एचटीटीपी

जगह की जानकारी वाले फ़ील्ड में फ़ील्ड और अपडेट की गई वैल्यू जोड़ें. साथ ही, fieldMask की वैल्यू के तौर पर, अपडेट किए गए फ़ील्ड की सूची का इस्तेमाल करें. सूची में, वैल्यू को कॉमा लगाकर अलग करें.

PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title
{
    "title": "Google Shoes"
}