Skip to content
جميع المقالات

تغيير مسار التحقق دون إصدار نسخة جديدة من التطبيق

تشارلز أرشيبونغ

, المؤسس المشارك

قم بتثبيت حزمة تطوير البرامج (SDK) باستخدام معرّف سير العمل، وسيتم جلب إعدادات سير العمل من الخادم في كل عملية تحقق. يؤدي إعادة النشر إلى تغيير الخطوات والفحوصات وقواعد النسخ واتخاذ القرار لعملية التحقق التالية، دون إصدار أي تطبيق جديد.

عنوان رئيسي "التغيير يتدفق دون توقف" بجانب رسم توضيحي لسهم دائري متصل، على تدرج لوني أرجواني زاهٍ.

أهم النقاط

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

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

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

كيف SDK يحصل على تكوينه

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

يحمل كل عنصر من عناصر سير العمل مُعرّفًا واحدًا. SDK يرسلها إلى الخادم عند تحميلها:

GET /api/kyc/workflows/:workflowId
Authorization: Bearer pk_…

يتضمن الرد التكوين المنشور، وأنواع المعرفات المفعّلة لمؤسستك، والعلامة التجارية، و SDK يبني التدفق انطلاقًا من ذلك. وفقًا لوثائق سير العمل (يفتح في علامة تبويب جديدة) ، يجب أن ينتمي سير العمل إلى API يجب نشر تنظيم المفتاح وبيئته؛ وأي شيء آخر يُعيد نتيجة غير قابلة للتمييز404 workflow_not_foundو SDK يقوم بالإبلاغ عن ذلك من خلالonErrorبدلاً من تشغيل تدفق مختلف بصمت.

في تطبيق React Native، يكون التكامل الكامل كالتالي:

import { MyazaKYC } from "@myazahq/kyc-sdk-react-native";

<MyazaKYC
  apiKey="pk_live_…"
  workflowId="wf_AbC123dEf456"
  userId="user_42"
  userData={{ firstName: "Jane", lastName: "Doe" }}
  metadata={{ requestId: "order_1001" }}
  onSubmit={(submission) => console.log(submission.verificationId)}
  onError={(err) => console.error(err.code, err.message)}
>
  Verify Identity
</MyazaKYC>

تُعطى الأولوية لإعدادات سير العمل على أي خصائص متداخلة. إذا مررتَcountryويتم استخدام قيمة سير العمل عند تعيين مجموعة واحدة.

ما يمكنك تغييره بإعادة النشر

كل ما يصف التدفق بدلاً من الشخص:

  • الدول، وأنواع الهويات، وقواعد التحقق من صحة كل هوية.

  • خطوات التسجيل والإضافات: رموز الاتصال، إثبات العنوان، الـ NFC خطوة الشريحة، الاستبيانات، التقاط العناوين، معرفات متعددة في عملية واحدة.

  • طريقة التحقق من الحيوية (الإيماءات، أو تسلسل وميض الشاشة، أو كليهما).

  • العلامة التجارية، نص الموافقة، ونص النجاح.

  • سياسات مثل الحدود العمرية وكيفية التعامل مع تفاصيل الهوية التي لا تتطابق.

  • مخطط القرار (يفتح في علامة تبويب جديدة) : النتائج التي تتم الموافقة عليها، والنتائج التي تخضع للمراجعة، والنتائج التي يتم رفضها.

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

ما زال بحاجة إلى إصدار

خمسة أشياء موجودة في الكود الخاص بك أو ملفك الثنائي، ولا يمكن لأي قدر من إعادة النشر أن ينقلها.

بيانات لكل مستخدم. userId،userDataوmetadataهي قيم وقت التشغيل. سير العمل عبارة عن قالب مشترك بين جميع من يقومون بتشغيله، لذا لا يمكنه استيعابها.

ردود الاتصال وماذا يفعل تطبيقك بالنتائج. كيف تتعامل معهاonSubmit،onErrorورمز الويب الموجود في الواجهة الخلفية هو الكود الخاص بك.

SDK الإصدارات. لا يمكن لسير العمل استخدام سوى الإمكانيات المثبتة SDK يفهم. الحد الأدنى الموثق لـworkflowIdالإصدار 2.2.0 مخصص للويب SDK الإصدار 2.1.0 لـ React Native والإصدار 2.2.0 لـ Flutter. تتجاهل الإصدارات السابقة من الويب وReact Native المعرّف وتعتمد على الخصائص فقط، وهو أول ما يجب التحقق منه إذا بدا أن تضمين سير العمل لا يقوم بأي شيء.

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

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

