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

इस ट्यूटोरियल में, जगह की जानकारी का डेटा बनाने और उसमें बदलाव करने का तरीका बताया गया है. 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 का इस्तेमाल करके, किसी कारोबार के लिए नई जगह की जानकारी बनाई जा सकती है. accounts.locations.create

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

HTTP
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 का इस्तेमाल करके, किसी जगह की जानकारी मिटाई जा सकती है.

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

HTTP
DELETE
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

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

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

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

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

Google Maps का वर्शन पाना

HTTP

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

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

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

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

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

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

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}

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

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}

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

HTTP

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 drive" का मिलान "4, Privet Drive" से होगा.

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

एपीआई, सभी फ़ील्ड की पाबंदियों को कनेक्ट करने के लिए, 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

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

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

HTTP
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 से कनेक्ट है या उस पर दिखती है, तो यह फ़ील्ड, जगह के प्लेस आईडी के बराबर होता है

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 स्ट्रिंग में, क्रम से लगाने के एक से ज़्यादा मानदंड को कॉमा से अलग किया जाता है. उदाहरण के लिए:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode

किसी जगह की जानकारी में बदलाव करना

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

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

HTTP

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

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