गाइड

किसी पते को उसके पिन कोड से मिलाकर जाँचें

कोई ग्राहक एक असली स्ट्रीट पता और एक असली पिन कोड टाइप कर सकता है जो असल में एक-दूसरे से मेल नहीं खाते, ज़्यादातर अंकों को आगे-पीछे करके या किसी पुराने पिन कोड को नए पते में कॉपी करके। अकेला कोई भी फ़ील्ड समस्या नहीं दिखाता, क्योंकि दोनों अलग-अलग मान्य हैं।

हर फ़ील्ड को अलग से हल करना

पूरे पते को /v1/forward से जियोकोड करें ताकि पता चले कि वह असल में किस पिन कोड तक हल होता है, और अलग से ग्राहक के टाइप किए पिन कोड को /v1/postcode से देखें ताकि पता चले कि वह कौन-सा क्षेत्र कवर करता है।

GET /v1/forward?q=10 Downing Street, London&limit=1
{
  "status": "ok",
  "results": [
    {"formatted": "10 Downing Street, London, UK", "lat": 51.5033, "lon": -0.1276, "type": "address", "precision": "house", "confidence": 0.96, "place_id": "op678", "components": {"postcode": "SW1A 2AA", "city": "London"}}
  ]
}
GET /v1/postcode?code=SW1A 1AA&country=GB
{
  "status": "ok",
  "postcode": "SW1A 1AA",
  "country_code": "GB",
  "results": [{"lat": 51.5014, "lon": -0.1419, "components": {"city": "London", "region": "Greater London"}}]
}

दोनों नतीजों की तुलना

अगर पते के लुकअप से मिला postcode घटक ग्राहक के टाइप किए पिन कोड से मेल नहीं खाता, जैसा इस उदाहरण में है, तो यह चिह्नित करने लायक बेमेल है, भले ही पता और पिन कोड दोनों अलग-अलग असली साबित हुए हों। दोनों घटकों की सीधे तुलना करना निर्देशांकों के दोनों सेट के बीच की दूरी की तुलना से ज़्यादा भरोसेमंद है, क्योंकि कोई पिन कोड क्षेत्र इतना छोटा हो सकता है कि असली मिलान भी पते के निर्देशांकों पर ठीक-ठीक न पड़े।

दूसरा उदाहरण: एक बड़ा बेमेल जिसे पहले ही पकड़ लेना चाहिए

यही जाँच कहीं ज़्यादा स्पष्ट गलती भी पकड़ती है, यानी स्ट्रीट पते से बिल्कुल अलग देश या क्षेत्र के लिए दर्ज किया गया पिन कोड, जैसे UK फ़ॉर्मेट का कोड ऐसे पते के साथ जो असल में किसी दूसरे देश में हल होता है। ज़्यादा विस्तृत पोस्टकोड तुलना तक पहुँचने से पहले ही, पते के नतीजे के country घटक की पोस्टकोड लुकअप में इस्तेमाल किए गए country पैरामीटर से तुलना करना एक सस्ती पहली जाँच है जो इस तरह की बड़ी गलती को जल्दी छाँट देती है।

बेमेल होने पर क्या करें

चुपचाप किसी एक को चुनने या ऑर्डर को सीधे अस्वीकार करने के बजाय, ग्राहक को दोनों मान साथ-साथ दिखाएँ और उससे पुष्टि करने को कहें कि कौन-सा सही है। बताए जाने पर आगे-पीछे हुआ अंक आसानी से ठीक हो जाता है, और ऐसा असली एज केस, जहाँ कोई पिन कोड वैध रूप से दो आम तौर पर इस्तेमाल होने वाले मानों के बीच की सीमा को कवर करता है, इतना दुर्लभ है कि उसे एक छोटी सी मैन्युअल पुष्टि से संभाला जा सकता है।

एक आम गलती जिससे बचना चाहिए

खुद postcode घटकों की तुलना के विकल्प के रूप में निर्देशांकों के दोनों सेट की किसी दूरी थ्रेशोल्ड से सीधे तुलना न करें। कोई पिन कोड क्षेत्र भौगोलिक रूप से इतना छोटा हो सकता है कि पूरी तरह सही मिलान में भी पोस्टकोड के प्रतिनिधि बिंदु और पते की खास इमारत के निर्देशांकों के बीच कुछ दूरी दिखे, और किसी छोटे क्षेत्र का कोड भौगोलिक रूप से इतना बड़ा भी हो सकता है कि सचमुच बेमेल जोड़ी भी किसी ढीली दूरी थ्रेशोल्ड के अंदर आ जाए। दूरी से मिलान का अनुमान लगाने की कोशिश की तुलना में खुद पोस्टकोड के टेक्स्ट की तुलना ज़्यादा सीधी और भरोसेमंद जाँच है।

एक एज केस जिसकी गुंजाइश रखनी चाहिए

दो प्रशासनिक क्षेत्रों की सीमा पर पड़ने वाला पिन कोड क्षेत्र, इस पर निर्भर करते हुए कि किस एंडपॉइंट ने उसे हल किया, वैध रूप से थोड़ा अलग दिखने वाला घटक सेट लौटा सकता है, भले ही दोनों सही हों। किसी करीबी लेकिन बिल्कुल सटीक नहीं टेक्स्ट मिलान को, जैसे सिर्फ़ किसी क्षेत्र का नाम लिखने के तरीके में अंतर, पूरी तरह अलग पिन कोड की तुलना में हल्के ढंग से संभालें।

एक साथ कई ऑर्डर जाँचना

किसी एक नए सबमिशन के बजाय मौजूदा ऑर्डर के बैच के लिए, दोनों एंडपॉइंट बल्क POST ऐरे स्वीकार करते हैं, इसलिए लंबित ऑर्डर को पतों को एक बल्क अनुरोध के रूप में /v1/forward पर और पिन कोड को दूसरे बल्क अनुरोध के रूप में /v1/postcode पर भेजकर जाँचा जा सकता है, फिर दोनों नतीजे वाले ऐरे की स्थिति के अनुसार तुलना की जा सकती है।

अनुरोध की लागत

यह जाँच हर ऑर्डर पर दो अनुरोध इस्तेमाल करती है, एक पते के लिए और एक पिन कोड के लिए, और दोनों किसी भी दूसरे लुकअप की तरह आपके दैनिक कोटा में गिने जाते हैं। ऐसी गलती पकड़ने के लिए यह उचित लागत है जो वरना असफल डिलीवरी के रूप में सामने आती।

ऑर्डर शिप होने से पहले बेमेल पिन कोड पकड़ना उस दूसरे अनुरोध के लायक है जो इसकी जाँच में लगता है। दोनों एंडपॉइंट का विवरण फ़ॉरवर्ड जियोकोडिंग दस्तावेज़ और पिन कोड लुकअप दस्तावेज़ में है।