गाइड

शिपिंग फ़ॉर्म में पिन कोड से ऑटो-फ़िल जोड़ें

पिन कोड, शहर और क्षेत्र के लिए अलग-अलग फ़ील्ड वाला शिपिंग फ़ॉर्म ग्राहक से वह जानकारी टाइप करवाता है जो अकेले पिन कोड से अक्सर पहले ही पता चल जाती है।

कोड लुकअप करना

जब ग्राहक पिन कोड टाइप करना पूरा कर ले और देश चुन ले, या अगर देश उनके खाते से पहले से पता हो, तो दोनों को /v1/postcode पर भेजें।

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", "country": "GB"}}
  ]
}

फ़ॉर्म फ़ील्ड भरना

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

दूसरा उदाहरण: टैक्स के लिए बिलिंग क्षेत्र पहले से भरना

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

सही समय पर लुकअप चलाना

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

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

हर देश के पिन कोड फ़ॉर्मेट के लिए एक तय अपेक्षित लंबाई हार्ड-कोड न करें। पाँच अंकों की धारणा जो एक देश के लिए काम करती है, वह अलग लंबाई या ऊपर के उदाहरण जैसे अक्षरांकीय फ़ॉर्मेट वाले देश के लिए लुकअप को बहुत जल्दी चलाएगी या कभी नहीं चलाएगी। या तो लंबाई की परवाह किए बिना फ़ोकस हटने पर लुकअप चलाएँ, या अगर आप उन देशों के लिए पहले लुकअप चलाना चाहते हैं जिन्हें आप सबसे अधिक सपोर्ट करते हैं, तो प्रति देश लंबाई की एक छोटी तालिका रखें।

पहचान में न आने वाले कोड को संभालना

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

एक खास मामला: एक से अधिक जगहों के नाम वाला कोड

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

पता पूरा होने पर सटीक निर्देशांक पाना

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

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

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

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