إدارة المتجربوابات الدفع الالكتروني

دليل إعداد Whats360 VCash SMS Patterns: تطبيق Regex لاستخراج بيانات التحويلات المالية واختبار دقة المطابقة

إعداد Whats360 VCash SMS Patterns لاستخراج بيانات التحويلات المالية باستخدام Regex وJSON Mapping

دليل Whats360 VCash SMS Patterns: شرح Regex واستخراج بيانات التحويلات المالية وأتمتة المدفوعات

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

حوّل إشعارات التحويل إلى بيانات قابلة للمعالجة

تساعد أنماط الرسائل SMS Patterns في Whats360 VCash على تعريف قواعد لمطابقة صيغ محددة من الرسائل النصية واستخراج بيانات منها باستخدام التعبيرات النمطية Regex، ثم ربط القيم المستخرجة بحقوق بيانات من خلال إعدادات JSON Mapping.

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

استكشف لوحة SMS Patterns

هنا تظهر أهمية أنماط الرسائل (SMS Patterns) داخل ميزة المحافظ الإلكترونية Whats360 VCash. فبدلًا من التعامل مع كل رسالة باعتبارها نصًا مستقلًا، يمكن تعريف قواعد مطابقة باستخدام التعبيرات النمطية (Regular Expressions أو Regex) لاستخراج أجزاء محددة من الرسالة، ثم ربط هذه الأجزاء بحقوق بيانات مثل المبلغ ورقم العملية ورقم الهاتف من خلال إعدادات JSON Mapping.

تنبيه مهم قبل أتمتة المدفوعات

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

في هذا الدليل، سنتناول كيفية عمل SMS Patterns، وكيفية قراءة أمثلة Regex المستخدمة مع رسائل المحافظ الإلكترونية، وطريقة ربط مجموعات الالتقاط بالحقول، وخطوات إنشاء الأنماط واختبارها، وأهم أسباب فشل المطابقة، وكيفية تصميم اختبارات تقلل الأخطاء قبل الاعتماد على النتائج في سير عمل مالي.

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

ما الذي ستتعلمه من هذا الدليل؟

  • فهم وظيفة SMS Patterns والفرق بين Regex وJSON Mapping.
  • قراءة أمثلة لاستخراج المبالغ وأرقام العمليات والهواتف.
  • إنشاء نمط جديد واختباره على رسائل صحيحة وغير صحيحة.
  • تشخيص مشكلات المطابقة والحقول الخاطئة والتكرار.
  • التمييز بين تحليل الرسالة والتحقق الفعلي من المعاملة المالية.

ما هو SMS Patterns داخل Whats360 VCash؟

أنماط الرسائل (SMS Patterns) هي إعدادات تُستخدم لتعريف قواعد التعرف على صيغ محددة من الرسائل النصية واستخراج البيانات المطلوبة منها.

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

رابط الوصول إلى الواجهة

يمكن الوصول إلى لوحة إعداد الأنماط من خلال الرابط التالي:

فتح Whats360 VCash SMS Patterns

وفق وصف الواجهة المتاح، تتضمن الصفحة أدوات لإضافة الأنماط المخصصة، وتحديد مزود الخدمة ونوع الحركة، وإدخال Regex Pattern، وتكوين JSON Mapping، إلى جانب أداة للاختبار السريع وقسم للأنماط العامة.

ما المشكلة التي تحلها أنماط الرسائل؟

رسائل المحافظ الإلكترونية ليست قواعد بيانات منظمة؛ إنها نصوص مكتوبة وفق قالب تحدده الجهة المرسلة.

على سبيل المثال، قد تحتوي رسالة افتراضية على النص التالي:

تم استلام مبلغ 750 جنيه من رقم 01012345678
رقم العملية TX987654

يمكن للإنسان قراءة الرسالة وفهم أن المبلغ هو 750 جنيهًا، وأن رقم الهاتف هو 01012345678، وأن رقم العملية هو TX987654.

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

يمكن تلخيص المهمة في ثلاث مراحل:

التعرف على شكل الرسالة

تحديد الكلمات والترتيب والفواصل التي تميز نوعًا معينًا من الإشعارات.

استخراج البيانات

التقاط المبلغ ورقم العملية والحقول الأخرى المطلوبة.

ربط البيانات بمعانيها

إسناد كل قيمة إلى الحقل الصحيح، مثل amount أو tx_id.

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

ما الفرق بين الأنماط المخصصة والأنماط العامة؟

وفق وصف الواجهة المقدّم، توجد مجموعتان رئيسيتان:

  • أنماطي: الأنماط التي ينشئها المستخدم لتناسب صيغة رسالة معينة أو متطلبات تشغيلية خاصة.
  • الأنماط العامة: أنماط جاهزة توفرها المنصة لصيغ رسائل مدعومة.

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

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

ملاحظة تشغيلية

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

مكونات إعداد النمط

بحسب وصف الواجهة، تشمل عملية إنشاء النمط مجموعة من الحقول، أهمها:

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

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

هل تريد مراجعة إعدادات VCash؟

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

مراجعة لوحة الأنماط

كيف تتحول رسالة SMS إلى بيانات منظمة؟

لفهم SMS Patterns بطريقة عملية، من الضروري الفصل بين المراحل المختلفة التي تمر بها الرسالة.

استقبال الرسالة

تبدأ العملية بوصول رسالة SMS إلى بيئة استقبال الرسائل المرتبطة بسير العمل.

في سيناريو يعتمد على VCash Gateway، يجب أن تكون الرسالة متاحة للنظام الذي سيعالجها. إذا لم تصل الرسالة أصلًا إلى بيئة المعالجة، فلن يستطيع Regex تحليلها مهما كانت دقته.

