इस ट्यूटोरियल में, जगह की जानकारी का डेटा बनाने और उसमें बदलाव करने का तरीका बताया गया है. My Business Business Information API की मदद से, ये काम किए जा सकते हैं:
- नई जगह की जानकारी जोड़ें.
- किसी जगह की जानकारी मिटाना.
- संसाधन के नाम से जगह की जानकारी पाएं.
- किसी खाते की सभी जगहों की सूची बनाएं.
- किसी जगह के लिए एक या उससे ज़्यादा फ़ील्ड अपडेट करना.
विज्ञापनों में जगहों की जानकारी का इस्तेमाल किया जा सकता है. हालांकि, Search और Maps पर दिखने के लिए, उनकी पुष्टि करना ज़रूरी है. जगह की जानकारी के डेटा को accounts.locations कलेक्शन से दिखाया जाता है.
शुरू करने से पहले
My Business Business Information API का इस्तेमाल करने से पहले, आपको अपना ऐप्लिकेशन रजिस्टर करना होगा और OAuth 2.0 क्रेडेंशियल हासिल करने होंगे. My Business Business Information API का इस्तेमाल शुरू करने के बारे में जानने के लिए, बेसिक सेटअप देखें.
कोई जगह जोड़ना
My Business Business Information API का इस्तेमाल करके, किसी कारोबार के लिए नई जगह की जानकारी जोड़ी जा सकती है. इसके लिए, accounts.locations.create का इस्तेमाल करें.
कोई जगह बनाने के लिए, इनका इस्तेमाल करें:
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 का इस्तेमाल करें.
नाम के हिसाब से जगह की जानकारी पाने के लिए, यह तरीका अपनाएं. खास फ़ील्ड वापस पाने के लिए, आपको 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 अपडेट मैनेज करने के बारे में ज़्यादा जानने के लिए, अपडेट स्वीकार या अस्वीकार करना लेख पढ़ें.
जगह की ज़्यादा जानकारी और बदलाव की स्थिति दिखाएं (v1alpha)
कारोबारी या कंपनी से मिले जगह की जानकारी के डेटा और ग्राहकों से डील करने वाले जगह की जानकारी के डेटा को वापस पाने के लिए, हर फ़ील्ड में बदलाव की लाइफ़साइकल की स्टेज (जैसे, EDIT_LIFECYCLE_STAGE_PENDING या EDIT_LIFECYCLE_STAGE_REJECTED), बदलाव का सोर्स (SOURCE_API या SOURCE_UI), और नीति के उल्लंघन की वजहों को एक ही कॉल में वापस पाने के लिए, v1alpha में locations.getExtended का इस्तेमाल करें:
GET
https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
जवाब के पूरे उदाहरण और हर फ़ील्ड में बदलाव की स्थिति और नीति के उल्लंघनों को समझने के बारे में ज़्यादा जानने के लिए, जगहों और एट्रिब्यूट में बदलाव की स्थिति देखें.
जगहों की सूची बनाना
एक या उससे ज़्यादा जगहों को मैनेज करते समय, हो सकता है कि आप अपने खाते से जुड़ी सभी जगहों की सूची बनाना चाहें. किसी उपयोगकर्ता से जुड़ी सभी जगहों की सूची बनाने के लिए, 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 drive" की क्वेरी "4, Privet Drive" से मैच करेगी.
फ़िल्टर क्वेरी में कई फ़ील्ड जोड़ना
एपीआई, सभी फ़ील्ड की पाबंदियों को जोड़ने के लिए AND का इस्तेमाल करने की अनुमति देता है. हालांकि, OR कीवर्ड का इस्तेमाल करते समय, सभी पाबंदियां एक ही फ़ील्ड पर लागू होनी चाहिए. उदाहरण के लिए: locationName=A या 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 से जुड़ी है या उस पर दिखती है, तो इस फ़ील्ड की वैल्यू, जगह के आईडी के बराबर होती है
|
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"
}