पते की पुष्टि करने वाले एपीआई का इस्तेमाल करके, किसी पते की पुष्टि करने के लिए, ValidateAddress वाले तरीके (REST) या ValidateAddress वाले तरीके (gRPC) को कॉल करें. यह दस्तावेज़ अपने उदाहरणों के लिए REST का इस्तेमाल करता है, लेकिन तरीका gRPC के साथ मिलता-जुलता है.
किसी पते की पुष्टि करने के बाद, आपके पास Google को पता की पुष्टि के नतीजे के बारे में जानकारी लौटाने का विकल्प होता है. इसके लिए, provideValidateFeedback तरीका (REST) या वेलकमाइज़ेशनफ़ीडबैक तरीका (gRPC) कॉल करें. ज़्यादा जानकारी और उदाहरणों के लिए, पते की पुष्टि के बारे में सुझाव/राय देना या शिकायत करना देखें.
पते की पुष्टि करने का अनुरोध
VerifiedAddress तरीके का इस्तेमाल करके POST
अनुरोध भेजकर, पते की पुष्टि करें:
https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY
पुष्टि करने के लिए, पता तय करने के अनुरोध के लिए JSON का मुख्य हिस्सा पास करें:
curl -X POST -d '{
"address": {
"regionCode": "US",
"locality": "Mountain View",
"addressLines": ["1600 Amphitheatre Pkwy"]
}
}' \
-H 'Content-Type: application/json' \
"https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY"
अनुरोध के मुख्य भाग में PostalAddress टाइप का address
फ़ील्ड, addressLines
में कम से कम एक एंट्री होनी चाहिए.
regionCode
फ़ील्ड ज़रूरी नहीं है. अगर शामिल नहीं किया जाता है, तो एपीआई, पते से इलाके का पता लगाता है. हालांकि, सबसे अच्छी परफ़ॉर्मेंस के लिए, हमारा सुझाव है कि अगर आपकोregionCode
के बारे में पता है, तो आप उसे शामिल करें. जिन देशों/इलाकों में यह सुविधा उपलब्ध है उनकी सूची देखने के लिए, इन देशों और इलाकों में मान्य है पर जाएं.address
फ़ील्ड में ज़्यादा से ज़्यादा 280 वर्ण हो सकते हैं.
पते की पुष्टि करते समय, CASSTM को चालू करें
यूनाइटेड स्टेट्स पोस्टल सर्विस® (USPS®)1, पते की पुष्टि करने वाली कंपनियों की मदद करने और उन्हें सर्टिफ़िकेट देने के लिए, कोडिंग के सटीक होने की सुविधा देने वाले सिस्टम (CASSTM) को मैनेज करता है. पते की पुष्टि करने वाले एपीआई जैसी CASS CertifiedTM सेवा की पुष्टि हो चुकी है.
सिर्फ़ "US" और "PR" क्षेत्रों के लिए, वैकल्पिक तौर पर CASS प्रोसेसिंग को चालू करने के लिए, अनुरोध के मुख्य हिस्से में enableUspsCass
को true
पर सेट किया जा सकता है.
CASS का इस्तेमाल करते समय सबसे अच्छे नतीजों के लिए, एक ऐसा पता दें जिसमें शहर, राज्य, और पिन कोड के साथ सड़क और मोहल्ले का नंबर शामिल हो:
{
"address": {
"regionCode": "US",
"locality": "Mountain View",
"administrativeArea": "CA",
"postalCode": "94043",
"addressLines": ["1600 Amphitheatre Pkwy"]
},
"enableUspsCass": true
}
पूरे पते को addressLines
कलेक्शन में दो स्ट्रिंग के तौर पर भी बताया जा सकता है:
{
"address": {
"regionCode": "US",
"addressLines": ["1600 Amphitheatre Pkwy", "Mountain View, CA, 94043"]
},
"enableUspsCass": true
}
पते की पुष्टि का जवाब
अगर अनुरोध पूरा हो जाता है, तो सर्वर एक एचटीटीपी 200 OK
स्टेटस कोड और रिस्पॉन्स का मुख्य हिस्सा के साथ जवाब देता है. इस कोड में पुष्टि किए गए पते के बारे में जानकारी होती है.
रिस्पॉन्स के result
फ़ील्ड में,
Verificationresults
ऑब्जेक्ट है. इस ऑब्जेक्ट में ये चीज़ें शामिल होती हैं:
Address टाइप का
address
फ़ील्ड, जिसमें पते के बारे में पूरी जानकारी होती है.जियोकोड टाइप का
geocode
फ़ील्ड, जिसमें पते के लिए जियोकोड की गई जानकारी होती है.फ़ैक्ट्री टाइप का
verdict
फ़ील्ड, जिसमें पते की पुष्टि और जियोकोड वाला नतीजा होता है.AddressAddress टाइप का
metadata
फ़ील्ड होता है. इसमें पते का मेटाडेटा शामिल होता है.USPSData टाइप का
uspsData
फ़ील्ड, जिसमें पते के लिए यूएसपीएस डेटा होता है. यह डेटा सिर्फ़ अमेरिका और प्योर्तो रिको के पतों के लिए है.
नीचे दिए गए जवाब में addressComplete
को true
पर सेट किया गया है, इसलिए जवाब से पता चलता है कि यह पता पूरी तरह से मान्य है. इसलिए, किसी और पुष्टि की ज़रूरत नहीं है. अगर जवाब से पता चलता है कि पते का कुछ हिस्सा गलत है, तो अपने उपयोगकर्ता से कहें कि वह पते की जांच करके उसकी पुष्टि करे.
{
"result": {
"verdict": {
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
},
"address": {
"formattedAddress": "1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA",
"postalAddress": {
"regionCode": "US",
"languageCode": "en",
"postalCode": "94043-1351",
"administrativeArea": "CA",
"locality": "Mountain View",
"addressLines": [
"1600 Amphitheatre Pkwy"
]
},
"addressComponents": [
{
"componentName": {
"text": "1600",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "Amphitheatre Parkway",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "Mountain View",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "USA",
"languageCode": "en"
},
"componentType": "country",
"confirmationLevel": "CONFIRMED"
},
{
"componentName": {
"text": "94043"
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "CA",
"languageCode": "en"
},
"componentType": "administrative_area_level_1",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1351"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
]
},
"geocode": {
"location": {
"latitude": 37.4223878,
"longitude": -122.0841877
},
"plusCode": {
"globalCode": "849VCWC8+X8"
},
"bounds": {
"low": {
"latitude": 37.4220699,
"longitude": -122.084958
},
"high": {
"latitude": 37.4226618,
"longitude": -122.0829302
}
},
"featureSizeMeters": 116.538734,
"placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g",
"placeTypes": [
"premise"
]
},
"metadata": {
"business": false,
"poBox": false
},
"uspsData": {
"standardizedAddress": {
"firstAddressLine": "1600 AMPHITHEATRE PKWY",
"cityStateZipAddressLine": "MOUNTAIN VIEW CA 94043-1351",
"city": "MOUNTAIN VIEW",
"state": "CA",
"zipCode": "94043",
"zipCodeExtension": "1351"
},
"deliveryPointCode": "00",
"deliveryPointCheckDigit": "0",
"dpvConfirmation": "Y",
"dpvFootnote": "AABB",
"dpvCmra": "N",
"dpvVacant": "N",
"dpvNoStat": "Y",
"carrierRoute": "C909",
"carrierRouteIndicator": "D",
"postOfficeCity": "MOUNTAIN VIEW",
"postOfficeState": "CA",
"fipsCountyCode": "085",
"county": "SANTA CLARA",
"elotNumber": "0103",
"elotFlag": "A",
"addressRecordType": "S"
}
},
"responseId": "de22bed8-7f52-44cb-8526-faceac57150a"
}
अपडेट किए गए पते की पुष्टि करना
कुछ मामलों में, हो सकता है कि आपको किसी एक पते के लिए, पते की पुष्टि करने वाले एपीआई को कई कॉल करने पड़ें. उदाहरण के लिए, पहली बार पुष्टि करने के नतीजे देखने के बाद, उपयोगकर्ता अपने पते में बदलाव कर सकता है या उसमें सुधार कर सकता है. इसके बाद, अपडेट किए गए पते पर दूसरी बार पुष्टि करें.
पते की पुष्टि करने वाले हर एपीआई कॉल के लिए, रिस्पॉन्स के responseId
फ़ील्ड में एक यूनीक वैल्यू दिखती है. अगर किसी पते की पुष्टि करनी है, तो उसकी फिर से पुष्टि करना ज़रूरी है, तो previousResponseId
फ़ील्ड में पहले पुष्टि वाले जवाब से responseId
पास करें. इससे सभी फ़ॉलो-अप अनुरोधों के जवाब, पते की पुष्टि करने वाले एपीआई को भेजे जाएंगे.
नए अनुरोध में previousResponseId
फ़ील्ड को शामिल करके, एपीआई को ज़्यादा सटीक बनाने में हमारी मदद की जा सकती है.
उदाहरण के लिए, ऊपर दिखाए गए जवाब में responseId
फ़ील्ड शामिल है:
"responseId": "de22bed8-7f52-44cb-8526-faceac57150a"
इसके बाद, आपको पते की फिर से पुष्टि करनी होगी. इसके लिए, स्ट्रीट नंबर को 1600 से बदलकर 1500 करना होगा. पते की फिर से पुष्टि करते समय, पहले जवाब से responseId
की वैल्यू के साथ previousResponseId
फ़ील्ड शामिल करें:
{ "address": { "regionCode" : "US", "locality" : "Mountain View", "addressLines" : ["1500 Amphitheatre Pkwy"] }, "previousResponseId": "de22bed8-7f52-44cb-8526-faceac57150a" }
CASS का इस्तेमाल करके अनुरोध करने के लिए:
{ "address": { "regionCode" : "US", "locality" : "Mountain View", "addressLines" : ["1500 Amphitheatre Pkwy"] }, "previousResponseId": "de22bed8-7f52-44cb-8526-faceac57150a", "enableUspsCass": true }
हर एक कॉल के नतीजे, responseId
फ़ील्ड में नई वैल्यू दिखाते हैं. हालांकि, पते पर अपडेट करने के लिए, बाद के सभी कॉल में previousResponseId
फ़ील्ड में पहले जवाब से responseId
की वैल्यू पास करना जारी रखें.
गड़बड़ी ठीक करना
पते की पुष्टि करने वाला एपीआई, किसी मेथड कॉल के जवाब के तौर पर गड़बड़ी के मैसेज दिखाता है. उदाहरण के लिए, अगर एपीआई पासकोड को अनुरोध से हटा दिया जाता है, तो यह तरीका दिखाता है:
{ "error": { "code": 403, "message": "The request is missing a valid API key.", "status": "PERMISSION_DENIED" } }
अगर addressLines
जैसे किसी ज़रूरी बॉडी पैरामीटर को छोड़ दिया जाता है, तो यह तरीका
यह दिखाता है:
{ "error": { "code": 400, "message": "Address lines missing from request.", "status": "INVALID_ARGUMENT" } }
गड़बड़ियों और उन्हें ठीक करने के बारे में ज़्यादा जानकारी के लिए, गड़बड़ियां देखें.
-
Google Maps Platform, संयुक्त राज्य अमेरिका का नॉन-इक्सक्लूसिव लाइसेंसी है Postal Service®. ये ट्रेडमार्क, यूनाइटेड स्टेट्स पोस्टल सर्विस® के पास हैं और इनका इस्तेमाल अनुमति के साथ किया जाता है: यूनाइटेड स्टेट्स पोस्टल सर्विस®, CASSTM, CASS CertifiedTM. ↩