تأكيد العنوان - أمثلة

يوضّح هذا المستند عددًا من السيناريوهات الواقعية التي توفِّر فيها واجهة برمجة التطبيقات للتحقّق من صحة العنوان إشارات استجابة للعناوين التي تتطلب إجراء تأكيد من نظامك. للحصول على السياق، يمكنك الاطّلاع على نظرة عامة على سير العمل ضمن إنشاء منطق التحقق.

أمثلة شائعة: التأكيد

يوضح المثال التالي حالة المناطق الحضرية التي لها أسماء شوارع مشابهة. لنفترض أنّ أحد المستخدمين ينوي إدخال عنوان مبنى Google (د) في كيركلاند، واشنطن، الولايات المتحدة. ومع ذلك، بدلاً من كيركلاند باعتبارها مدينة، قد دخلت سياتل عن غير قصد.

تم إدخال العنوان. المنطقة
المبنى D، 451 7th Street South, Seattle، WA 98033 الولايات المتحدة

القرار بشأن البيانات التي تم استبدالها

يؤكد المثال أدناه على الإشارات المهمة من الرد.

{
  "inputGranularity": "SUB_PREMISE",
  "validationGranularity": "PREMISE_PROXIMITY",
  "geocodeGranularity": "PREMISE_PROXIMITY",
  "addressComplete": true,
  "hasUnconfirmedComponents": true
  "hasReplacedComponents": true
}

تشير السمة PREMISE_PROXIMITY إلى قرب من عنوان على مستوى المبنى، ولكنها ليست مفصّلة مثل SUB_PREMISE، وهي الدقة التي يتم توفيرها عند الإدخال. يتضمّن الردّ أيضًا كلاً من المكوّنات التي لم يتم تأكيدها والتي تم استبدالها، لذلك تشير المجموعة إلى ذلك ضمن الفئة confirm (تأكيد).

يكشف الاستعلام عن مكونات العنوان المجالات التالية:

{
  "componentName": {
    "text": "451",
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
  "componentName": {
    "text": "98104",
  },
  "componentType": "postal_code",
  "confirmationLevel": "CONFIRMED",
  "replaced": true
}
...
{
  "componentName": {
    "text": "Building D",
    "language_code": "en"
  },
  "componentType": "subpremise",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......

    "unconfirmedComponentTypes": [
      "street_number",
      "subpremise"
    ]

في هذه الحالة، وجدت واجهة برمجة التطبيقات للتحقق من العنوان رقمًا تقريبيًا للعنوان المقدم في سياتل، واستبدلت الرمز البريدي، وهو مكون من مستوى أعلى، للانتقال إلى عنوان سياتل. قد يكون هذا بديلاً صالحًا، ولكن مع عدم تأكيد المكونات، فمن المنطقي التأكد من أن المستخدم ينوي إدخال عنوان سياتل وليس أي شيء آخر، مثل كيركلاند.

أمثلة على الحالة الهامشية: تأكيد

توضّح الأمثلة التالية أنواع الحالات الهامشية التالية:

  • الاستنتاجات الثانوية التي تم تأكيدها: تستنتج واجهة برمجة التطبيقات للتحقق من العنوان إما البلد أو الرمز البريدي أو الولاية، ولكن يتم تقديم كل المعلومات الأخرى وتأكيدها. فالجمع بين كل من مستوى الدقة والتأكيد يؤدي إلى استنتاج بسيط لا يحتاج بالضرورة إلى اتخاذ إجراء تأكيد.
  • لم يتم تأكيد مكوّن العنوان غير المتوقّع. تضيف عناصر العنوان غير المؤكّدة مستوى المخاطر في العنوان. قد يكون هذا مبررًا.
  • مكوِّن عنوان غير متوقع تم تأكيده: لا يكون المكوّن مطلوبًا بشكل صارم للعنوان الصحيح، وتزيله واجهة برمجة التطبيقات للتحقق من صحة العنوان من الإخراج. لا تتطلب مشكلات التنسيق التأكيد بشكل عام.

الاستنتاجات الثانوية التي تم تأكيدها وفقًا لآلية ARE

عند دمج واجهة برمجة التطبيقات مع بيانات مؤكّدة ذات مستوى أكثر تفصيلاً، يظل بإمكان واجهة برمجة التطبيقات التوصل إلى استنتاج صحيح إذا لم يتضمّن الإدخال سوى مكوّنًا واحدًا من الأنواع التالية:

  • مدينة
  • الحالة
  • الرمز البريدي
  • البلد

على سبيل المثال، يقدّم العميل عنوان شارع صالح لمطعم "ماكدونالدز" في مدينة سبرينغفيلد بولاية ماساتشوستس، ولكنه ينسى إدخال المدينة ويقدّم رمزًا بريديًا بدون الرمز البريدي المكوّن من 4 أرقام.

تم إدخال العنوان. المنطقة
1402 Allen St, MA 01118 الولايات المتحدة

قرار عدم إدراج المدينة

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "addressComplete": true,
  "hasInferredComponents": true
}

في الحالات التي تستنتج فيها واجهة برمجة التطبيقات للتحقق من صحة العنوان مكونات ذات مستوى أعلى من أجل إنتاج عنوان تسليمه، يمكنك الحصول على مستوى أعلى من الثقة بأن البيانات الواردة من النظام صحيحة. ويرجع ذلك إلى أنّ المكوّنات التي يتم استنتاجها والتي تمثّل منطقة جغرافية واسعة يتم مطابقتها بسهولة أكبر مع مكوّنات العنوان الأكثر دقة. حتى في البلدان التي تتكرر فيها أسماء المدن، مثل سبرينغفيلد في الولايات المتحدة، يمكن للمكونات الأخرى المدمجة معها أن توفر عنوانًا فريدًا.

باستخدام المثال المذكور أعلاه، يوضِّح الفحص على جميع مكونات العناوين أنّه تم تأكيد كل مكوّن، ما يعني أنه يتطابق مع البيانات المخزَّنة من خلال واجهة برمجة التطبيقات للتحقّق من العنوان، وأنّ الخدمة تستنتج أيضًا مكوّنَين من المستوى الأعلى.

{
  "componentName": {
    "text": "Springfield",
    "languageCode": "en"
  },
  "componentType": "locality",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
},
{
  "componentName": {
    "text": "1806"
  },
  "componentType": "postal_code_suffix",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
}

لم يتم تأكيد مكون عنوان غير متوقع

يوضّح هذا السيناريو أهمية التحقّق من الحالات التي لا يتم فيها تأكيد المكوّنات. إذا كان أحد مكونات العنوان غير متوقّع، تزيله واجهة برمجة التطبيقات للتحقّق من العنوان من الإخراج. وفي هذه الحالات، يمكنك إما قبول العنوان أو إعادة تأكيده مع العميل، وذلك حسب مستوى المخاطر ومستوى الثقة.

على سبيل المثال، قد يكون العنوان من منطقة يدخِل فيها العملاء في كثير من الأحيان معلومات غير ضارة تتجاهلها السلطة البريدية، وفي هذه الحالة، يمكنك قبول العنوان. ومع ذلك، في بعض الحالات، قد لا يكون المكون غير المؤكد ما يريده العميل.

تم إدخال العنوان. المنطقة
1 Rue Grenache, la caritat 2, 34630 Saint-Thibéry فرنسا

لم يتم تأكيد القرار المتعلّق بمكوّن العنوان غير المتوقّع.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "unconfirmedComponents": true
}

