استخدام واجهة برمجة تطبيقات التحقق من العنوان لمعالجة العناوين بحجم كبير

الهدف

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

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

حالات الاستخدام

سنفهم الآن حالات الاستخدام التي تكون فيها ميزة التحقّق من صحة العنوان بكميات كبيرة مفيدة.

الاختبار

غالبًا ما تريد اختبار واجهة برمجة تطبيقات التحقّق من صحة العناوين عن طريق تشغيل آلاف العناوين. قد يكون لديك عناوين في ملف قيم مفصولة بفواصل وتريد التحقق من جودة العناوين.

التحقق من العناوين لمرة واحدة

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

التحقق المتكرر من صحة العناوين

هناك عدد من السيناريوهات يتطلب التحقق من صحة العناوين بشكل متكرر:

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

نظرة تفصيلية على الجوانب الفنية

لأغراض هذا المستند، نفترض ما يلي:

  • أنت تستدعي واجهة برمجة تطبيقات التحقق من العنوان باستخدام عناوين من قاعدة بيانات للعميل (أي قاعدة بيانات بها تفاصيل العميل)
  • يمكنك تخزين علامات الصلاحية مؤقتًا مقابل عناوين فردية في قاعدة البيانات.
  • يتم استرداد علامات الصلاحية من واجهة برمجة تطبيقات التحقّق من صحة العناوين عندما يسجِّل عميل فردي الدخول.

ذاكرة تخزين مؤقت للاستخدام في الإنتاج

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

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

  • البيانات من الكائن AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

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

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

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

فهم الردّ

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

  • علامة addressComplete في كائن الحكم هي true،
  • validationGranularity في كائن الحكم هو PREMISE أو SUB_PREMISE
  • لا يتم وضع علامة على أي من AddressComponent على أنها:
    • Inferred(ملاحظة: inferred=trueيمكن أن تحدث عند addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected،
  • confirmationLevel: تم ضبط مستوى التأكيد في AddressComponent علىCONFIRMEDأوUNCONFIRMED_BUT_PLAUSIBLE

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

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesأو
  • UspsData standardizedAddress

تنفيذ عملية تحقّق من صحة العنوان بلا واجهة مستخدم رسومية

بناءً على المناقشة أعلاه:

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

في القسم التالي، سنناقش عملية من خطوتين حول كيفية الامتثال لبنود الخدمة وتنفيذ التحقق من صحة العنوان بكميات كبيرة.

الخطوة 1:

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

الرسم البياني أ: يوضّح المخطّط التالي كيفية تحسين مسار البيانات باستخدام منطق التحقق من صحة العناوين ذات حجم كبير.

alt_text

ووفقًا لبنود الخدمة، يمكنك تخزين البيانات التالية في ذاكرة التخزين المؤقت من addressComponent:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

خلال هذه الخطوة من التنفيذ، سنخزّن مؤقتًا الحقول المذكورة أعلاه مقابل UserID.

لمزيد من المعلومات، يمكنك الاطّلاع على تفاصيل حول بنية البيانات الفعلية.

الخطوة 2:

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

الرسم البياني ب: يوضِّح هذا المخطّط البياني الشكل الذي يمكن أن يظهر به الدمج الكامل لتدفق موافقة المستخدم:

alt_text

  1. عندما يسجّل المستخدم الدخول، تحقق أولاً مما إذا كنت قد خزّنت مؤقتًا أي علامات للتحقّق من الصحة في نظامك.
  2. إذا كانت هناك علامات، يجب عليك تزويد المستخدم بواجهة مستخدم لتصحيح عنوانه وتحديثه.
  3. يمكنك استدعاء واجهة برمجة التطبيقات التحقّق من صحة العنوان مرة أخرى باستخدام العنوان المعدَّل أو المخزَّن مؤقتًا وتقديم العنوان المصحَّح للمستخدم لتأكيده.
  4. إذا كان العنوان ذو جودة جيدة، ستعرض واجهة برمجة التطبيقات التحقّق من صحة العنوان formattedAddress.
  5. ويمكنك إما تقديم هذا العنوان إلى المستخدم إذا تمت التصحيحات، أو قبوله بدون تنبيه إذا لم تكن هناك أي تصحيحات.
  6. بعد قبول المستخدم، يمكنك تخزين formattedAddress مؤقتًا في قاعدة البيانات.

الخلاصة

تُعد عملية التحقق من العنوان بحجم كبير من حالات الاستخدام الشائعة التي يُحتمل أن تواجهها في العديد من التطبيقات. يحاول هذا المستند توضيح بعض السيناريوهات ونمط التصميم حول كيفية تنفيذ هذا الحل المتوافق مع "بنود خدمة منصة خرائط Google".

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

الخطوات التالية

يمكنك تنزيل تحسين عمليات الدفع والتسليم والعمليات من خلال عناوين موثوقة والاطّلاع على البرنامج التعليمي على الويب تحسين عمليات الدفع والتسليم والعمليات من خلال التحقق من العنوان .

اقترحت مزيدًا من القراءة:

المساهمون

تحتفظ Google بهذه المقالة. كتب المساهمون التالي ذكرهم في الأصل.
المؤلفون الرئيسيون:

هنريك فالف | مهندس حلول
توماس أنغلاريت | مهندس حلول
سارثاك غانغولي | مهندس حلول