गाइड

तेज़ लुकअप के लिए पिन कोड और देश को साथ मिलाएँ

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

सीधे पोस्टकोड एंडपॉइंट पर जाना

फ़्री-टेक्स्ट स्ट्रिंग जोड़कर उसे /v1/forward पर भेजने के बजाय, कोड और देश को सीधे /v1/postcode पर भेजें।

GET /v1/postcode?code=90210&country=US
{
  "status": "ok",
  "postcode": "90210",
  "country_code": "US",
  "results": [
    {"lat": 34.0901, "lon": -118.4065, "components": {"city": "Beverly Hills", "region": "CA", "country": "US"}}
  ]
}

यह बेहतर विकल्प क्यों है

पिन कोड और देश की जोड़ी पहले से ही पूरी तरह संरचित इनपुट है, इसलिए एंडपॉइंट के सामने हल करने के लिए कोई अस्पष्टता नहीं होती, जैसी किसी फ़्री-टेक्स्ट स्ट्रिंग के साथ हो सकती है जो मिलते-जुलते नाम वाली कई जगहों से मेल खा सकती है। ठीक इसी इनपुट के लिए बने एंडपॉइंट का उपयोग करने से आपको अनपेक्षित नतीजे के कम जोखिम के साथ ज़्यादा साफ़ मिलान मिलता है।

दूसरा उदाहरण: अक्षरों और अंकों वाला पिन कोड

यही कॉल उस देश के लिए भी इसी तरह काम करती है जो सिर्फ़ अंकों के बजाय अक्षरों और अंकों को साथ में इस्तेमाल करता है।

GET /v1/postcode?code=K1A 0B1&country=CA

country पैरामीटर देना ही इसे भरोसेमंद बनाता है, क्योंकि सिर्फ़ कोड की स्ट्रिंग अलग-अलग देशों में हमेशा अनोखी नहीं होती, और country पैरामीटर ही एंडपॉइंट को बताता है कि उसे किस डाक प्रणाली के अनुसार समझना है।

जब आपको फिर भी फ़ॉरवर्ड जियोकोडिंग की ज़रूरत हो

अगर आपको पिन कोड के सामान्य क्षेत्र के बजाय एक विशिष्ट स्ट्रीट-स्तर का मिलान चाहिए, तो पूरे पते के साथ फ़ॉरवर्ड जियोकोडिंग ही सही टूल है, क्योंकि पिन कोड लुकअप उस क्षेत्र तक हल होता है जिसे कोड कवर करता है, उसके अंदर की किसी खास इमारत तक नहीं। शिपिंग ज़ोन को सत्यापित करने जैसे क्षेत्र-स्तर के लुकअप के लिए /v1/postcode का उपयोग करें, और जब आपको मकान-स्तर की सटीकता चाहिए तब /v1/forward का।

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

यह न मानें कि कोई पिन कोड हमेशा ठीक एक ऐसे बिंदु से जुड़ता है जो उसके अंदर के हर पते को सटीक रूप से दर्शाता है। /v1/postcode द्वारा लौटाए गए निर्देशांक कोड के कवर किए गए क्षेत्र को दर्शाते हैं, जो एक अकेला सिटी ब्लॉक हो सकता है या, कुछ देशों में, इससे कहीं बड़ा ज़ोन। लौटाए गए उस बिंदु को पूरे कोड के प्रतिनिधि बिंदु के बजाय किसी खास ग्राहक की इमारत की सटीक लोकेशन मान लेने से, उसके ऊपर बनी दूरी पर निर्भर किसी भी चीज़ में त्रुटि आ जाएगी।

एक वर्कफ़्लो में दोनों को जोड़ना

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

एक एज केस: ऐसा कोड जो कोई नतीजा नहीं लौटाता

खाली results ऐरे का मतलब है कि दिए गए देश के लिए कोड पहचाना नहीं गया, जो किसी एरर रिस्पॉन्स से अलग स्थिति है। इसे सिस्टम एरर के रूप में दिखाने के बजाय वैसे ही संभालें जैसे किसी भी दूसरे अपरिचित इनपुट को, यानी ग्राहक से कहें कि वह अपनी दर्ज की गई जानकारी दोबारा जाँचे।

इसकी लागत क्या है

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

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