وهذا يوضح الفرق بين مشكلة الاستقبال ومشكلة المطابقة:

  • إذا لم تصل الرسالة، فالمشكلة في مرحلة الاستقبال أو التشغيل.
  • إذا وصلت الرسالة ولم يتعرف عليها النمط، فالمشكلة قد تكون في صيغة الرسالة أو Regex أو شروط المطابقة.
  • إذا نجحت المطابقة لكن الحقول غير صحيحة، فالمشكلة قد تكون في مجموعات الالتقاط أو JSON Mapping.

هذا الفصل مهم عند تشخيص الأعطال؛ لأنه يمنع إضاعة الوقت في تعديل التعبير النمطي بينما المشكلة الحقيقية تقع في مرحلة أخرى.

التعرف على صيغة الرسالة

بعد إتاحة النص للنظام، يحتاج سير العمل إلى تحديد القاعدة المناسبة لتحليله.

قد تحتوي الرسائل المالية على كلمات متكررة، مثل:

  • تم استلام مبلغ.
  • تم استقبال مبلغ.
  • Received.
  • EGP.
  • رقم العملية.
  • Transaction ID.

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

استخراج الحقول باستخدام Regex

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

على سبيل المثال، يمكن استخدام النمط التالي لالتقاط قيمة مالية افتراضية:

مبلغ\s+([\d,.]+)

يتعرف هذا التعبير على كلمة «مبلغ»، ثم مسافة أو أكثر، ثم مجموعة من الأرقام أو الفواصل أو النقاط.

إذا كان النص:

تم استلام مبلغ 750.50 جنيه

فإن الجزء الملتقط سيكون:

750.50

لكن هذا لا يعني أن النظام حوّل القيمة تلقائيًا إلى رقم عشري أو تحقق من صحتها؛ ما تم هنا هو التقاط نص يطابق القاعدة فقط.

ربط البيانات بالحقول

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

على سبيل المثال، قد يكون المطلوب أن تصبح البيانات على الصورة التالية:

{
  "amount": "750.50",
  "phone": "01012345678",
  "tx_id": "TX987654"
}

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

التحقق من المعاملة

هذه المرحلة مستقلة منطقيًا عن Regex.

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

التدفق المفاهيمي

استقبال SMS ← تحديد النمط ← مطابقة Regex ← استخراج المجموعات ← JSON Mapping ← فحص البيانات ← التحقق من المعاملة ← الإجراء التشغيلي المناسب

هذا مخطط معماري توضيحي، وليس وصفًا تفصيليًا مؤكدًا لجميع المكونات الداخلية لمنصة Whats360.

مشاهدة تطبيقية على VCash

يمكن الاستفادة من الفيديو التالي للتعرف على السياق العملي لربط Vodafone Cash وأتمتة المدفوعات ضمن منظومة Whats360:

مشاهدة فيديو ربط Vodafone Cash عبر Whats360

الفيديو الأول — ربط Vodafone Cash وأتمتة استقبال المدفوعات.

تساعد مشاهدة الشرح المرتبط بالميزة على تكوين صورة عن سياق الاستخدام، بينما يظل إعداد Regex واختبار الحقول خطوة تقنية مستقلة تحتاج إلى مراجعة دقيقة.

أين تقع VCash ضمن منظومة Whats360؟

تضم منظومة Whats360 وظائف مرتبطة بإدارة واتساب والأتمتة وواجهات API وCRM. أما VCash، فيرتبط بسياق أتمتة التعامل مع إشعارات المحافظ الإلكترونية وفق الإمكانات المتاحة في الخدمة.

للتعرف على لوحة Whats360 Pro وسياق أدواتها المختلفة، يمكن مشاهدة:

شرح لوحة Whats360 Pro: الأتمتة وCRM والذكاء الاصطناعي

الفيديو الثاني — شرح لوحة Whats360 Pro.

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

هندسة Regex: كيف تقرأ التعبيرات النمطية رسائل المحافظ الإلكترونية؟

التعبيرات النمطية (Regular Expressions أو Regex) هي وسيلة لوصف أنماط النصوص باستخدام قواعد تحدد الأحرف والترتيب والتكرار والمجموعات التي نريد التقاطها.

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

المكونات الأساسية للتعبير النمطي

العنصر المعنى مثال
النص الحرفي كلمات يجب أن تظهر في الرسالة مبلغ
\d رقم وفق تعريف محرك Regex \d+
[] مجموعة من الأحرف المقبولة [\d,.]
+ تكرار العنصر السابق مرة أو أكثر \d+
* تكرار العنصر السابق صفر مرة أو أكثر \s*
\s محرف مسافة بيضاء \s+
() مجموعة التقاط في الصيغ التقليدية (\d+)
[^:] أي محرف باستثناء النقطتين الرأسيتين [^:]+
^ بداية النص أو السطر وفق وضع التشغيل ^Received
$ نهاية النص أو السطر وفق وضع التشغيل ID$

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

مثال: التقاط مبلغ مالي

لنفترض أن الرسالة تحتوي على:

تم استلام مبلغ 1,250.50 جنيه

يمكن تجربة التعبير التالي:

مبلغ\s+([\d,.]+)\s*جنيه

يتكون التعبير من أربعة أجزاء:

  • مبلغ: يبحث عن الكلمة المحددة.
  • \s+: يتطلب وجود مسافة بيضاء واحدة أو أكثر.
  • ([\d,.]+): يلتقط سلسلة تتكون من أرقام أو فواصل أو نقاط.
  • \s*جنيه: يسمح بوجود مسافات اختيارية قبل كلمة «جنيه».

القيمة التي يُتوقع التقاطها هي:

1,250.50

لكن هذا التعبير لا يتحقق من صحة تنسيق الرقم؛ إذ يمكنه التقاط بعض السلاسل غير الصالحة حسابيًا، مثل 1,,250..50. ولهذا يجب ألا نخلط بين التقاط النص والتحقق من أن النص يمثل مبلغًا صالحًا.

كذلك، إذا كانت الرسالة تستخدم كلمة «جنيه مصري» أو اختصارًا مختلفًا للعملة، فقد تحتاج القاعدة إلى التعديل.

