माइग्रेशन

MapQuest Geocoding से माइग्रेट करना

MapQuest Geocoding इतने लंबे समय से मौजूद है कि इसके लिए बने कई इंटीग्रेशन मैपिंग API की मौजूदा लहर के बड़े हिस्से से भी पुराने हैं। इसकी कुंजी, जो MapQuest डेवलपर अकाउंट से बनाई जाती है, query पैरामीटर के रूप में भेजी जाती है, और इसके रिस्पॉन्स एक results ऐरे लौटाते हैं जिसके भीतर एक locations ऐरे होता है, जिसमें हर एंट्री में एक latLng ऑब्जेक्ट और अलग-अलग हिस्सों में बँटी पते की संरचना होती है, जिसमें शहर के लिए adminArea5 और zip या पिन कोड के लिए postalCode जैसे फ़ील्ड होते हैं।

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

My Geocode का MapQuest कम्पैटिबिलिटी होस्ट latLng और पते के फ़ील्ड के साथ results और locations ऐरे की संरचना को दोहराता है, और केवल कॉपीराइट, शर्तों और गोपनीयता का टेक्स्ट बदलता है। पूरा विवरण /compatibility/mapquest/ पर है। ज़्यादातर मामलों में होस्ट और कुंजी अपडेट करना ही पूरा बदलाव है; नेस्टेड results[0].locations[0].latLng एक्सेस पैटर्न उसी रूप में डेटा लौटाता रहना चाहिए।

इस तरह के पुराने इंटीग्रेशन के लिए काम का एक समझदारी भरा क्रम:

  1. कोडबेस में वे सभी जगहें खोजें जहाँ MapQuest होस्ट या कुंजी का ज़िक्र है, क्योंकि पुराना कोड कभी-कभी दोनों को कॉन्फ़िगरेशन से पढ़ने के बजाय हार्डकोड कर देता है
  2. अगर ये संदर्भ पहले से कॉन्फ़िगरेशन में नहीं हैं, तो उन्हें वहाँ ले जाएँ, चाहे आप किसी भी प्रोवाइडर पर जाएँ
  3. किसी भी लाइव चीज़ को छूने से पहले एक स्टेजिंग एनवायरनमेंट को कम्पैटिबिलिटी होस्ट की ओर करें और असली प्रोडक्शन पतों के एक नमूने की तुलना पुराने नतीजों से करें

नई तरफ़ ऑथेंटिकेशन में X-API-Key हेडर, Authorization: Bearer हेडर, HTTP Basic auth या query पैरामीटर स्वीकार होता है, इसलिए पुरानी MapQuest कुंजी जिस भी तरह भेजी जा रही थी, उसके लिए यहाँ एक मेल खाता विकल्प है।

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

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