इस ट्यूटोरियल में, जगह की जानकारी का डेटा बनाने और उसमें बदलाव करने का तरीका बताया गया है. 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 |
कारोबार का असल नाम
|
categories |
प्राइमरी कैटगरी और अन्य कैटगरी का कॉम्बिनेशन. ध्यान दें कि "gcid:" को हटाना होगा. अगर एक से ज़्यादा कैटगरी हैं, तो यह फ़िल्टर तब मैच होता है, जब कम से कम एक कैटगरी इस पैटर्न से मैच करती हो.
|
phone_numbers.primary_phone |
E.164 फ़ॉर्मैट में प्राइमरी फ़ोन नंबर (उदाहरण के लिए: "+441234567890").
|
storefront_address.region_code |
पते के देश/इलाके का CLDR कोड
|
storefront_address.administrative_area |
किसी देश या इलाके के डाक पते के लिए इस्तेमाल होने वाला सबसे बड़ा एडमिन के तौर पर उपखंड
|
storefront_address.locality |
पते का वह हिस्सा जिसमें शहर/कस्बे की जानकारी होती है
|
storefront_address.postal_code |
पते का पिन कोड
|
metadata.place_id |
अगर इस जगह की पुष्टि हो चुकी है और यह Google Maps से कनेक्ट है या Maps पर दिखती है, तो यह फ़ील्ड उस जगह के प्लेस आईडी के बराबर होता है
|
openInfo.status |
इससे पता चलता है कि कारोबार की जगह फ़िलहाल खुली है या नहीं
(
|
labels |
अपने कारोबार को टैग करने के लिए, फ़्री फ़ॉर्म स्ट्रिंग का कलेक्शन. अन्य सभी फ़ील्ड के मुकाबले, इस वैल्यू को सिर्फ़ टोकन के बजाय, केसिंग के साथ पूरे लेबल से पूरी तरह मैच करना चाहिए. उदाहरण के लिए, अगर कोई लेबल "XX YY" है, तो "XX" या "xx yy", दोनों से मैच नहीं होगा.
|
storeCode |
इस जगह का एक्सटर्नल आइडेंटिफ़ायर, जो किसी खाते में यूनीक होना चाहिए
|
| फ़ंक्शन | |
distance |
इसकी मदद से, किसी भौगोलिक पॉइंट से जगह की दूरी के आधार पर फ़िल्टर किया जा सकता है.
|
क्वेरी फ़ील्ड के हिसाब से क्रम से लगाना
नतीजों को कारोबार के नाम या स्टोर कोड के हिसाब से, बढ़ते या घटते क्रम में लगाया जा सकता है. 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"
}