اختبار قالب SMS بعد تخصيص الاسم والرابط يعني قياس النص الذي سينتج بعد استبدال الحقول، لا قياس الأقواس وأسماء المتغيرات في القالب. يمكن أن ينتج القالب نفسه نصوصًا مختلفة الطول، فتختلف الأجزاء المقدرة والتكلفة. نختبر هنا أربعة نصوص مؤلفة محليًا، من دون إرسال أي رسالة أو استخدام بيانات عملاء. الأعداد والأسعار نموذج للتوضيح، وليست فاتورة فعلية أو محاكاة مؤكدة لترميز مزود بعينه.
الخلاصة السريعة
استبدل المتغيرات أولًا، ثم احفظ النص الكامل وقِسه بوحدة معلنة. طبق قواعد المزود والمسار المتحققة، واجمع النتائج لكل حالة بدل ضرب عدد المستلمين في تكلفة رسالة مفترضة واحدة.
- افصل القالب عن النصوص النهائية والبيانات الفعلية عن عينات الاختبار. في المثال، القالب 49 وحدة، لكن النصوص بعد الاستبدال 63 و103 و64 و134 وحدة.
- حدد طريقة العد، واحتفظ بالمسافات والترقيم والنص كما سيتكون. مثالنا يقيس وحدات UTF-16، وجميع رموزه ضمن المجال الأساسي؛ ليس عد كلمات أو اختبارًا لكل رموز الرسائل.
- راجع قواعد المزود بدل تعميم رقم واحد. دليل يونيفونك المنشور يذكر سعة 70 للمفرد و67 للجزء العربي المتعدد، بينما ملحق كوربت المنشور يذكر 65 للمتعدد. نستخدم هذه القيم كنماذج معلنة، لا كتأكيد فوترة. [1] [2]
- اختبر الاسم الطويل والرابط الطويل والقيمة المفقودة وحالة قريبة من الحد. النص الرابع في المثال يحتاج جزأين في النموذج الأول وثلاثة في الثاني؛ هذا اختلاف حسابي لا اختبار إرسال.
- اجمع الأجزاء لا عدد الحالات فقط. نموذجنا الأول يعطي 6 أجزاء لأربع حالات؛ بسعر مؤلف 0.07 وحدة نقدية للجزء يكون التقدير 0.42، دون رسوم أو ضرائب.
- اختصر ما يمكن اختصاره دون تغيير المعنى أو الرابط المقصود. راجع النص بعد كل تغيير، ولا تستعمل بيانات عملاء حقيقية في أداة لا تعرف أين تعالجها أو تحفظها.
- وثق النسخة والإعدادات وحالة المراجعة، ثم تحقق في نظام المزود قبل الاعتماد. التقدير المحلي لا يثبت وصول الرسالة أو فاتورتها أو أثر الحملة في المبيعات.
1. افصل القالب عن رسالة كل حالة
القالب يحتوي نصًا ثابتًا وحقولًا تستبدل لاحقًا، مثل الاسم ورقم الطلب والرابط. عندما تقيس القالب كما هو، فأنت تقيس رموز الحقول أيضًا، لا القيم التي ستحل محلها. إذا كتب المصمم اسم المتغير مختصرًا، لا يعني ذلك أن كل قيمة فعلية ستكون قصيرة. لذلك اجعل أول سؤال في المراجعة: أي نص نقيس؟ القالب قبل التخصيص، أم النص الناتج لحالة محددة، أم نسخة عدلها نظام الإرسال بعد ذلك؟
استخدم نسخة ثابتة للقالب أثناء الاختبار وامنحها مرجعًا، حتى تعرف أن الفروق بين الحالات جاءت من البيانات لا من تغيير النص بين تجربة وأخرى. سجل الحقول المطلوبة ومعنى كل حقل ومصدره المتوقع. لا تكتف بكتابة «رابط» إذا كان النظام قد يستخدم رابطًا للمنتج أو الطلب أو صفحة أخرى؛ لكل منها نص ومعنى مختلفان. فهم الحقل يساعد على اختبار الطول والمحتوى معًا بدل التعامل مع القيم كحروف بلا وظيفة.
في المقال نستخدم بيانات مؤلفة وروابط توضيحية غير مخصصة للاستخدام، ولا نرسل شيئًا إلى مستلمين. لا يمثل القالب اعتمادًا لنص تجاري أو تحققًا من إعداد منصة. هدفه أن ترى كيف يتغير النص عند الاستبدال، وكيف تسجل النتيجة وتحسبها ضمن نموذج محدد. إذا أردت استعمال المنهج في عمل حقيقي، ابدأ بالقالب والبيانات المصرح بمراجعتها وإعدادات الخدمة الفعلية بدل نقل المثال التعليمي كما هو.
2. جهز حالات مختلفة بدل اسم واحد
اكتب حالات اختبار تغطي اختلافات تتوقعها في حقولك: قيمة قصيرة، وقيمة أطول، وحقل مفقود، ورابط له مسار أطول. لا تحتاج إلى اختراع معلومات عن جمهورك أو الادعاء أن العينة تمثل العملاء. سمها حالات مؤلفة إذا كانت كذلك. وإذا راجعت بيانات فعلية بصلاحية مناسبة، وضح نطاقها وحدودها دون نقلها إلى المقال أو مشاركتها خارج العمل لمجرد أنك تريد إثبات أن الاختبار واقعي.
لا تختبر أقصر اسم وأسهل رابط فقط ثم تعتمد النتيجة للقائمة كلها. وفي المقابل، لا تستخدم حالة قصوى مؤلفة بوصفها معدلًا واقعيًا للحملة. يمكن أن تكون مفيدة لكشف ما قد يحدث للنظام عند قيمة طويلة، لكنها لا تحدد عدد من يحملون تلك القيمة. افصل اختبار السلوك عن تقدير الحجم: الأول يسأل كيف يتكون النص، والثاني يحتاج إلى توزيع الحالات في البيانات التي يسمح لك بمراجعتها.
ضع لكل حالة مرجعًا واسمًا ورقم طلب ورابطًا مستقلًا، ثم احفظ القيم التي استخدمتها. هذا يجعل إعادة الحساب ممكنة عند تغيير القالب. لا تكتب طولًا مقدرًا من النظر إلى الاسم أو إلى عنوان صفحة الرابط؛ استخدم النص الذي سيدخل الحقل فعلًا. إذا كان نظام آخر يضيف بيانات أو يعدل الرابط، سجل هذه الخطوة وما إذا اختبرتها، ولا تعتبر القيمة التي كتبتها يدويًا مطابقة للنص النهائي بلا تحقق.
3. عرّف وحدة العد التي اخترتها
قياس نص الرسالة بعد استبدال المتغيرات يحتاج إلى وحدة واضحة. عدد الكلمات ليس عدد وحدات النص، والعد الذي يستبعد المسافات لا يصف النسخة الكاملة التي نختبرها هنا. اكتب اسم المقياس وطريقته، وراجع هل يطابق ما تتوقعه من أداة المزود. إذا ظهرت نتائج مختلفة بين أداتين، ابدأ بتعريف المقياسين والنص المدخل قبل الجزم أن أحدهما معطل أو أن الفاتورة يجب أن تتبع الرقم الذي تفضله.
في اختبارنا المحلي حسبنا طول النص بترميز UTF-16 ذي ترتيب بايتات كبير، ثم قسمنا عدد البايتات على اثنين. جميع المحارف المستخدمة في الحالات الأربعة ضمن المجال الأساسي، ولم نضف رموزًا خارجه أو صورًا تعبيرية. هذه طريقة معلنة لحساب مدخلات المثال وليست محاكيًا لترميز خدمة إرسال. يمكنك إعادة النتيجة من النصوص نفسها، لكن عليك التحقق من طريقة المزود الفعلية قبل اعتبارها مقياس فوترة.
احتفظ بالمسافات والترقيم وعلامة التشكيل الموجودة في الكلمة الأولى كما وردت في القالب. لم ننشئ نسخة أخرى تحذفها كي تبدو النتيجة أقصر. إذا عدلت النص، سجل النسخة الجديدة وأعد الاختبار بدل نقل رقم سابق إليها. لا تجعل تصحيحًا لغويًا أو تنسيقًا صغيرًا خارج سجل المراجعة؛ فهدفنا أن يبقى العدد مرتبطًا بالنص المحدد الذي حسبناه، لا بوصف عام لرسالة تشبهه في المعنى.
4. افصل المعاينة البصرية عن النص الكامل
قد تعرض لك المعاينة جزءًا من رابط طويل أو تختصره بصريًا، بينما تحتاج عملية العد إلى النص الكامل الذي كونته. في اختبارنا احتفظنا بالسلسلة النصية كما نتجت من الاستبدال، ولم نستنتج طول الرابط من عدد الحروف الظاهرة في بطاقة صغيرة. افتح نسخة تسمح بقراءة المدخل عند المراجعة، وحدد ما إذا كنت ترى عرضًا مختصرًا أو قيمة كاملة. لا تنقل رقمًا من لقطة شاشة إذا لم تعرف ما يخفيه العرض.
إذا كانت منصتك تقصر الروابط أو تضيف تتبعًا أو ملحقًا للنص، اسأل في أي مرحلة يحدث ذلك وما النسخة التي تدخل حساب الأجزاء. لا يفترض المقال سلوكًا واحدًا لجميع الأنظمة، ولا ينفذ تغييرًا في روابط العملاء. يجب أن يكون هدف الاختبار النص الذي سيستخدم وفق الإعدادات المعتمدة، مع تسجيل ما تعرفه وما بقي يحتاج إلى فحص. القالب الذي يبدو قصيرًا قبل التحويل ليس دليلًا على طول المخرج بعد كل خطوة.
راجع أيضًا أن الاستبدال لم يترك حقلًا على هيئة أقواس أو اسم متغير. قد يكون عدد النص منخفضًا لأن البيانات لم تدخل أصلًا، لا لأن القالب جيد. اجعل فحص المحتوى جزءًا من النتيجة: هل الاسم البديل مفهوم، ورقم الطلب يخص الحالة المؤلفة، والرابط كما اخترناه؟ نجاح العد وحده لا يثبت صحة البيانات أو وضوح الرسالة، ولذلك تحتاج المراجعة إلى النص والعدد معًا.
5. تحقق من قاعدة الأجزاء والمسار
يذكر دليل يونيفونك العربي المنشور أن النص العربي يمكن أن يكون ضمن جزء مفرد بسعة 70، وأن النص المتعدد يستخدم 67 لكل جزء ضمن العرض الوارد في الدليل. نعتمد هذه القيم لبناء نموذج حسابي واضح للحالات المؤلفة، دون تعميمها على كل مزود أو مسار أو قناة أخرى. لم نستخدم أداة يونيفونك أو حسابًا لديها لتأكيد النتيجة أو الفوترة. [1]
افصل المصدر الذي يعطي القاعدة عن البرنامج المحلي الذي يطبقها في المثال. الدليل يشرح معلمة، بينما سكربتنا يجمع النصوص ويحسب عددًا وفقها. إذا اختلف إعداد المنصة أو المسار أو طريقة معالجة النص، فقد لا تكفي هذه المعلمة وحدها لوصف النتيجة الفعلية. سجل الافتراضات المستخدمة، ولا تسم الحساب «فاتورة مؤكدة» أو «اختبار منصة» لمجرد أنه أعاد الرقم المتوقع عند تشغيله محليًا.
عند العمل مع مزود حقيقي، اسأل عن وحدة الفوترة والعداد المتاح والقيود التي تخص المسار، وعن النص الذي تدخل عليه القاعدة بعد التحويلات. لا تفترض أن شاشة تبين عدد المستلمين تعني عدد الأجزاء المدفوعة، أو أن قناة أخرى ستستخدم الآلية نفسها. لا يقدم المقال قائمة أسعار أو مقارنة خدمات؛ يحدد ما يجب أن تعرفه كي يكون تقديرك مرتبطًا بخدمة وقواعد واضحة بدل رقم تداولته في دليل عام.
6. اختبر القيم على نص مؤلف قابل للإعادة
قالبنا المؤلف هو «مرحبًا {name}، طلبك {order} جاهز. التفاصيل: {url}». حسب الطريقة المحلية المعلنة، طول هذه النسخة قبل الاستبدال 49 وحدة. في الحالة أ استخدمنا الاسم «ليلى»، ورقم الطلب A17، والرابط التوضيحي https://example.invalid/a. بعد تكوين النص يصبح العدد 63 وحدة، وليس 49. هذه بيانات تعليمية لا سجل لعميل أو طلب حقيقي.
في الحالة ب استخدمنا اسمًا مؤلفًا «عبد الرحمن محمود»، ورقمًا B2027-014، ورابطًا توضيحيًا أطول هو https://example.invalid/orders/details/ABCDEFGH. النتيجة المحلية 103 وحدات. لم يتغير النص الثابت في القالب، لكن القيم التي دخلت الحقول تغيرت. لهذا لا نحمل العدد الذي قسناه للاسم القصير إلى الحالة الجديدة، ولا نستنتج الطول من القالب ذي الحقول قبل استبدالها.
الحالة ج تستخدم الاسم البديل المؤلف «عميلنا»، ورقمًا C8 ورابطًا توضيحيًا ينتهي بالحرف c في المسار القصير نفسه؛ طولها 64 وحدة. أما الحالة د فتستخدم الاسم الطويل ورقمًا آخر بطول الرقم الطويل، وتضيف إلى نهاية رابط الحالة ب 31 حرفًا لاتينيًا صغيرًا من النوع x، فيصبح العدد 134 وحدة. الإضافة مقصودة للاختبار ولا تمثل رابطًا صالحًا أعددناه للنشر أو الاستخدام.
7. حول كل نص إلى نتيجة نموذج مستقلة
طبّقنا النموذج الأول على طول كل حالة، فكانت النتائج: أ جزء واحد، وب جزآن، وج جزء واحد، ود جزآن. حفظنا النص والعدد والنتيجة معًا، ولم نكتف بتسجيل كلمة «نجح» على القالب كله. هذه أعداد حسب معلمات النموذج التي ذكرناها، لا سجلات إرسال أو إثبات وصول. تستطيع مراجعة النصوص المؤلفة والحساب، لكن لا تستطيع استنتاج حالة شبكة أو مشغل من برنامج لم يتصل بهما.
الحالة الرابعة مفيدة لأنها قريبة من حد في نموذج التقسيم الذي اخترناه: عددها يساوي مجموع سعتين من سعة الجزء المتعدد في النموذج الأول. لا نستخدم هذه الملاحظة قاعدة لتصميم حملة حقيقية بلا مساحة مراجعة، ولا نعد بأن كل نظام سيعاملها بالطريقة نفسها. هدف الحالة أن تكشف هل استخدمت القاعدة الصحيحة كما عرّفناها، وهل يعيد الاختبار نتيجة قابلة للتفسير عند مدخل حدودي بدل الاعتماد على مثال بعيد عن الحد.
إذا تغير حرف أو رابط في إحدى الحالات، كوّن النص الجديد وأعد حسابه ثم سجل الفرق. لا تبدل النتيجة يدويًا لأنك تتوقع أنها ستبقى كما كانت. يمكن أن يتغير الطول بينما يبقى تقدير الأجزاء، أو يتغير الاثنان معًا عند حد معين. هذه نتيجتان مختلفتان ينبغي أن تظهرهما المراجعة: أثر التغيير في المدخل، وأثره في النموذج، دون تقديم أي منهما بوصفه فاتورة فعلية لم تصدر بعد.