مثال: التقاط رقم العملية

لنفترض أن النص هو:

رقم العملية TX987654

يمكن استخدام:

رقم العملية\s+([A-Za-z0-9]+)

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

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

قاعدة تصميم مهمة

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

مثال: التقاط رقم هاتف

قد تحتوي رسالة على:

من رقم 01012345678

يمكن استخدام:

من رقم\s*(\d+)

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

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

مجموعات الالتقاط المسماة والمجموعات المرقمة

تتيح Regex التقاط أجزاء من النص داخل مجموعات. بعض المحركات تدعم مجموعات مسماة مثل:

(?<amount>[\d,.]+)

وتدعم محركات أخرى صيغًا مختلفة للمجموعات المسماة. أما مجموعات الالتقاط التقليدية فتستخدم الأقواس:

مبلغ\s+([\d,.]+).*رقم العملية\s+([A-Za-z0-9]+)

في هذا المثال، تلتقط المجموعة الأولى المبلغ، وتلتقط المجموعة الثانية رقم العملية، إذا كان النص يطابق بقية التعبير.

لكن هناك تفصيلًا مهمًا: قد تعتمد آلية JSON Mapping في النظام على أرقام المجموعات أو على أسلوب مختلف لتسمية المجموعات. لذلك لا يجوز افتراض أن كل محرك يقبل الصيغة نفسها.

وإذا كانت واجهة Whats360 تعرض أمثلة تستخدم مجموعات ذات أسماء رقمية مثل (?<1>...)، فينبغي اختبار الصيغة كما هي داخل أداة الاختبار السريع. لا تُحوّلها تلقائيًا إلى صيغة أخرى قبل معرفة قواعد المحرك الذي تعتمد عليه.

تحليل نموذج فودافون كاش بالعربية

من الأمثلة الواردة في وصف الواجهة:

تم استلام مبلغ (?<1>[\d,.]+)\s*جنيه من رقم(?<3>[\d]+)\s*الرقم المسلسل (?<7>[^\s]+)\s*رقم العملية (?<2>[a-zA-Z0-9]+)

يصف هذا التعبير شكلًا متوقعًا لرسالة تتضمن مبلغًا ماليًا، ورقمًا مرتبطًا بالمحوّل، ورقمًا مسلسلًا، ورقم عملية.

يمكن قراءة أجزائه على النحو التالي:

  • تم استلام مبلغ: عبارة حرفية تشير إلى صيغة الرسالة المتوقعة.
  • (?<1>[\d,.]+): محاولة التقاط سلسلة المبلغ.
  • \s*جنيه من رقم: البحث عن العملة والعبارة التالية لها.
  • (?<3>[\d]+): التقاط سلسلة رقمية بعد عبارة «من رقم».
  • (?<7>[^\s]+): التقاط سلسلة لا تحتوي على مسافة، بعد عبارة «الرقم المسلسل».
  • (?<2>[a-zA-Z0-9]+): التقاط معرف يتكون من أحرف لاتينية وأرقام بعد عبارة «رقم العملية».

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

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

تحليل نموذج إنستا باي بالعربية

المثال الوارد:

تم استقبال مبلغ (?<1>[\d,.]+)\s*جم في حسابك من (?<3>[^:]+)\s*رقم العملية (?<2>[a-zA-Z0-9]+)

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

تسمح المجموعة (?<3>[^:]+) بالتقاط سلسلة من المحارف حتى تصل إلى النقطتين الرأسيتين أو نهاية الجزء الذي تسمح به بقية القاعدة.

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

هذه نقطة عملية مهمة: اسم الحقل لا يغير معنى البيانات التي التقطها Regex. فإذا التقط التعبير اسمًا، فلن يحوله تعيينه إلى phone إلى رقم هاتف.

تحليل نموذج فودافون كاش بالإنجليزية

المثال الوارد:

Received (?<1>[\d,.]+)\s*EGP\s*from\s*(?<3>[\d]+)\s*Txn\s*ID\s*(?<2>[a-zA-Z0-9]+)

يعتمد التعبير على كلمات إنجليزية مثل Received وEGP وTxn ID، ويتوقع وجود مبلغ ورقم بعد from ثم معرف للعملية.

إذا كانت الرسالة تحتوي على كلمة مختلفة مثل Transaction ID بدلًا من Txn ID، فقد يفشل التعبير. وإذا احتوى المبلغ على رمز العملة أو تنسيق آخر، فقد يحتاج إلى تعديل.

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

لماذا لا نستخدم تعبيرًا واحدًا لكل الرسائل؟

قد يبدو من الأسهل بناء Regex عام يبحث عن مبلغ وأي رقم طويل، لكن هذا الأسلوب يرفع احتمال التقاط قيم غير مقصودة.

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

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

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

مقارنة سريعة: التعبير العام مقابل النمط المحدد

التعبير العام: قد يلتقط أرقامًا متعددة دون أن يحدد وظيفة كل رقم بدقة.

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

JSON Mapping: تحويل مجموعات الالتقاط إلى حقول مفهومة

يحدد Regex أجزاء النص التي نريد التقاطها، بينما يحدد JSON Mapping كيفية ربط تلك الأجزاء بالحقول التي يتوقعها النظام.

يمكن فهم الفرق من خلال المثال التالي:

الرسالة:
تم استلام مبلغ 750 جنيه من رقم 01012345678
رقم العملية TX987654

لنفترض أن التعبير التقط ثلاث مجموعات:

  • المجموعة الأولى: 750
  • المجموعة الثانية: TX987654
  • المجموعة الثالثة: 01012345678

يمكن تمثيل الربط المفاهيمي هكذا:

{
  "1": "amount",
  "2": "tx_id",
  "3": "phone"
}

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

لماذا يعد ترتيب المجموعات مهمًا؟

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

قد تكون المطابقة قد نجحت تمامًا، ومع ذلك تكون النتيجة التشغيلية خاطئة.

