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

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

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

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

My 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"
      }
     }
}

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

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

कोई जगह मिटाने के लिए, नीचे दी गई जानकारी का इस्तेमाल करें:

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

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

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

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

एचटीटीपी
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, Privet Drive" से मेल खाएगी.

फ़िल्टर क्वेरी में कई फ़ील्ड जोड़ना

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

उदाहरण

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

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}

बोल्डर, कोलोराडो, अमेरिका के 1000 मील के अंदर की जगहों को फ़िल्टर करने के लिए:

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" (किसी भी जगह के नाम से, "Bjis" को सबस्ट्रिंग के तौर पर मैच करता है)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="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 स्ट्रिंग में क्रम वाले एक से ज़्यादा शर्तों को कॉमा से अलग किया गया है, जैसा कि इस उदाहरण में दिखाया गया है:

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

जगह की जानकारी पैच करें

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

किसी जगह के लिए एक या उससे ज़्यादा फ़ील्ड बदलने के लिए, नीचे दिए गए निर्देशों का पालन करें:

एचटीटीपी

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

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