تنسيقات الرمز البريدي من أول ما يخطئ فيه النموذج الدولي. الحقل الذي يقبل بضعة أرقام ثم يكتفي بذلك يرفض بلدانا كاملة، ويفسد بيانات بلدان أخرى في صمت، ويمرر قيما لا يعرفها أي مشغل بريدي. القواعد ليست معقدة، لكنها محلية، ولا يوجد نمط واحد يغطي العالم كله.
تستعرض هذه المقالة العائلات الرئيسية للرموز البريدية المستخدمة، والبلدان التي لا يوجد فيها نظام بريدي، والمصائد المتكررة حول الأصفار البادئة والطول، وما يجب فعله في النموذج أو قاعدة البيانات حتى تظل البيانات سليمة عند أول تلامس مع مستخدم حقيقي.
العائلات الأربع للرمز البريدي
تنتمي معظم الرموز البريدية إلى أحد أربعة أشكال عامة. الحدود بينها ضبابية، لأن البلد قد يغير نظامه، ولأن الرمز نفسه قد ينتمي إلى أكثر من عائلة، لكن العائلات تبقى طريقة مفيدة للتفكير في التحقق.
- أرقام صرفة بطول ثابت. تستخدم بلدان كثيرة سلسلة من الأرقام، يتراوح طولها عادة بين أربعة وستة. والطول ثابت داخل البلد، ما يجعل فحص الطول وحده مجديا.
- أرقام ببنية ثابتة. تنقسم الرموز في أمريكا الشمالية إلى قسمين، والقسم الثاني اختياري عمليا، فقد يحمل العنوان نفسه صيغة قصيرة أو صيغة ممتدة.
- حروف مختلطة بأرقام. كندا والمملكة المتحدة وهولندا وأيرلندا أمثلة معروفة. بعضها يتناوب الحروف والأرقام بإيقاع ثابت، وبعضها يجمع المحارف في مقاطع ذات معنى مستقل.
- رمز منطقة مع نقطة تسليم. المملكة المتحدة وهولندا المثال الكلاسيكي: المقطع الأول يحدد مقاطعة أو بلدة، والمقطع الأخير يضيق النطاق إلى شارع أو مجموعة صغيرة من العناوين.
وثمة فئة خامسة لا تقل أهمية: البلدان والأقاليم التي لا يوجد فيها نظام بريدي أصلا. طلب الرمز البريدي هناك ليس مشكلة تحقق تحتاج إلى حل، بل سؤال كان الأجدر ألا يطرح.
ما البلدان التي لا يوجد فيها رمز بريدي؟
عدد لا بأس به، وفيه أماكن يرسل إليها الناس بريدا بشكل معتاد. وحيث لا يوجد نظام بريدي، يدفع النموذج الذي يصر على قيمة المستخدم إلى اختراع واحدة، والاختراع شبه العالمي هو سلسلة أصفار أو تكرار رقم واحد. والنتيجة قاعدة بيانات مليئة بقيم نائبة تبدو كبيانات ولا تحمل أي معلومة.
الجواب العملي من شقين. الأول أن تجعل الحقل اختياريا في كل نموذج يخدم أكثر من بلد، لأن الاختيارية هي القاعدة الوحيدة الصحيحة في كل مكان. والثاني أنه إذا طلب نظام لاحق قيمة فعلا، فأنشئ عنصرا نائبا واضحا وسمه كذلك في ملاحظات مجموعة البيانات بدلا من التظاهر بأنه رمز حقيقي. وتعد صفحة البلد للأسواق التي تخدمها طريقة سريعة لمعرفة الاصطلاحات السارية في كل مكان.
لماذا تختفي الأصفار البادئة؟
الرمز البريدي معرف، وليس عددا. والمعرفات تقارن وتربط وترتب وتنسخ؛ ولا تجمع ولا يحسب متوسطها ولا تقارن بإشارة أكبر من. ومع ذلك من الشائع جدا أن تجد عمود الرمز البريدي معرفا كنوع عددي، وهذا الخيار الواحد يدمر الأصفار البادئة التي تعتمد عليها أنظمة وطنية كثيرة.
الضرر صامت. الرمز الذي يبدأ بصفر يصبح رمزا أقصر عندما يمر عبر عمود عددي أو جدول بيانات أو حقل رقمي في JSON أو نظام يتخلص من الأصفار غير المعنوية. لا شيء يظهر كخطأ. القيمة فقط تتوقف عن كونها الرمز الذي كانت عليه، ويفشل بحث بريدي لاحق لأسباب تبدو غير مرتبطة بعملية الاستيراد التي سببتها.
والمنطق نفسه ينطبق على الفواصل. بعض التنسيقات الوطنية تكتب بالاصطلاح بفراغ بين المقاطع، ويكتبها المستخدمون بشكل غير متسق. خزن الصيغة القياسية بلا فاصل، أو خزن الفاصل بشكل متسق، لكن نفذ التطبيع عند الحدود ثم توقف عن لمس القيمة.
هل الرمز البريدي والتقسيم الإداري شيء واحد؟
لا، والخلط بينهما يسبب أخطاء حقيقية. الرمز البريدي يصف مسار تسليم لا حدودا حكومية. ومناطق التسليم ومناطق التقسيم الإداري تتداخل لكنها لا تتطابق: رمز واحد قد يغطي أجزاء من بلدتين، وبلدة واحدة قد تمتد على عدة رموز. وتعاد تعيين الرموز عند تغير المسارات من دون أن يعيد أحد رسم محافظة.
هذا يعني أنك لا تستطيع استنباط مدينة أو منطقة من الرمز البريدي بشكل قاطع. تستطيع استخدام الرمز كدليل ضعيف، فهو يقع عادة داخل نطاق معروف لمنطقة ما، وتناقض منطقة مع رمز بريدي إشارة قوية إلى أن أحدهما على الأقل كتب خطأ. تعامل معه كفحص يستحق التنفيذ لا كبحث موثوق.
وهذا أيضا سبب عدم انتقال التحقق المعتمد على البادئة، مع أنه ناجح في بعض البلدان. قاعدة البادئة ترمز إلى جغرافية تسليم، وجغرافية كل بلد مختلفة عن غيره. والصورة الأوسع مشروحة في دليل التحقق من العنوان والتطبيع.
كيف تظهر الرموز البريدية في النماذج الحقيقية؟
بضع عادات تحافظ على أمانة النموذج عبر البلدان.
- اجعل الحقل اختياريا إلا إذا كنت واثقا، لبلد محدد، من وجود رمز ومن كونه إلزاميا.
- غير التسمية والنص المساعد مع البلد المختار، لأن شكل الرمز الصحيح غير قابل للنقل.
- اقبل الصيغة المفصولة بفراغ والصيغة المتصلة عند الإدخال، وطبع إلى إحداهما للتخزين.
- لا تفرض طولا ثابتا على مستوى العالم. الطول الثابت لا يدافع عنه إلا بعد معرفة البلد.
- لا تحول الحروف إلى كبيرة في صمت إذا كان النظام حالة الحروف حساسة في نظام آخر؛ اختر حالة قياسية واحدة وطبقها باتساق.
ومثال عملي على سلسلة أرقام واحدة تمر بقاعدة بلد وتفشل في آخر موجود في دليل بنية العنوان في الولايات المتحدة، حيث تشرح الصيغة الخماسية والصيغة الممتدة.
للمطورين: الأعمدة والقيود وتغيير البلد
خزن الرمز البريدي كنص، بحجم سخي، وبلا أي تحويل عددي في المسار كله. من ثمانية إلى اثني عشر محرفا حجم مريح لكل نظام مستخدم عموما، والمساحة الزائدة لا تكلف شيئا مقارنة بالترحيل لاحقا. أزل الفراغات المحيطة عند الإدخال، وقرر إن كنت ستحفظ الفراغات الداخلية، وطبق ذلك القرار في نقطة واحدة من الشيفرة لا في كل مستهلك للبيانات.
أبق رمز البلد بجوار الرمز البريدي دائما. الرمز البريدي بلا بلده غامض، ولا تنطبق عليه مجموعة قواعد واحدة. وعندما يتغير البلد في واجهة المستخدم، امسح حقل الرمز البريدي أو أعد التحقق منه بدلا من ترك قيمة فحصت بقواعد البلد السابق.
وأخيرا، كن مستعدا للتغيير. التنسيقات تمدد، ورموز جديدة تدخل، ونظام يبدو ثابتا اليوم قد يكتسب صيغة غدا. قاعدة التحقق يجب أن تكون صارمة بما يكفي لالتقاط الأخطاء الواضحة، ومرنة بما يكفي لقبول تنسيق لم تتوقعه. وعندما يفشل رمز في التحقق، سجل القيمة التي رفضتها—لا السجل كله—حتى تستطيع التمييز بين قاعدة سيئة وإدخال سيئ.
الخطوات التالية
افحص عمودا بريديا واحدا في مخططك وتحقق مما إذا كان نصا، وما إذا كان يحتمل الأصفار البادئة، وما إذا كان رمز البلد يرافقه. ثم ابن مجموعة اختبار صغيرة تضم بلدا بأرقام فقط، وبلدا بحروف وأرقام، ورمزا مقسما، وبلدا بلا نظام بريدي، ومررها عبر نموذجك.
تنتج أداة إنشاء العنوان رموزا بالشكل المحلي لكل بلد تغطيه، ما يجعل تجميع مجموعة الاختبار تلك سريعا. والرموز المنتجة للاختبار وهمية بحكم تكوينها: تشغل التنسيق من دون أن تشير إلى منطقة تسليم حقيقية، ولا يجوز أن ينتهي أي منها على طرد.