لذلك يجب مراجعة ثلاثة أشياء بصورة مستقلة:

  • هل التقط Regex القيمة المطلوبة؟
  • هل التقط كل قيمة في المجموعة الصحيحة؟
  • هل ربط JSON Mapping كل مجموعة بالحقل الصحيح؟

لا ينبغي اعتبار نجاح الاختبار دليلًا كافيًا على صحة جميع هذه المراحل ما لم تكن نتيجة الاختبار تعرض القيم الفعلية ويمكن مقارنتها بالقيم المتوقعة.

الفرق بين القيمة النصية والقيمة الرقمية

قد يصل المبلغ على هيئة:

1,250.50

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

يجب الحذر من افتراض أن الفاصلة تعني دائمًا فاصل آلاف؛ ففي بعض التنسيقات تُستخدم الفاصلة للفصل العشري، بينما تستخدم تنسيقات أخرى النقطة.

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

أما رقم العملية ورقم الهاتف، فالأفضل غالبًا الاحتفاظ بهما كسلاسل نصية، لأنهما معرفان وليسا قيمتين لإجراء عمليات حسابية عليهما.

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

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

قد تحتوي بعض الرسائل على المبلغ ورقم العملية دون رقم هاتف، أو قد تعرض اسم المحوّل بدلًا من رقمه.

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

ولا ينبغي إنشاء قيم افتراضية تبدو حقيقية لتعويض البيانات المفقودة.

قائمة تحقق قبل حفظ JSON Mapping

  • هل رقم المجموعة يشير إلى القيمة المقصودة فعلًا؟
  • هل الحقل المستهدف مناسب لنوع القيمة؟
  • هل يمكن أن تلتقط المجموعة أكثر من معلومة؟
  • هل يمكن أن تكون القيمة فارغة أو مفقودة؟
  • هل يحتاج المبلغ إلى تطبيع قبل المقارنة؟
  • هل يجب الاحتفاظ بالرسالة الأصلية لأغراض التدقيق؟
  • هل يؤدي غياب رقم العملية إلى منع التأكيد الآلي؟

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

نصيحة هندسية

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

إنشاء SMS Pattern جديد واختباره داخل Whats360

يجب أن تبدأ عملية إنشاء النمط من رسالة فعلية، لا من تخمين صيغة الإشعار.

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

https://whats360.live/user/vcash/patterns

مراجعة الأنماط المتاحة

تحقق مما إذا كان هناك نمط عام مناسب لصيغة الرسالة التي تريد معالجتها قبل إنشاء قاعدة جديدة.

جمع أمثلة للرسائل

اجمع أمثلة متنوعة من النوع نفسه بعد إخفاء البيانات الشخصية أو المالية غير الضرورية.

تحديد الحقول المطلوبة

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

إدخال بيانات النمط

بحسب وصف الواجهة، افتح نموذج الإضافة من زر «+ إضافة»، ثم أدخل اسم النمط، ومزود الخدمة، ونوع الحركة، والتعبير النمطي، وJSON Mapping، واسم المرسل المتوقع، ومثال الرسالة.

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

اختبار التعبير

استخدم أداة الاختبار السريع الموصوفة في الواجهة، وأدخل اسم المرسل ونص الرسالة الفعلي.

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

لا يكفي ظهور نجاح المطابقة إذا لم تكن قادرًا على التحقق من أن كل مجموعة التقطت القيمة الصحيحة.

اختبار الحالات السلبية

اختبر رسائل لا ينبغي أن تُقبل، مثل رسالة لا تحتوي على رقم العملية المطلوب، أو رسالة غير مالية تشترك مع النمط في بعض الكلمات.

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

مراجعة الربط ثم الحفظ

بعد التأكد من صحة المطابقة والحقول، راجع JSON Mapping واحفظ النمط إذا كانت النتائج متوافقة مع متطلباتك.

هذه الخطوات تمثل منهجية اختبار موصى بها، ولا تعني أن واجهة الاختبار تعرض جميع تفاصيل التشخيص المذكورة هنا تلقائيًا.

قبل اعتماد النمط في التشغيل

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

الانتقال إلى إعداد الأنماط

تحليل الأعطال: لماذا يفشل Regex رغم أن الرسالة تبدو صحيحة؟

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

اختلاف اسم المرسل

إذا كان النمط مرتبطًا باسم مرسل محدد، فقد يؤدي اختلاف الاسم إلى عدم تطبيق القاعدة على الرسالة.

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

ابدأ بمراجعة اسم المرسل الفعلي كما وصل إلى النظام، ولا تفترض أن اسم العلامة التجارية هو نفسه الاسم الظاهر في كل رسالة.

اختلاف المسافات

هناك فرق بين:

\s+

وبين:

\s*

الأول يشترط وجود مسافة بيضاء واحدة أو أكثر، بينما يسمح الثاني بعدم وجود مسافة أو وجود مسافات متعددة.

قد يكون استخدام \s* مناسبًا في موضع تتغير فيه المسافات، لكنه ليس حلًا عامًا لكل مشكلة؛ فالتساهل الزائد قد يسمح بمطابقة نصوص غير مقصودة.

كذلك لا تفترض أن المسافة البيضاء تعني المسافة العادية فقط؛ إذ قد تختلف المحارف الفعلية بين النصوص المنسوخة والرسائل المستلمة.

اختلاف ترتيب الجمل

إذا كانت إحدى الرسائل تقول:

تم استلام مبلغ 750 جنيه من رقم 01012345678

بينما تستخدم رسالة أخرى ترتيبًا مختلفًا للمعلومات، فقد يفشل التعبير الذي يعتمد على التسلسل الحرفي للجملة الأولى.

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

مشكلة تنسيق المبلغ

التعبير:

[\d,.]+

يسمح بالتقاط الأرقام والفواصل والنقاط، لكنه لا يتحقق من صحة ترتيب هذه الرموز.