لماذا يظل تغيير تدفقات البيانات الحية آمناً

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

المسودات منفصلة عن النسخة المنشورة. تعديل سير العمل المنشور لا يُغير سوى مسودته. تستمر عمليات التكامل في قراءة آخر نسخة منشورة حتى تقوم بالنشر مرة أخرى.

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

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

كل نتيجة قابلة للتحديد. يسجل كل تحقق معرّف سير العمل والإصدار الذي تم تشغيله، وكلاهما يظهر في روابط التحقق على الويب كـworkflowIdوworkflowVersionاحتفظ بالنسخة. بعد ستة أشهر من الآن، عندما يسأل أحدهم عن سبب الموافقة على طلب أحد المتقدمين بموجب قواعد أقل صرامة، ستخبرك النسخة بالتحديد بالقواعد التي تم تطبيقها.

أحد القيود المتعمدة: نطاق سير العمل، أي ما يتحقق منه (مثل التحقق من العنوان فقط أو إعادة التحقق من الوجه)، قابل للتعديل حتى النشر الأول ثم يُقفل، لأن عمليات التحقق والروابط تعتمد بالفعل على معنى هذا المعرّف. لتغيير النطاق، أنشئ نسخة ذات نطاق محدد، والتي تبدأ كمسودة جديدة تحت معرّف سير عمل جديد.

إحداث تغيير

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

  1. قم بإجراء التغيير في سير عمل بيئة الاختبار وقم باختبار كل مسار متأثر باستخدام معرفات الاختبار المنشورة.

  2. تأكد من أن كل فرع من فروع مخطط القرار ينتهي بحالة معينة، وأن أذونات أي خطوة جديدة موجودة بالفعل في تطبيقك المنشور.

  3. قم بتطبيق نفس التغيير على سير عمل الإنتاج وانشره.

  4. شاهد النتائج الأولى بواسطةworkflowVersion: معدلات الموافقة والمراجعة والرفض، وحجم قائمة انتظار المراجعة.

  5. إذا كان هناك خطأ ما، فاستعد الإصدار السابق من السجل وانشره.

  6. أخبر فريق الدعم الخاص بك بما تغير؛ سيلاحظ المستخدمون الخطوة الجديدة قبل أن تلاحظها لوحات المعلومات الخاصة بك.

القاعدة العامة

إذا كان الوصف يصف سير العمل، فأضفه إلى سير العمل وقم بتغييره عند النشر. أما إذا كان الوصف يصف الشخص أو الجهاز أو ما يفعله تطبيقك بالنتيجة، فمكانه في الكود ويتم تغييره مع كل إصدار. ابنِ التكامل مرة واحدة حولworkflowIdاحتفظ بـ SDK حديثة إلى حد معقول، ومعظم ما كان يُعتبر إصدارًا سابقًا أصبح منشورًا.

المصادر

تشارلز أرشيبونغ

عن الكاتب

Charles Archibong

المؤسس المشارك

شارك تشارلز أرتشيبونغ في تأسيس شركة Toden. وهو يكتب عن التحقق من الهوية، والتكنولوجيا المالية، والعمل العملي لبناء خدمات رقمية موثوقة.

  • تحديثات المنتج

    كيف تحوّل الرسوم البيانية للقرارات عمليات التحقق إلى موافقة أو مراجعة أو رفض

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

  • Developers

    تضمين SDK أو رابط مُستضاف: اختيار كيفية دمج التحقق

    قم بتضمين حزمة تطوير البرامج (SDK) عند إجراء التحقق داخل منتجك؛ وأرسل رابطًا مُستضافًا لكل مُتقدم عند إجرائه خارجه. في كلتا الحالتين، شغّل سير عمل مُعلن، بحيث يكون الخيار مُرتبطًا بالتسليم، وليس بسير العمل.

  • Identity Verification

    أين تفشل عمليات التحقق، وكيفية إصلاح كل خطوة

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

ابنِ منتجك.وسنتولى الباقي.

الهوية والامتثال من البداية إلى النهاية، وفق معايير عالمية وبأسعار تناسب المؤسسين.