بالإضافة إلى بيان يتضمن مكوّنات لم يتم تأكيدها، تعرض واجهة برمجة التطبيقات الخاصة بالتحقّق من العنوان العنوان المنسَّق التالي:

"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",

يُظهر البحث عن المكوّنات غير المؤكَّدة أنّ واجهة برمجة التطبيقات أزالت la caritat 2 من العنوان الذي تمّ إرجاعه:

{
  "componentName": {
    "text": "la caritat 2",
    "languageCode": "fr"
  },
  "componentType": "sublocality_level_1",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
  "unexpected": true
}

مكون عنوان غير متوقع تم تأكيده

يوضّح هذا المثال إدراج إحدى المقاطعات في المملكة المتحدة في العنوان المقدّم، وهي ممارسة شائعة. ومع ذلك، فإن هذا ليس من متطلبات هيئة البريد في المملكة المتحدة ويتم تجاهله بشكل أساسي. يمكنك الاطّلاع على postoffice.co.uk وكيفية التعامل مع البريد في المملكة المتحدة والبريد الدولي.

نتيجةً لذلك، عندما يقدّم العميل مقاطعة في عنوان في المملكة المتحدة، تقيّم الخدمة هذا الإجراء على أنّه إدخال غير متوقّع.

تم إدخال العنوان. المنطقة
33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP المملكة المتحدة

بيان بشأن مكوّن عنوان غير متوقّع تم تأكيده

{
   "inputGranularity": "PREMISE",
   "validationGranularity": "PREMISE",
   "geocodeGranularity": "PREMISE"
}

هنا، يتم تقييم address_complete إلى false ويكشف تحليل مكون العنوان عن علامة غير متوقعة.

{
  "componentName": {
    "text": "Gloucestershire",
    "languageCode": "en"
  },
  "componentType": "administrative_area_level_2",
  "confirmationLevel": "CONFIRMED",
  "unexpected": true
}

على الرغم من أن "غلوسترشاير" هي المقاطعة الصحيحة للعنوان الذي تم إدخاله، إلا أن تنسيق العنوان نفسه غير صحيح. تذكر أن واجهة برمجة تطبيقات التحقق من العنوان تقيّم أيضًا المعلومات من أجل التنسيق المناسب.