يمكن أن يلتقط مثلًا:

1,,250..50

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

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

الأرقام العربية والأرقام اللاتينية

قد تظهر الأرقام بصيغ مختلفة، مثل:

123456

أو:

١٢٣٤٥٦

يعتمد سلوك \d على محرك Regex وخياراته، ولذلك يجب اختبار كلا الشكلين إذا كانت الرسائل قد تحتوي عليهما.

إذا كان المحرك لا يتعرف على الصيغة المطلوبة، فيمكن تقييم دعم نطاقات Unicode المناسبة أو تطبيع الأرقام قبل المطابقة، بشرط أن تسمح بيئة التشغيل بذلك وألا يؤدي التطبيع إلى تغيير بيانات مهمة.

مشكلة مجموعة الالتقاط

قد ينجح Regex في المطابقة لكنه يلتقط نصًا أطول أو أقصر من المطلوب.

على سبيل المثال، قد تلتقط المجموعة الثالثة اسم المحوّل مع نص إضافي، ثم يربط JSON Mapping هذه المجموعة بالحقل phone.

هنا ليست المشكلة بالضرورة في JSON، بل في تعريف المجموعة أو افتراض معناها.

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

طريقة عملية لتشخيص الفشل

  1. تأكد من وصول الرسالة إلى بيئة المعالجة.
  2. راجع اسم المرسل وشروط اختيار النمط.
  3. قارن نص الرسالة الفعلي بالنص المتوقع.
  4. اختبر التعبير النمطي على النص وحده.
  5. راجع قيم مجموعات الالتقاط.
  6. افحص JSON Mapping.
  7. اختبر الرسائل الصحيحة والخاطئة.
  8. وثق التعديل وكرر الاختبارات.

هذا الترتيب يمنع الخلط بين أخطاء الاستقبال وأخطاء المطابقة وأخطاء تفسير البيانات.

تحذير: لا توسّع Regex لمجرد تجاوز الخطأ

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

بناء Test Matrix قبل تشغيل الأتمتة

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

الاختبار الحالة معيار القبول المقترح
الرسالة الأساسية جميع الحقول المطلوبة موجودة استخراج القيم المتوقعة
اختلاف المسافات زيادة أو نقص المسافات في مواضع مسموحة مطابقة وفق القاعدة المقصودة
مبلغ بفواصل مثل 1,250.50 التقاط القيمة كاملة
غياب رقم العملية الرسالة لا تحتوي على المعرف المطلوب رفضها أو إحالتها إلى مسار مراجعة
اسم مرسل مختلف رسالة من مصدر غير متوقع عدم قبولها دون تحقق
رسالة غير مالية مشابهة كلمات متشابهة دون معاملة فعلية عدم اعتبارها تحويلًا صحيحًا
تكرار رقم العملية إعادة معالجة إشعار سابق عدم تكرار الإجراء المالي
اختلاف اللغة رسالة بصيغة أخرى مطابقة النمط المخصص المناسب أو رفضها
رقم هاتف بصيغة مختلفة اختلاف في تنسيق الهاتف معالجة واضحة وفق قواعد محددة
قيمة مبلغ غير صالحة سلسلة أرقام وفواصل غير منطقية عدم تمريرها باعتبارها مبلغًا صالحًا

هذه معايير اختبار مقترحة وليست وصفًا مؤكدًا لما تعرضه لوحة Whats360 في نتيجة الاختبار.

ما المقصود بالمطابقة الخاطئة؟

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

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

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

ماذا عن التكرار؟

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

إذا كان النظام سيستخدم البيانات المستخرجة لتغيير حالة طلب أو تسجيل عملية مالية، فمن المهم تقييم آلية منع التكرار (Idempotency) أو أي ضابط مكافئ متاح.

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

أفضل ممارسة للاختبار

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

من تحليل الرسالة إلى تأكيد المعاملة: أين تقع حدود Regex؟

هذه هي النقطة الأكثر أهمية في أي مشروع يعتمد على إشعارات SMS ضمن عمليات مالية.

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

لا تساوِ بين استخراج البيانات وإثبات الدفع

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

أربع مراحل يجب الفصل بينها

استقبال النص

هل وصلت الرسالة إلى بيئة المعالجة؟

استخراج البيانات

هل التقط Regex المبلغ ورقم العملية والحقول المطلوبة بدقة؟

فحص الاتساق

هل المبلغ مناسب للطلب؟ وهل نوع الحركة هو الاستلام؟

التحقق من المعاملة

هل توجد آلية موثوقة للتحقق من وصول الأموال أو صحة الإشعار؟

لا ينبغي دمج هذه المراحل في خطوة واحدة؛ لأن كل مرحلة تعالج نوعًا مختلفًا من الأخطاء.

ضوابط عملية موصى بها

عند تصميم سير عمل مالي، يمكن تقييم الضوابط التالية بحسب طبيعة النظام:

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

هذه توصيات هندسية عامة، ولا تعني أن جميع هذه الضوابط مدمجة تلقائيًا في Whats360 VCash.

مثال على قرار آمن

لنفترض أن النظام استخرج مبلغًا قدره 750 جنيهًا ورقم عملية من رسالة مطابقة.

قبل تغيير حالة الطلب إلى «مدفوع»، يمكن أن يتحقق سير العمل من أن:

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

إذا غابت معلومات ضرورية، فلا ينبغي تعويضها بالتخمين. يمكن بدلًا من ذلك تعليق الإجراء الآلي لحين استكمال البيانات.

لماذا لا ينبغي الاعتماد على لقطة الشاشة أو نص الرسالة وحده في جميع الحالات؟

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

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

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

هل يمكن استخدام SMS Patterns مع بنوك ومحافظ خارج مصر؟

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

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

ما الذي يتغير بين مزود وآخر؟

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

لذلك لا يكفي أخذ Regex خاص بفودافون كاش واستبدال اسم العملة به لتكوين نمط صالح لبنك آخر.

