الانتقال

الانتقال من MapQuest Geocoding

وُجدت MapQuest Geocoding منذ وقت طويل بما يكفي لأن تكون كثير من التكاملات المبنية عليها أقدم من جزء كبير من الموجة الحالية لواجهات API الخرائط. يُولَّد مفتاحها عبر حساب مطور في MapQuest ويُرسَل كمعامل في الاستعلام، وتُرجع استجاباتها مصفوفة results تحتوي على مصفوفة locations متداخلة، يحمل كل عنصر فيها كائن latLng وبنية عنوان مفصّلة بحقول مثل adminArea5 للمدينة وpostalCode للرمز البريدي.

التكاملات بهذا القِدم تحمل أحيانًا نوعًا خاصًا من الدين التقني: فالكود الذي يستدعي MapQuest ربما كتبه شخص لم يعد في الفريق، مع تعليقات تشير إلى قرارات لا يتذكر أحد أنه اتخذها. وهذا ليس سببًا لتجنب الترحيل، لكنه سبب للاختبار الشامل بدلًا من افتراض أن من يقوم بالترحيل الآن يفهم الكود الحالي جيدًا.

يعيد المضيف المتوافق مع MapQuest من My Geocode إنتاج بنية مصفوفتي results وlocations مع حقول latLng والعنوان، ولا يغيّر إلا نص حقوق النشر والشروط والخصوصية. والتفاصيل الكاملة متاحة في /compatibility/mapquest/. وفي أغلب الحالات، يكون تحديث المضيف والمفتاح هو التغيير كله؛ إذ ينبغي أن يستمر نمط الوصول المتداخل results[0].locations[0].latLng في إرجاع البيانات بالشكل نفسه.

ترتيب منطقي للخطوات مع تكامل قديم كهذا:

  1. ابحث عن كل موضع في قاعدة الكود يشير إلى مضيف MapQuest أو مفتاحها، لأن الكود القديم يثبّت الاثنين أحيانًا في الكود مباشرة بدلًا من قراءتهما من الإعدادات
  2. انقل هذه الإشارات إلى الإعدادات إن لم تكن فيها بالفعل، بغض النظر عن المزود الذي ستستقر عليه
  3. وجّه بيئة اختبار (staging) إلى المضيف المتوافق وقارن عينة من عناوين الإنتاج الحقيقية بالنتائج القديمة قبل المساس بأي شيء في البيئة الحية

تقبل المصادقة في الجانب الجديد ترويسة X-API-Key، أو ترويسة Authorization: Bearer، أو مصادقة HTTP Basic، أو معاملًا في الاستعلام، لذا فأيًّا كانت طريقة إرسال مفتاح MapQuest القديم، يوجد خيار مطابق هنا.

التسعير ثابت ولا يتطلب اتخاذ قرار بشأن فئة الحساب: 2,500 طلب مجاني يوميًا دون مفتاح، و2,500 طلب مجاني إضافي لكل مفتاح يوميًا يُحتسب لكل شبكة، ثم الرصيد المسبق الدفع بسعر 0.0001 € لكل طلب أو مفتاح Unlimited بسعر 50 € شهريًا. وكل نقطة نهاية، بما فيها هذا المضيف المتوافق، تكلف المبلغ نفسه، مما يزيل متغيرًا كانت العقود القديمة تحمله أحيانًا في صورة قفزات بين فئات قائمة على الحجم.

بالنسبة لتكامل MapQuest ظل يعمل بهدوء لسنوات دون اهتمام يُذكر، فإن هدف ترحيل كهذا هو أن يبقى بهذا الهدوء بعده أيضًا: شكل الاستجابة نفسه، والكود نفسه، مع مضيف ومفتاح مختلفين خلف الكواليس.