इस ट्यूटोरियल में, जगह की जानकारी का डेटा बनाने और उसमें बदलाव करने का तरीका बताया गया है. 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
जगह की जानकारी बनाने के लिए, यह तरीका अपनाएं:
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 API का इस्तेमाल करें.
पुष्टि किए गए किसी उपयोगकर्ता के मालिकाना हक वाली या मैनेज की जा रही सभी जगहों की सूची बनाने के लिए, यह तरीका अपनाएं:
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 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 से कनेक्ट है या उस पर दिखती है, तो यह फ़ील्ड, जगह के प्लेस आईडी के बराबर होता है
|
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"
}