مثال على التكيف مع صيغة مختلفة

لنفترض أن رسالة افتراضية تستخدم النص:

Payment received: AED 250.00
Reference: AB12345

يمكن بناء تعبير مبدئي يبحث عن المبلغ بعد AED وعن المعرف بعد Reference.

لكن يجب اختبار:

  • هل يمكن أن تظهر العملة قبل المبلغ أو بعده؟
  • هل تستخدم الرسالة فاصلة عشرية مختلفة؟
  • هل المعرف يحتوي على شرطات؟
  • هل يمكن أن يظهر رقم مرجعي آخر في الرسالة؟
  • هل الرسالة تخص استلامًا فعلًا أم مجرد إشعار بعملية معلقة؟

هذه الأسئلة تحدد جودة النمط أكثر من مجرد قدرته على مطابقة مثال واحد.

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

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

يمكن أن تكون فكرة Regex قابلة للتطبيق في سياقات متعددة، لكن التوافق الفعلي مع مزود معين يحتاج إلى اختبار وتحقق مستقلين.

لذلك، لا ينبغي وصف SMS Patterns بأنها متوافقة تلقائيًا مع جميع البنوك والمحافظ في العالم دون أدلة تشغيلية لكل حالة.

خلاصة التوافق

قابلية كتابة Regex لصيغة جديدة لا تثبت أن الرسائل ستصل إلى بيئة المعالجة أو أن جميع حقول المعاملة ستكون متاحة. يجب التحقق من الاستقبال والصيغة والحقول ودعم بيئة التشغيل لكل مزود على حدة.

دور VCash Gateway: استقبال الرسالة ليس هو تحليلها

يجب التعامل مع VCash Gateway وSMS Patterns باعتبارهما مفهومين مختلفين في التدفق التشغيلي الموصوف.

  • بيئة استقبال الرسائل: تتيح وصول الرسالة إلى النظام الذي سيعالجها.
  • SMS Patterns: تصف قواعد تحليل النص والتقاط الحقول المطلوبة منه.

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

هذا التمييز يساعد في تحديد موضع العطل بدلًا من تغيير إعدادات متعددة دون معرفة السبب.

للتعرف على السياق التشغيلي المرتبط بـVCash Gateway، يمكن مشاهدة الفيديو التالي:

حل مشكلة حظر جوجل بلاي لتطبيق VCash Gateway | أتمتة Whats360

الفيديو الثالث — VCash Gateway وسياق تشغيل استقبال الرسائل.

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

كيف تحدد موضع المشكلة؟

ما الذي حدث؟ موضع الفحص الأول
الرسالة لم تصل إلى بيئة المعالجة الاستقبال والاتصال وبيئة التشغيل
الرسالة وصلت لكن لم تتم المطابقة اسم المرسل وشروط الاختيار وRegex
المطابقة نجحت لكن الحقول خاطئة مجموعات الالتقاط وJSON Mapping
الحقول صحيحة لكن الطلب لم يتحدث قواعد المعالجة اللاحقة والتحقق
الطلب تغير أكثر من مرة منطق منع التكرار
الرسالة غير المعتادة عوملت كتحويل شروط المطابقة وضوابط التحقق

هذا الجدول إطار تشخيص عام؛ ويجب مواءمته مع سجلات النظام والوظائف المتاحة فعليًا.

متى يكون SMS Patterns مناسبًا، ومتى تحتاج إلى حل آخر؟

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

رسالة تحتوي على بيانات واضحة

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

الرسالة لا تحتوي على معرف كافٍ

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

لا توجد رسائل SMS

إذا كان مزود الخدمة لا يرسل إشعارات SMS تحتوي على تفاصيل المعاملة، فلا يمكن الاعتماد على SMS Patterns وحده للحصول على البيانات المفقودة.

الحاجة إلى تحقق أعلى

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

إطار قرار سريع

  1. هل تصل رسالة SMS فعلية؟
  2. هل تحتوي على الحقول المطلوبة؟
  3. هل يمكن مطابقة الصيغة بصورة متكررة؟
  4. هل يمكن التحقق من صحة الحقول المستخرجة؟
  5. هل يوجد ضابط مناسب لمنع التكرار؟
  6. هل مستوى التحقق مناسب لقيمة المعاملة ومخاطرها؟

إذا كانت الإجابة عن سؤال أساسي بالنفي، فالأفضل معالجة الفجوة قبل تفعيل الإجراء الآلي.

قيّم احتياجك قبل توسيع الأتمتة

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

استفسر عن إمكانات VCash

أفضل الممارسات لإدارة أنماط الرسائل على المدى الطويل

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

احتفظ بأمثلة مرجعية

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

وثق سبب كل تعديل

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

لا توسع النمط دون داعٍ

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

راقب التغيرات في صيغة الرسائل

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

افصل بين الاختبار والتشغيل

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

راعِ الخصوصية

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

قائمة مراجعة تشغيلية

  • وجود أمثلة مرجعية للرسائل المقبولة والمرفوضة.
  • تسجيل التعديلات التي تؤثر في Regex أو JSON Mapping.
  • إعادة الاختبار بعد أي تغيير في صيغة الرسالة.
  • مراجعة صلاحية الحقول قبل اتخاذ قرار مالي.
  • تقليل تخزين البيانات الشخصية إلى القدر اللازم.

الأسئلة الشائعة حول Whats360 VCash SMS Patterns

ما هو SMS Patterns في Whats360 VCash؟

هو قسم لإعداد قواعد Regex التي تُستخدم لمطابقة صيغ معينة من الرسائل النصية واستخراج بيانات منها، مع ربط مجموعات الالتقاط بالحقول من خلال JSON Mapping وفق إعدادات النظام.

ما الفرق بين Regex Pattern وJSON Mapping؟

