पते की पुष्टि करने वाले एपीआई का इस्तेमाल करके, किसी पते की पुष्टि करने के लिए, validAddress तरीका (REST) या VerifyAddress तरीका (gRPC) कॉल करें. इस दस्तावेज़ में दिए गए उदाहरणों में REST का इस्तेमाल किया गया है, लेकिन यह तरीका gRPC जैसा ही है.
किसी पते की पुष्टि करने के बाद, आपके पास पुष्टि करने का तरीका बताने वाला तरीका (REST) या पुष्टि करने का तरीका तरीका (gRPC) लागू करके, Google को पते की पुष्टि करने की प्रक्रिया से जुड़ी जानकारी देने का विकल्प होता है. जानकारी और उदाहरणों के लिए, पते की पुष्टि करने के लिए सुझाव, शिकायत या राय दें देखें.
पते की पुष्टि करने का अनुरोध
POST
पुष्टि करने के तरीके में, 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"
अनुरोध के मुख्य हिस्से में मौजूद address
फ़ील्ड में, PostalAddress का कम से कम एक एंट्री होना ज़रूरी है.addressLines
regionCode
फ़ील्ड ज़रूरी नहीं है. अगर इसे छोड़ दिया जाता है, तो एपीआई पते से क्षेत्र का अनुमान लगा लेता है. हालांकि, बेहतरीन परफ़ॉर्मेंस के लिए, हमारा सुझाव है कि आपregionCode
को भी शामिल कर लें. यह सुविधा किन इलाकों में उपलब्ध है, यह जानने के लिए इन देशों और इलाकों की सूची देखें.address
फ़ील्ड की कुल लंबाई 280 वर्णों की होती है.
पते की पुष्टि करते समय, वैकल्पिक रूप से CASSTM को चालू करें
पते की पुष्टि करने वाली कंपनियों की मदद करने और उन्हें प्रमाणित करने के लिए, United States Postal Service® (USPS®)1 कोडिंग एक्ज़ीक्यूट सपोर्ट सिस्टम (CASSTM) बनाता है. एक CAS प्रमाणितTM सेवा, जैसे कि पता की पुष्टि करने वाले एपीआई को इस बात की पुष्टि कर दी गई है कि वह किसी पते में जानकारी नहीं भर रही है. साथ ही, उसे स्टैंडर्ड और स्टैंडर्ड जानकारी देने के लिए अपडेट कर सकती है.
सिर्फ़ "अमेरिका" और "पीआर" क्षेत्रों के लिए, आप अनुरोध के मुख्य भाग में 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
फ़ील्ड में
पुष्टि का नतीजा
ऑब्जेक्ट होता है. इस ऑब्जेक्ट में ये शामिल हैं:
address
फ़ील्ड में, पते से जुड़ी पूरी जानकारी होती है. इसमें पते की पूरी जानकारी शामिल होती है.भौगोलिक कोड टाइप का
geocode
फ़ील्ड, जिसमें पते के लिए भौगोलिक जानकारी शामिल होती है.verdict
फ़ील्ड का प्रकार, Verdict, जिसमें पते की पुष्टि और वेब पेज के नतीजे शामिल होते हैं.metadata
पते के फ़ील्ड में, Addressमेटाडेटा टाइप होता है, जिसमें पते के लिए मेटाडेटा होता है.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 तक के सड़क नंबर में परिवर्तन के साथ पते को पुनः सत्यापित करना होगा. पते की फिर से पुष्टि करते समय, previousResponseId
फ़ील्ड में, first जवाब के responseId
की वैल्यू शामिल करें:
{ "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" } }
गड़बड़ियों और गड़बड़ियों को ठीक करने के बारे में ज़्यादा जानकारी के लिए गड़बड़ियां देखें.