8. استخدم اختلاف المصدر سببًا للسؤال
في الملحق الثالث من شروط كوربت المنشورة، راجعنا في 14 أكتوبر 2026 سعة 65 للجزء العربي المتعدد، بينما يبقى حد المفرد المعلن 70. نسجل ما ورد في شروط هذا المزود، ولا نحكم منه على معيار كل خدمة أو على كيفية تطبيق نظامه فعليًا. إذا وجدت اختلافًا عن دليل آخر، اطلب المعلمة التي تخص حسابك ومسارك بدل نقل قاعدة من مصدر لا يتناول الحالة نفسها. [2]
عندما طبقنا نموذجًا بديلًا بهذه المعلمة على الحالة د المؤلفة، صارت النتيجة ثلاثة أجزاء بدل اثنين؛ فطولها يتجاوز ما تسعه سعتان في ذلك النموذج. لا يعني هذا أن كوربت أرسلت هذه الرسالة أو حسبتها بهذه الطريقة في حساب حقيقي. هو اختبار حسابي يوضح أثر تغير المعلمة، ويمنعنا من وصف أي تقدير محلي بأنه نتيجة عالمية لمجرد أن النص نفسه لم يتغير.
احتفظ باسم النموذج ومعلماته ومرجعها بجوار كل نتيجة. لا تجمع نتائج نموذجين في عمود واحد بلا توضيح ثم تفسر الفرق على أنه خطأ في النص. يمكن أن تستخدم المقارنة لإعداد سؤال للمزود عن العد والترميز والتحويلات، أو لتحديد ما يحتاج إلى معاينة فعلية. المقال لا يوصي بمزود ولا يؤكد صحة شروط تجارية خارج النص المنشور؛ يوضح أين ينتهي الحساب المحلي وأين يبدأ التحقق الذي لم ننفذه.
9. اجمع الأجزاء قبل تطبيق السعر
تقدير أجزاء الحملة من النصوص المخصصة يبدأ بجمع نتيجة كل حالة أو مجموعة مماثلة، مع معرفة ما يمثل حجمها. في نموذجنا الأول لدينا أربع حالات تعليمية ونتائج 1 و2 و1 و2؛ المجموع 6 أجزاء. لو ضربنا عدد الحالات الأربعة في جزء واحد، لحصلنا على 4 وتجاهلنا جزأين من نموذجنا. لا نصف الحالات بأنها أربعة عملاء فعليين، ولا نعمم توزيعها على قائمة حقيقية لم نراجعها.
نفترض سعرًا مؤلفًا 0.07 وحدة نقدية لكل جزء، بعملة افتراضية واحدة دون رسوم أو ضرائب. تقدير الحالات في النموذج الأول يساوي 6 مضروبة في 0.07، أي 0.42 وحدة نقدية. الحساب الدقيق محفوظ في ملف الاختبار باستخدام حساب عشري، وليس سعر سوق أو عرضًا من مزود. إذا استعملت نموذجًا آخر أو سعرًا آخر، أعد الحساب وسم المرجع بوضوح بدل تغيير العنوان وترك الناتج كما كان.
في حملة فعلية، لا تجعل عينة قصيرة هي التوزيع الكامل إلا إذا كانت تمثله بالفعل وفق معلومات موثقة. يمكن أن تقسم الحالات إلى مجموعات بحسب النتيجة المتحققة، ثم تضرب حجم كل مجموعة فيما يخصها وتجمعها. راجع أيضًا الرسوم الأخرى كما ينص الاتفاق المناسب. لا نستنتج من نموذج النص شروط فوترة الرسائل الفاشلة أو الإعادات أو الضرائب؛ تلك معلومات مستقلة يجب معرفتها قبل تسمية الرقم تقديرًا شاملًا للتكلفة.
10. صحح النص مع الحفاظ على وظيفته
إذا أردت تقليل الطول، ابدأ بما تستطيع تغييره دون فقد معنى مطلوب. راجع العبارة الثابتة وهل تحتوي تكرارًا، ثم تحقق من الاسم والرابط ورقم الطلب بدل حذف أجزاء عشوائية. لا تقصر رقمًا حتى يشير إلى طلب آخر، ولا تحذف مسار رابط وتفترض أنه سيصل إلى الوجهة نفسها. اطلب مراجعة مناسبة لأي تغيير تقني، ثم اختبر النص الذي اعتمد فعلًا لا نسخة تجريبية أقصر لكنها لا تؤدي وظيفة الرسالة.
افصل بين اختصار العبارة وبين قاعدة التعامل مع البيانات المفقودة. في مثالنا الاسم البديل مؤلف للشرح؛ لم نستنتج أن هذا هو الخيار المناسب لكل خدمة. في نظام حقيقي، يمكن أن يكون القرار استخدام عبارة محددة أو إيقاف الحالة للمراجعة، بحسب العمل المعتمد. اكتب القاعدة واختبرها، ولا تسمح لحقل مفقود بأن يترك أقواسًا ظاهرة أو أن يسقط معلومة مهمة ثم تعتبر انخفاض العدد نجاحًا في تحسين القالب.
بعد التعديل، أعد حالات الاختبار نفسها وأضف أي حالة كشفها التغيير. قارن النص والمعنى والطول ونتيجة النموذج، وسجل ما قبل وما بعد. لا تدّع أن قصر النص يثبت زيادة المبيعات أو تحسن تجربة كل قارئ؛ قد يغير المعنى أو الوضوح أيضًا. معيار هذه المرحلة أن تكون النسخة مفهومة وتؤدي الغرض المحدد، وأن نتيجة الحساب مرتبطة بها، مع إبقاء أثر الحملة سؤالًا يحتاج إلى بيانات أخرى.
11. احفظ سجلًا قابلًا للمراجعة
أنشئ سجل الاختبار بحيث يحتوي مرجع القالب ونسخته وحقوله والنصوص المؤلفة وطريقة العد والنموذج والسعر الافتراضي وحالة المراجعة. إذا كانت البيانات فعلية، احتفظ بها وفق الصلاحية والضوابط التي تخص عملك ولا تنقلها إلى أدوات عامة بلا معرفة لطريقة معالجتها. لا تحتاج إلى نشر اسم عميل أو تفاصيل طلبه كي تشرح خطأ في التخصيص؛ يمكن غالبًا إعداد حالة مؤلفة توضح السلوك دون كشف بيانات تخص شخصًا.
افصل نموذج التقدير عن أداة المزود أو أي معاينة متصلة نفذتها فعلًا. إذا اختبرت محليًا فقط، اكتب ذلك. وإذا اختبرت في نظام معين، سجل الإعداد والمرجع وما شاهدته دون توسيع الادعاء إلى جميع المسارات. في مقالنا أجرينا حسابًا محليًا على النصوص المعلنة وحفظنا نتائجه، ولم نستخدم حساب إرسال أو أداة مزود أو بيانات حقيقية. هذا يحدد مستوى الدليل الذي يستطيع القارئ مراجعته.
عند ظهور فرق لاحق بين تقدير ونتيجة أخرى، راجع النسخة والنص الكامل والتحويلات والوحدة والمعلمات والسعر قبل تفسير السبب. قد تكون هناك خطوة لم تدخل النموذج، لكن لا تجزم بأي سبب من فرق رقمين وحده. احتفظ بالوقائع التي تعرفها والسؤال الذي بقي مفتوحًا. ملف واضح يساعد على متابعة المشكلة مع الجهة المناسبة، بينما رقم نهائي بلا نص أو إعدادات لا يوضح أين تبدأ المراجعة.
12. اعتمد ما تحققت منه فقط
قبل تسليم القالب إلى مرحلة أخرى، راجع أن كل حقل له قيمة أو قاعدة معلنة، وأن الحالات التي اخترتها تكون النص المتوقع، وأن الحساب يعيد النتائج المسجلة. تحقق من عدم الخلط بين حالة تعليمية وقائمة تشغيل فعلية، وبين رابط توضيحي ووجهة يجب أن يستخدمها عميل. لا يقدم المقال زر إرسال أو حملة جاهزة أو ادعاء أن القالب استوفى جميع متطلبات خدمة؛ يقدم طريقة اختبار محددة ودليل حسابها.
إذا كانت المراجعة المحلية اكتملت بينما لم تتأكد معلمات المزود، اجعل حالة التقدير معلقة في هذه النقطة. يمكنك تسليم ملاحظات واضحة عمّا راجعته وما يحتاج إلى سؤال، بدل كتابة «معتمد» على جميع البنود لأن النص بدا قصيرًا. وبعد أي تغيير في القالب أو طريقة الروابط أو القواعد، أعد الحالات المتأثرة. النتيجة التي كانت صحيحة لنسخة سابقة لا تصبح دليلًا لنسخة جديدة من دون مراجعة مناسبة.
يظل الفارق الأساسي أن القالب ليس نص كل رسالة، وعدد الحالات ليس عدد الأجزاء، والتقدير ليس الفاتورة أو التسليم. في أمثلتنا انتقلنا من 49 وحدة للقالب إلى أربعة نصوص متفاوتة، ثم طبقنا نموذجين واضحين وسعرًا مؤلفًا. استخدم هذا التسلسل ليحدد ما يمكنك حسابه وما يحتاج إلى تحقق خارجي، مع الحفاظ على معنى الرسالة والبيانات المسموح بها بدل محاولة الوصول إلى رقم صغير بأي تغيير.
المصادر ومتابعة القراءة
- Unifonic: فهم أجزاء رسائل SMS — معلمات النموذج الأول؛ لم نختبر منصة المزود. (يفتح في نافذة جديدة)unifonic.com
- Corbit: الشروط والأحكام، ملحق احتساب الرسائل — معلمة منشورة مختلفة، لا تحقق مستقل من الفوترة. (يفتح في نافذة جديدة)corbit.sa
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