Regex Pattern يحدد أجزاء النص المطلوب التقاطها، بينما JSON Mapping يحدد الحقل المرتبط بكل مجموعة. قد تنجح المطابقة مع وجود خطأ في ربط الحقول، ولذلك يجب اختبار المرحلتين.

كيف أضيف نمطًا مخصصًا لفودافون كاش؟

ابدأ بمراجعة الأنماط المتاحة، ثم افتح صفحة الأنماط، واستخدم نموذج الإضافة إذا كان النمط المخصص مطلوبًا. حدد مزود الخدمة ونوع الحركة، واكتب التعبير النمطي وJSON Mapping، ثم اختبرهما باستخدام رسائل فعلية بعد إخفاء البيانات الحساسة.

لماذا يفشل Regex رغم أن نص الرسالة يبدو صحيحًا؟

قد يكون السبب اختلاف اسم المرسل، أو المسافات، أو ترتيب الجمل، أو تنسيق المبلغ، أو عدم توافق صيغة التعبير مع محرك Regex. وقد تكون المطابقة قد نجحت لكن JSON Mapping غير صحيح.

هل يمكن استخدام الأنماط مع بنك أو محفظة خارج مصر؟

يمكن تصميم Regex لصيغ رسائل متعددة، لكن التوافق الفعلي يتطلب اختبار صيغة الرسالة والتحقق من توافر استقبالها والحقول المطلوبة ودعم بيئة التشغيل.

هل يكفي Regex لتأكيد وصول الأموال؟

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

هل يمكن استخراج رقم الهاتف من كل رسالة؟

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

كيف أتعامل مع اختلاف تنسيق المبلغ؟

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

كيف أختبر المطابقات الخاطئة؟

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

ماذا أفعل إذا لم تصل الرسالة إلى النظام؟

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

متى أحتاج إلى API أو Webhook بدلًا من SMS؟

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

مقالات ذات صلة

يمكنك البحث داخل موقع Affiegy عن موضوعات مرتبطة بالتعبيرات النمطية، وأتمتة المدفوعات، واستخراج البيانات من الرسائل النصية:

استكشف إعدادات Whats360 VCash

إذا كنت تريد مراجعة خيارات إعداد أنماط الرسائل المتاحة، فابدأ من لوحة SMS Patterns. افحص الأنماط الموجودة، وحدد صيغة الرسالة والحقول التي تحتاج إليها، ثم اختبر Regex وJSON Mapping قبل الاعتماد على البيانات في أي إجراء تشغيلي.

الخاتمة: من قراءة الرسائل إلى أتمتة مالية أكثر انضباطًا

تمثل أنماط الرسائل SMS Patterns طبقة مهمة لفهم كيفية تحويل إشعارات المحافظ الإلكترونية من نصوص عادية إلى بيانات قابلة للاستخدام البرمجي. ومن خلال Regex يمكن وصف صيغ الرسائل والتقاط المبلغ ورقم العملية والحقول الأخرى، بينما يحدد JSON Mapping كيفية ربط القيم المستخرجة بمعانيها داخل سير العمل.

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

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

ابدأ من صيغة الرسالة، وليس من التخمين

افهم شكل الإشعار، واضبط Regex وJSON Mapping، واختبر الحالات المقبولة والمرفوضة. لا تنتقل إلى الأتمتة المالية قبل تحديد آلية مناسبة للتحقق من صحة البيانات والمعاملات.

استكشف لوحة SMS Patterns

الكلمات المفتاحية

Whats360 VCash، SMS Patterns، Regex، Regular Expressions، JSON Mapping، أتمتة المدفوعات، استخراج بيانات SMS، رسائل المحافظ الإلكترونية، فودافون كاش، إنستا باي، VCash Gateway، تحليل الرسائل النصية، مطابقة رسائل التحويل، رقم العملية، استخراج المبلغ، معالجة إشعارات الدفع، أتمتة المعاملات المالية، اختبار Regex، أنماط الرسائل المخصصة، التحقق من المعاملات المالية.

الأسئلة الشائعة التي يجيب عنها المقال

ما وظيفة SMS Patterns في Whats360 VCash؟

تعريف قواعد لمطابقة صيغ محددة من الرسائل النصية واستخراج بيانات منها باستخدام Regex، ثم ربط مجموعات الالتقاط بالحقول من خلال JSON Mapping وفق إعدادات النظام.

كيف يختلف Regex عن JSON Mapping؟

يحدد Regex الأجزاء التي ينبغي التقاطها من النص، بينما يربط JSON Mapping مجموعات الالتقاط بالحقول التي تمثل معاني البيانات المستخرجة.

كيف أختبر نمط الرسالة قبل استخدامه؟

استخدم أمثلة فعلية بعد إخفاء البيانات الحساسة، واختبر الرسائل الصحيحة والناقصة وغير المالية، ثم راجع مجموعات الالتقاط وJSON Mapping قبل اعتماد النمط.

هل نجاح المطابقة يعني أن التحويل وصل؟

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

هل يمكن تكييف Regex مع مزود مالي آخر؟

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

ما أسباب فشل Regex الأكثر شيوعًا؟

اختلاف اسم المرسل أو المسافات أو ترتيب الجمل أو تنسيق المبلغ، وعدم توافق صيغة التعبير مع محرك Regex، أو وجود خطأ في مجموعات الالتقاط أو JSON Mapping.

كيف يمكن تقليل مخاطر تكرار معالجة المعاملة؟

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

للاطلاع على إعدادات الأنماط المتاحة ومراجعة الخيارات داخل حسابك، انتقل إلى لوحة Whats360 VCash SMS Patterns.

ابدأ بفهم صيغة الرسالة، ثم اضبط Regex وJSON Mapping، ولا تنتقل إلى الأتمتة المالية قبل تحديد آلية مناسبة للتحقق من صحة البيانات والمعاملات.

تطبيقات عملية متقدمة لـ VCash SMS Patterns: إعداد Regex واستخراج بيانات التحويلات

تتطلب معالجة إشعارات التحويل المالي أكثر من مجرد العثور على مبلغ داخل رسالة SMS؛ إذ يجب تحديد الحقول المطلوبة، وربط مجموعات الالتقاط بمفاتيح واضحة، واختبار الأنماط على رسائل مختلفة، ثم مراجعة النتائج قبل الاعتماد عليها في أي إجراء مالي. يساعد هذا الإطار على فهم العلاقة بين Regex وJSON Mapping واستخراج رقم العملية وبيانات المرسل، مع الفصل بين تحليل نص الرسالة والتحقق الفعلي من وصول الأموال.

ما القيمة العملية من إعداد أنماط الرسائل؟

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

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

الفرق بين Regex وJSON Mapping في معالجة SMS

يؤدي كل من Regex وJSON Mapping وظيفة مختلفة ضمن عملية استخراج البيانات. يستخدم التعبير النمطي لتحديد أجزاء معينة من نص الرسالة والتقاطها، بينما يحدد الربط كيفية تسمية القيم المستخرجة أو إسنادها إلى الحقول المستهدفة وفق آلية النظام المستخدم.

العنصر وظيفته مثال الاستخدام
Regex مطابقة نمط داخل نص الرسالة والتقاط الأجزاء المطلوبة. التقاط مبلغ التحويل أو رقم العملية.
JSON Mapping ربط القيم المستخرجة بأسماء الحقول المناسبة. ربط مجموعة الالتقاط الأولى بحقل amount في المثال التوضيحي.
التحقق المالي مراجعة مدى صحة المعاملة بالاعتماد على مصدر تحقق مناسب. التأكد من وصول المبلغ وعدم تكرار معالجة رقم العملية.
تنبيه تقني مهم

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

مثال توضيحي على تنظيم الحقول المستخرجة

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

{
  "amount": "750.00",
  "tx_id": "TX123456",
  "phone": "01000000000"
}

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

نصيحة عملية

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

اختبار الأنماط واكتشاف أخطاء المطابقة

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

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

كيف تختار بين تحليل SMS واستخدام API أو Webhook؟

يعتمد الاختيار على مصدر البيانات المتاح، وشكل الرسائل، ومستوى التحقق المطلوب، وطريقة ربط المعلومات بالنظام المستهدف. لا يكفي وجود Regex أو Webhook وحده للحكم على صحة التحويل؛ فكل آلية تؤدي دورًا مختلفًا، ويجب التحقق من تفاصيل التنفيذ المتاحة قبل اختيار المسار.

  • تحليل SMS: مناسب لاستخراج معلومات محددة من نصوص الرسائل عندما تكون الرسائل متاحة وتنسيقاتها مفهومة.
  • API: يُبحث هذا الخيار عندما يحتاج النظام إلى تكامل برمجي، بشرط التحقق من توفر الواجهة المناسبة وطبيعة البيانات التي تتيحها.
  • Webhook: قد يناسب تمرير الأحداث أو البيانات بين الأنظمة إذا كانت آلية الإرسال والاستقبال مدعومة ومهيأة لهذا الغرض.
  • التحقق المالي المستقل: ضروري عندما يكون القرار النهائي هو تأكيد وصول الأموال، وليس مجرد استخراج نص إشعار.

مصادر مباشرة لمتابعة إعدادات VCash

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

صفحة إعداد SMS Patterns

الرجوع إلى صفحة إعداد أنماط الرسائل داخل قسم VCash.

https://whats360.live/user/vcash/patterns

الموقع الرسمي

الاطلاع على المعلومات العامة الخاصة بالمنصة.

https://whats360.live

شرح أتمتة Vodafone Cash

مادة مرئية مرتبطة بأتمتة Vodafone Cash.

مشاهدة شرح أتمتة Vodafone Cash

شرح لوحة تحكم Whats360 Pro

الرجوع إلى الفيديو المرتبط بلوحة التحكم.

مشاهدة شرح لوحة التحكم

شرح مشكلة VCash Gateway على متجر Play

فيديو مرتبط بمشكلة VCash Gateway المشار إليها في المصدر.

مشاهدة شرح مشكلة VCash Gateway

أسئلة إضافية حول تطبيق SMS Patterns

هل يمكن استخدام Regex نفسه مع رسائل Vodafone Cash وInstaPay؟

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

لماذا قد يستخرج Regex مبلغًا صحيحًا لكنه يلتقط رقم العملية الخطأ؟

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

هل تكفي مطابقة المبلغ ورقم العملية لاعتماد الدفع تلقائيًا؟

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

ما الذي ينبغي فعله إذا لم تصل رسالة التحويل أصلًا؟

الإجابة: إذا لم تصل الرسالة، فلن يتمكن Regex من استخراج بيانات منها. يجب تشخيص مرحلة استقبال الرسالة أولًا، ثم فحص المطابقة والاستخراج إذا أصبحت الرسالة متاحة. غياب الرسالة ومشكلة مطابقة النص حالتان مختلفتان وتتطلبان مسارين مختلفين للتشخيص.

كيف يمكن تقليل معالجة التحويل نفسه أكثر من مرة؟

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

هل تحتاج إلى مراجعة إعدادات أنماط الرسائل؟

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

للاستفسار عن إعدادات VCash أو تشخيص مشكلة في المطابقة، يمكنك التواصل عبر WhatsApp مع توضيح المشكلة والمرحلة التي يظهر فيها الخطأ.

الاستفسار عن أخطاء المطابقة
الاستفسار عن إعدادات VCash

لا ترسل كلمات مرور أو مفاتيح API أو بيانات مالية حساسة ضمن طلب الاستفسار.

مصطلحات تقنية مرتبطة بهذا القسم

Whats360 VCash SMS Patterns، Regex Matching، JSON Mapping، SMS Parsing، Transaction ID، Payment Verification، False Positives، Duplicate Transaction Handling، API Integration، Webhooks.

اترك تعليقاً

زر الذهاب إلى الأعلى