منصة موحّدة لتأكيد
استلام الطلبات والشحنات
خدمة مستقلة تربط الجهة المرسلة والناقل والمستلم حول سجل واضح لواقعة التسليم، باستخدام رمز لكل شحنة أو طرد، وتحقق مناسب، وتكامل مع الأنظمة المرتبطة.
الملخص التنفيذي
يركّز المشروع على بناء خدمة مشتركة لتوثيق الاستلام، لا على استبدال شركات الشحن أو إدارة حركة المركبات. يمكن استخدامه مستقلاً من لوحة تحكم، أو دمجه داخل متجر أو تطبيق لوجستي دون إلزام المستلم بتنزيل تطبيق.
إنشاء وتسليم
تسجيل الطلب والشحنة والطرود، وإصدار ملصق قابل للطباعة.
تحقق وتأكيد
إقرار صريح من المستلم، مرتبط بالشحنة وما تم استلامه فعلًا.
إشعار وتوثيق
إيصال، وسجل زمني، وإشعار آلي للأنظمة المرتبطة.
الأهداف المقترحة
- توحيد طريقة تأكيد الاستلام بين الجهات والناقلين.
- توفير نتيجة قابلة للرجوع إليها بدل الاكتفاء بإفادة المندوب.
- تقليل المعالجة اليدوية لاستفسارات التسليم والاستثناءات.
- دعم الاستلام الجزئي والملاحظات والرفض دون إغلاق غير صحيح للطلب.
- توفير تكامل يمكن مراقبته وإعادة محاولته عند تعطل نظام الشريك.
المشكلة والفوائد المتوقعة
فرضيات المشكلة التالية تُختبر بمقابلات وتجربة تشغيلية؛ وليست نتائج دراسة سوق مكتملة.
| المشكلة المستهدفة | استجابة «وصول» المقترحة | الفائدة المراد قياسها |
|---|---|---|
| اختلاف طرق إثبات التسليم | نموذج بيانات وحالات وإيصال موحّد. | توحيد المتابعة والتقارير بين الناقلين. |
| اعتبار إفادة المندوب تأكيدًا من العميل | فصل حدث «أفاد الناقل بالتسليم» عن «أكد المستلم الاستلام». | وضوح مصدر كل معلومة وحدودها. |
| إغلاق طلب لم يُسلَّم بالكامل | توثيق الاستلام على مستوى الطرد والكمية عند الحاجة. | تقليل أخطاء الإغلاق ومعالجة النواقص. |
| تأخر تحديث الجهة المرسلة | إشعارات آلية وسجل تسليم أحداث. | خفض زمن ظهور التأكيد في النظام الأصلي. |
| صعوبة تتبع النزاع | سجل زمني يتضمن نص الإقرار ونسخته ووسيلة التحقق. | تسريع المراجعة دون ادعاء منع جميع النزاعات. |
النطاق وحدود النظام
- إدارة الجهات والفروع والمستخدمين والصلاحيات.
- إنشاء الطلبات والشحنات والطرود.
- إصدار ملصقات ورموز قابلة للإلغاء والاستبدال.
- تأكيد كامل أو جزئي ورفض وملاحظات.
- سجل المحاولات وإيصالات الاستلام.
- واجهات ربط وإشعارات وتقارير تشغيلية.
- تشغيل أسطول أو تحسين مسارات التوصيل.
- سوق لمقارنة شركات الشحن أو شراء خدماتها.
- الدفع والتحصيل عند الاستلام.
- التتبع الجغرافي المستمر والقياسات الحيوية.
- إدارة المرتجعات والمخزون بصورة كاملة.
- السلع المنظمة أو الإجراءات الخاصة قبل تحليل متطلباتها.
مجالات قابلة للدعم
التجارة الإلكترونية الطرود والمستندات توريد الشركات العُهد والمعدات التسليم بين الفروع الطلبات الداخلية والفندقيةاتساع نموذج المنتج لا يعني إطلاق جميع القطاعات معًا. يُختار قطاع أول وتجربة محددة قبل تعميم التشغيل.
الأطراف والصلاحيات
| الدور | الصلاحيات المقترحة | القيود |
|---|---|---|
| مدير المنصة | إدارة الجهات والباقات وصحة الخدمة وسياسات التكامل. | الوصول لبيانات جهة لأغراض الدعم يكون محدودًا ومبررًا ومسجلًا. |
| مدير الجهة | الفروع والمستخدمون وسياسات التحقق والتكامل والتقارير. | داخل جهته فقط. |
| موظف التشغيل | إنشاء الشحنات، الطباعة، المتابعة، ومعالجة الاستثناءات المخولة. | لا يغيّر إقرار المستلم ولا يؤكد نيابة عنه في المسار المعتاد. |
| شركة النقل | الشحنات المسندة إليها وأحداث التشغيل ومحاولات التسليم. | لا تطلع على شحنات ناقل آخر أو بيانات غير لازمة. |
| المندوب | المحاولات المسندة إليه، مع تسجيل سبب التعذر. | إفادة المندوب منفصلة عن تأكيد العميل. |
| المستلم / المفوض | تأكيد ما يخصه بعد التحقق وإضافة ملاحظته. | التفويض المسبق يسجل بهوية المفوض ونطاق التفويض وصلاحيته. |
| المراجع | قراءة السجل والإيصالات والتقارير المصرح بها. | قراءة فقط مع إخفاء البيانات غير اللازمة. |
| حساب التكامل | استدعاءات API ضمن نطاقات محددة. | مفاتيح مستقلة، قابلة للتدوير والإلغاء، ومربوطة بجهة وبيئة. |
دورة حياة التسليم
تفصيل السيناريو الأساسي
- التهيئة: اعتماد الجهة، المستخدمين، سياسة التحقق وقنوات الإشعار.
- الإنشاء: إدخال بيانات الشحنة يدويًا أو عبر API والتحقق من صحتها وعدم تكرارها.
- الملصق: توليد رمز مرتبط بالطرد، مع مرجع مقروء بديل عند تلف الطباعة.
- التسليم الفعلي: ينقل الناقل الطلب خارج المنصة، ويسجل المحاولة إن كان مرتبطًا بها.
- فتح الرابط: يعرض «وصول» الحد الأدنى من بيانات الطلب دون كشف معلومات حساسة قبل التحقق.
- التحقق: إرسال رمز إلى وسيلة اتصال مسجلة مسبقًا، أو استخدام حساب مؤسسي مخول.
- الإقرار: يراجع المستلم الطرود والنتيجة والنص، ثم يضغط زر التأكيد صراحة.
- الحفظ: تسجيل الإقرار والطرود المستلمة والوقت ونسخة النص وسياق التحقق.
- الإشعار: إصدار الإيصال وإضافة حدث إلى قائمة الإرسال للشريك.
- الإغلاق: إغلاق الشحنة عند اكتمال جميع الطرود المطلوبة؛ أما النقص فيظل استثناءً مفتوحًا.
| الخطوة | المصدر | الاتجاه | الوجهة | الرسالة / النتيجة |
|---|---|---|---|---|
| 1 | نظام المرسل | ← | API وصول | إنشاء الشحنة والطرود. |
| 2 | وصول | ← | نظام المرسل | معرّفات وملصقات. |
| 3 | المستلم | ← | صفحة وصول | فتح رابط الرمز وطلب التحقق. |
| 4 | وصول | ← | مزود الرسائل | طلب إرسال رمز تحقق. |
| 5 | المستلم | ← | وصول | التحقق ثم إرسال إقرار صريح. |
| 6 | خدمة التأكيد | ← | قاعدة البيانات | حفظ الإقرار وحدث الإرسال معًا. |
| 7 | عامل الإشعارات | ← | Webhook المرسل | إرسال حدث موقع، ثم تسجيل النتيجة. |
| 8 | وصول | ← | المستلم | عرض الإيصال؛ لا ينتظر نجاح نظام الشريك. |
الحالات والاستثناءات
يُقترح فصل ثلاث مجموعات: حالة التسليم، حالة التحقق والجلسة، وحالة إرسال الإشعار. الفصل يمنع الخلط بين استلام البضاعة ووصول التحديث إلى نظام الشريك.
| المحور | الحالات المقترحة | القاعدة |
|---|---|---|
| التسليم | مسودة، جاهزة، نشطة، جزئية، مؤكدة بالكامل، مرفوضة، ملغاة. | تُشتق الحالة الإجمالية من سجلات الطرود والقرارات المعتمدة. |
| جلسة التحقق | مفتوحة، رمز مرسل، متحقق منها، منتهية، مقفلة مؤقتًا، مستهلكة. | جلسة متحقق منها لا تعني استلامًا قبل إرسال الإقرار. |
| إرسال الحدث | قيد الانتظار، جارٍ الإرسال، ناجح، إعادة محاولة، يحتاج تدخلًا. | فشل الإرسال لا يلغي الإقرار المحفوظ. |
حالات بديلة يجب تصميمها
استخدام مرجع بديل عبر مسار محمي، أو إعادة إصدار ملصق مع إبطال الرابط السابق.
إعادة إرسال مقيدة، ثم قناة بديلة معتمدة أو مسار دعم؛ دون تجاوز تلقائي للتحقق.
تسجيل بلاغ لا يغيّر الشحنة إلى «مرفوضة» بناءً على زائر غير متحقق منه.
تبقى نتيجة الاستلام مستقلة عن الملاحظة أو النزاع؛ لا تُفهم الملاحظة تلقائيًا كرفض.
عرض توضيحي محلي فقط؛ لا ينشئ شحنات أو يرسل رسائل.
المتطلبات وقواعد العمل
| المرجع | المتطلب الوظيفي | الأولوية المقترحة |
|---|---|---|
| FR-01 | إنشاء الجهات والفروع وحسابات المستخدمين وتقييد الصلاحيات. | أساسي |
| FR-02 | إنشاء طلب وشحنة متعددة الطرود يدويًا وعبر API. | أساسي |
| FR-03 | إصدار وطباعة وإلغاء واستبدال ملصقات الطرود. | أساسي |
| FR-04 | عرض صفحة استلام تعمل على الهاتف دون تطبيق إلزامي. | أساسي |
| FR-05 | التحقق ثم تأكيد كامل أو جزئي أو رفض مسبب. | أساسي |
| FR-06 | تسجيل محاولات التسليم والتعذر والملاحظات. | أساسي بواجهة محدودة |
| FR-07 | إصدار إيصال وسجل أحداث وإرسال Webhooks. | أساسي |
| FR-08 | تقارير وتصدير مقيد وتصفية حسب الفروع والناقلين. | أساسي |
| FR-09 | رفع دفعات طلبات مع تقرير أخطاء لكل صف. | لاحق قريب |
| FR-10 | تفويض مؤسسي ومرفقات اختيارية وموصلات لشركاء محددين. | توسّع بعد التجربة |
قواعد عمل حاكمة
- مسح الرمز أو زيارة الرابط لا يغير حالة التسليم.
- مرجع الطلب الخارجي يُفسر داخل نطاق الجهة، وليس معرّفًا عالميًا منفردًا.
- لكل طرد معرّف مستقل؛ تأكيد طرد لا يغلق بقية الطرود تلقائيًا.
- وسيلة التحقق تعتمد على بيانات معتمدة، لا على رقم يكتبه ماسح الرمز دون تحقق إداري.
- تعديل المستلم أو وسيلة الاتصال يُسجل ويُبطل جلسات التحقق المفتوحة ذات الصلة.
- الإقرار لا يُحذف أو يُستبدل بصمت؛ التصحيح إجراء لاحق مرتبط بالأصل وبصاحب الصلاحية.
- إعادة الطلب البرمجي بنفس مفتاح منع التكرار لا تنشئ شحنة أو إقرارًا جديدًا.
- نجاح حفظ الإقرار وحدث الإرسال عملية واحدة؛ الإرسال الخارجي لاحق ومستقل.
- الرفض والتسليم الجزئي يتطلبان سببًا أو تحديدًا واضحًا للطرود المتأثرة.
- دورة المرتجع اللاحقة مستقلة؛ لا تعيد كتابة حقيقة استلام سابق.
المتطلبات غير الوظيفية
- التوافر: هدف الخدمة ونافذة الصيانة ومستويات الدعم تُعتمد بعد التجربة.
- الأداء: قياس زمن API وصفحة المستلم منفصلًا عن زمن مزود الرسائل.
- القابلية للتوسع: فصل المهام الثقيلة والإشعارات عن الطلبات التفاعلية.
- الوصول: واجهة عربية RTL، استخدام بلوحة المفاتيح، ورسائل خطأ واضحة.
- الاعتمادية: نسخ احتياطي، اختبار استعادة، ومراقبة تأخر الإشعارات.
- قابلية الصيانة: توثيق API وإصدارات وقواعد تحقق واختبارات آلية.
مدخلات النظام
هذه قائمة المدخلات الأساسية المقترحة على مستوى الأعمال. قاموس الحقول التفصيلي وأطوالها وقيمها المرجعية من مخرجات التحليل اللاحق.
| المجموعة | المدخلات | المصدر | الإلزام والتحقق |
|---|---|---|---|
| الجهة | الاسم، الفروع، المنطقة الزمنية، مسؤول الحساب، سياسة الاحتفاظ. | تهيئة إدارية. | جهة معتمدة؛ الفرع يجب أن يتبع الجهة. |
| الطلب | المرجع الخارجي، النظام المصدر، وصف مختصر، ربط الطلب الأصلي. | لوحة / API / ملف. | مرجع قابل للتتبع مع سياسة منع التكرار داخل الجهة. |
| الشحنة | مرجع الشحنة، الناقل الاختياري، نافذة التسليم، سياسة التحقق. | المرسل أو نظامه. | سياسة تحقق معتمدة؛ التواريخ منطقية. |
| الطرود | مرجع كل طرد ووصفه؛ الكميات وبنود المحتوى عند الحاجة فقط. | المرسل. | طرد واحد على الأقل، ومعرّفات فريدة داخل الشحنة. |
| المستلم | اسم عرض، وسيلة اتصال معتمدة أو حساب مؤسسي، تفويض اختياري. | نظام الجهة / إدارة مخولة. | وسيلة مناسبة لسياسة التحقق؛ عرض مقنّع قبل التحقق. |
| العنوان | نص أو مرجع عنوان إذا كان ضروريًا لحالة الاستخدام. | الجهة. | ليس إلزاميًا لخدمة تأكيد الاستلام وحدها. |
| المحاولة | المندوب، وقت المحاولة، النتيجة، سبب التعذر. | ناقل / مندوب مخول. | الإسناد صالح؛ لا تتحول النتيجة إلى إقرار عميل. |
| التحقق | رمز مؤقت، معرّف الجلسة، سياق العملية. | المستلم وخدمة التحقق. | صلاحية قصيرة ومحاولات محدودة؛ لا يُحفظ الرمز الخام في السجل. |
| الإقرار | الطرود المستلمة، كامل/جزئي/رفض، الملاحظات، موافقة صريحة. | مستلم متحقق منه. | ربط بالإصدار الحالي للشحنة وبنص الإقرار المعروض. |
| المرفقات | صورة تغليف أو مستند، وتوقيع مرسوم إذا اعتمدته السياسة. | طرف مخول. | اختيارية، بفحص نوع وحجم وصلاحية وصول؛ ليست بديلًا تلقائيًا للتحقق. |
| التكامل | نقطة Webhook، الأحداث المشتركة، حساب الخدمة، نطاقات الصلاحية. | مسؤول تكامل الجهة. | HTTPS، تحقق الوجهة، أسرار منفصلة، ومنع الوجهات الداخلية. |
| بيانات مشتقة | معرّفات، توقيت الخادم، رقم الحدث، نسخة السياسة ونتيجة الإرسال. | ينشئها النظام. | لا يعتمد وقت الإقرار الرسمي على ساعة جهاز العميل. |
المخرجات والتقارير
| المخرج | المحتوى | المستفيد / الصيغة |
|---|---|---|
| ملصق الطرد | رمز، مرجع مقروء، اسم مرسل، وعدد/ترتيب الطرود دون بيانات شخصية غير لازمة. | التجهيز والناقل · PDF / طباعة. |
| إيصال الاستلام | معرّف الإقرار، المرسل، مرجع الشحنة، الطرود، النتيجة، وقت الخادم، نص الإقرار ونسخته. | المستلم والجهة · صفحة / PDF بصلاحية وصول. |
| سجل الإثبات | وسيلة التحقق ونتيجتها، هوية الفاعل المخولة، التسلسل الزمني، الملاحظات والتصحيحات. | المراجع المخول · سجل تفصيلي. |
| نتيجة API | المعرّفات، الحالة الحالية، إصدار السجل، روابط موارد مصرح بها، وأخطاء منظمة. | الأنظمة المرتبطة · JSON. |
| حدث Webhook | معرّف حدث فريد، نوع، وقت، مرجع شحنة، إصدار وحمولة محدودة. | نظام المرسل · JSON موقع. |
| تقارير تشغيل | الكامل والجزئي والرفض والتعذر حسب الفترة والفرع والناقل. | التشغيل · لوحة / CSV. |
| تقارير التكامل | الإشعارات المعلقة، محاولات الإرسال، الأخطاء وأزمنة التأخر. | التقنية والدعم · لوحة وتنبيهات. |
| تقرير الاستهلاك | التأكيدات القابلة للفوترة، الرسائل، التخزين والاستخدام حسب العقد. | إدارة الحساب · تقرير دوري. |
نموذج البيانات
الكيانات المقترحة
| الكيان | المسؤولية والحقول الأهم |
|---|---|
| Tenant / Branch / User | الجهة، الفروع، العضويات، الأدوار ونطاق الصلاحية. |
| Order / Shipment | المراجع الخارجية، المستلم، السياسة، الحالة وإصدار السجل. |
| Parcel / LabelToken | الطرد، الرمز النشط، نسخ الملصق وتاريخ الإلغاء. |
| DeliveryAttempt | المندوب والوقت وسبب التعذر والنتيجة التشغيلية. |
| VerificationSession | نوع التحقق، حالة الجلسة، المحاولات والانتهاء والربط بالعملية. |
| Acknowledgement / Item | الإقرار، نصه ونسخته، الفاعل، ونتيجة كل طرد مشمول. |
| Attachment | مرجع التخزين ونوع الملف والفحص والصلاحيات. |
| OutboxEvent / WebhookDelivery | الحدث الأصلي ومحاولات إرساله لكل اشتراك. |
| AuditEvent | من فعل ماذا ومتى وعلى أي كائن، مع سبب التغيير عند اللزوم. |
يُقترح حفظ الأوقات مرجعيًا بصيغة UTC وعرضها حسب المنطقة الزمنية. يُربط كل سجل أعمال بجهته، وتُطبق قيود قاعدة البيانات على العلاقات لمنع ربط طرد أو إقرار بشحنة من جهة أخرى.
المعمارية والتكنولوجيا المقترحة
التوصية المبدئية: تطبيق مركزي معياري Modular Monolith بوحدات منفصلة داخل مشروع منظم، مع عمّال خلفية للإشعارات والملفات. لا يُقترح البدء بخدمات مصغرة كثيرة قبل ظهور حاجة تشغيلية مقاسة.
| الطبقة | الاختيار الأولي | مبرر الاختيار المقترح |
|---|---|---|
| واجهات الويب | React + TypeScript + Bootstrap RTL | مكونات مشتركة للوحة وصفحة الهاتف وهوية عربية موحدة. |
| الخادم | NestJS + TypeScript | تقسيم معياري واتساق لغوي مع الواجهة؛ يُحسم حسب خبرة الفريق. |
| قاعدة البيانات | PostgreSQL | نموذج علائقي للجهات والشحنات والإقرارات والمعاملات. |
| العمليات الخلفية | Outbox + Worker، وطابور مدعوم بـ Redis عند الحاجة | عزل الإشعارات وتوليد الملفات عن تجربة التأكيد. |
| الملفات | تخزين كائنات متوافق مع S3 | ملصقات وإيصالات ومرفقات بروابط وصول مؤقتة. |
| الرموز والمستندات | مكتبات خادم لتوليد QR وPDF | إصدار مركزي؛ اختيار مكتبات تتم مراجعة صيانتها وأمانها قبل التنفيذ. |
| توثيق الربط | OpenAPI + بيئة تجريبية | عقد واضح واختبارات تكامل وأمثلة قابلة للتجربة. |
| النشر | Docker + CI/CD + خدمة قاعدة بيانات مُدارة | بيئات متسقة واختبارات وترحيلات وإمكان رجوع منظم. |
| المراقبة | سجلات منظمة، مقاييس وتتبع موزع عند الحاجة | ربط الخطأ بالطلب والحدث دون تسجيل الأسرار. |
واجهات الربط والتكامل
| الوظيفة | واجهة مقترحة | ملاحظة |
|---|---|---|
| إنشاء شحنة | POST /v1/shipments | مفتاح منع تكرار إلزامي للعمليات الحساسة. |
| جلب شحنة | GET /v1/shipments/{id} | ضمن نطاق الجهة وصلاحيات الحساب. |
| جلب الملصقات | GET /v1/shipments/{id}/labels | صلاحية منفصلة لأن الملصق يتضمن رابط فتح. |
| تسجيل محاولة | POST /v1/shipments/{id}/attempts | لا تسجّل تأكيد عميل. |
| إلغاء قبل التسليم | POST /v1/shipments/{id}/cancel | تطبيق قواعد الحالة والسبب. |
| جلب الإيصال | GET /v1/shipments/{id}/receipt | مصادقة أو رابط مؤقت مناسب للمستفيد. |
| ضبط الاشتراكات | POST /v1/webhook-endpoints | مسؤول تكامل مخول فقط. |
| إعادة إرسال حدث | POST /v1/webhook-deliveries/{id}/retry | إعادة نفس الحدث لا إنشاء واقعة جديدة. |
مثال طلب إنشاء — عقد أولي للمناقشة
{
"external_order_ref": "ORD-1048",
"external_shipment_ref": "SHP-1048-A",
"recipient": {
"display_name": "عميل تجريبي",
"phone": "+12025550123"
},
"verification_policy": "sms_otp",
"parcels": [
{
"external_ref": "BOX-01",
"description": "الطرد الأول"
},
{
"external_ref": "BOX-02",
"description": "الطرد الثاني"
}
],
"metadata": {
"source_system": "partner-demo"
}
}
لا يرسل العميل البرمجي هوية الجهة باعتبارها مصدر صلاحية؛ تُستنتج من بيانات اعتماد التكامل. المثال تجريبي، وحقل metadata له حدود ولا يُستخدم لتخزين أسرار أو بيانات شخصية عشوائية.
أحداث مقترحة
shipment.created delivery.confirmed delivery.partially_confirmed delivery.refused delivery.exception_reportedمثال إشعار
{
"event_id": "evt_demo_0001",
"type": "delivery.partially_confirmed",
"occurred_at": "2026-10-18T10:30:00Z",
"schema_version": "1",
"resource_version": 4,
"data": {
"shipment_id": "shp_demo_1048",
"external_shipment_ref": "SHP-1048-A",
"acknowledgement_id": "ack_demo_0001",
"status": "partially_confirmed",
"received_parcel_refs": ["BOX-01"],
"remaining_parcel_refs": ["BOX-02"]
}
}
قواعد موثوقية التكامل المقترحة
- توقيع جسم الرسالة الأصلي مع وقت الإرسال، والتحقق من نافذة زمنية لمنع إعادة التشغيل.
- استخدام معرّف الحدث لمنع المعالجة المكررة لدى المستهلك.
- افتراض إمكان تكرار الحدث أو وصول الأحداث بترتيب مختلف؛ استخدام إصدار المورد عند التحديث.
- إعادة محاولات متدرجة مع تنبيه وقائمة تحتاج تدخلًا بعد استنفاد السياسة.
- تسجيل الاستجابة دون تخزين أسرار أو أجسام ردود غير محدودة.
- إرجاع أخطاء منظمة مثل: حقول غير صالحة، تعارض حالة، تجاوز معدل، أو عدم صلاحية.
- تدوير المفاتيح والأسرار وفصل التجربة عن الإنتاج.
الأمان والخصوصية
| المستوى | طريقة التأكيد المقترحة | الوصف داخل الإيصال |
|---|---|---|
| إقرار منخفض التحقق | إجراء صريح عبر الرابط، إن اعتمدته الجهة لحالات محدودة. | إقرار دون تحقق مستقل من هوية المستلم؛ ليس الافتراضي الموصى به. |
| استلام متحقق منه | رمز مؤقت إلى وسيلة مسجلة مسبقًا. | تم التحقق من حيازة وسيلة الاتصال المسجلة، وليس إثبات هوية مدنيًا شاملًا. |
| استلام مؤسسي | حساب مخول وتفويض ساري، مع تحقق إضافي بحسب السياسة. | استلام بواسطة مستخدم مؤسسي محدد وتفويض مسجل. |
| متطلبات إضافية | مرفقات أو توقيع أو إجراء متخصص بعد التحليل. | توصيف الدليل الفعلي دون اعتباره تلقائيًا توقيعًا قانونيًا معتمدًا. |
ضوابط يُقترح اعتمادها في التصميم
- معرّفات ورموز عشوائية غير قابلة للتخمين عمليًا.
- ربط التحقق بالشحنة والنتيجة والطرود المحددة.
- صلاحية قصيرة، وعدد محاولات وحدود لإعادة الإرسال.
- منع الاستهلاك المزدوج عند التأكيد المتزامن.
- إبطال الجلسات عند تغييرات مؤثرة في بيانات العملية.
- حماية الجلسات من CSRF وXSS وتسرب الروابط.
- تشفير النقل والتخزين وفق تصميم النشر.
- عزل الجهات والتحقق من ملكية كل مورد.
- إخفاء الهاتف والبيانات الحساسة قبل التحقق.
- عدم تسجيل OTP أو أسرار التكامل في السجلات.
- فحص المرفقات ومنع عرضها كملفات نشطة.
- نسخ احتياطي واختبار استعادة وخطة استجابة للحوادث.
سياسة الأدلة والاحتفاظ
- يحفظ وقت الخادم، نص الإقرار ونسخته، وسيلة التحقق ونتيجتها، والطرود المشمولة.
- يُصمم سجل التدقيق للإضافة مع تقييد التعديل، ولا يُدّعى أنه غير قابل للعبث بمجرد حفظه في قاعدة بيانات.
- عند الحاجة، يُبحث توقيع أو ختم زمني للملفات مع إدارة مفاتيح ومراقبة مستقلة.
- تحدد مدد منفصلة للإيصالات والمرفقات وسجلات التشغيل، وآلية إتلاف أو إخفاء بيانات معتمدة.
- لا تُجمع بيانات جهاز أو شبكة أو موقع إضافية إلا لغرض محدد وبعد مراجعة الخصوصية.
الشاشات وتجربة المستخدم
- ملخص الحالات والاستثناءات.
- قائمة شحنات ببحث وفلاتر وتصدير.
- إنشاء شحنة وطرود وطباعة ملصقات.
- تفاصيل الشحنة وسجلها والإيصالات.
- إعداد المستخدمين والسياسات والتكامل.
- هوية مرسل واضحة ومرجع مختصر.
- شرح التحقق ورقم اتصال مقنّع.
- اختيار الطرود والنتيجة والملاحظة.
- مراجعة نص الإقرار قبل الإرسال.
- صفحة نجاح وإيصال وإرشادات الاعتراض.
- الشحنات المسندة بالحد الأدنى من البيانات.
- تسجيل محاولة وتعذر وسبب.
- عرض حالة تأكيد العميل دون الوصول لرمز التحقق.
- طلب مساعدة عند تلف الملصق أو خطأ المستلم.
- استثناءات التحقق والإرسال.
- عرض مقيد لسجل الأحداث.
- إعادة إرسال إشعارات بصلاحية مسجلة.
- تصحيحات إدارية غير مخفية ومتصلة بالأصل.
ملصق مقترح — المحتوى لا الرسم النهائي
يُولَّد من الخادم عند تنفيذ النظام
فتح الرابط لا يؤكد الاستلام تلقائيًا.
التحديات والمخاطر
| التحدي | الأثر المحتمل | المعالجة المقترحة | المسؤول |
|---|---|---|---|
| نسخ الملصق أو مشاركة الرابط | محاولة تأكيد غير مخولة. | تحقق مستقل وربط بالعملية وإبطال وإدارة جلسات. | الأمن والمنتج |
| خطأ رقم المستلم | تعذر التحقق أو كشف بيانات. | تحقق عند الإنشاء ومسار تعديل مدقق وإبطال الجلسات. | الجهة والتشغيل |
| تعطل مزود الرسائل | تعذر استكمال التأكيد. | مراقبة وقناة بديلة معتمدة وخطة دعم دون تجاوز صامت. | التشغيل التقني |
| ضعف الإنترنت | انقطاع رحلة العميل. | صفحة خفيفة وإعادة محاولة؛ لا ادعاء تأكيد نهائي دون اتصال بالخادم. | التقنية |
| ضغط المندوب على العميل | إقرار لا يعكس الواقع. | نص واضح، خيار رفض وملاحظة، وعدم طلب إملاء OTP للمندوب. | التشغيل والشريك |
| عدم استخدام العميل للخدمة | انخفاض معدل التأكيد. | تجربة قصيرة، تعليمات ملصق واضحة، وقياس أسباب التخلي. | المنتج |
| اختلاف أنظمة الشركاء | مواءمة مكلفة وحالات غير متطابقة. | عقد API موحد وموصلات محددة وبيئة اختبار. | فريق التكامل |
| إشعار مكرر أو متأخر | حالة خاطئة في نظام المرسل. | معرّف حدث وإصدار مورد واستعلام للمصالحة. | الطرفان |
| تسرب بيانات بين الجهات | حادث خصوصية خطير. | اختبارات عزل وقيود علاقات وصلاحيات ومراقبة. | الأمن والتقنية |
| نزاع حول قوة الدليل | توقعات تجارية غير واقعية. | وصف دقيق للدليل وحدوده ومراجعة الشروط محليًا. | الإدارة والمستشار |
| توسع مبكر في الميزات | ارتفاع تكلفة وتأخر الإطلاق. | تجربة ضيقة ومعايير انتقال قبل إضافة أسطول أو مدفوعات. | مالك المنتج |
النسخة الأولى وخطة التنفيذ
الاكتشاف واعتماد نطاق التجربة
مقابلات، رسم العملية الحالية، تحديد القطاع وحجم الشحنات، تعريف المستلم المخول ومعنى الإغلاق، ومراجعة سياسات البيانات.
المخرج: نطاق وقواعد وقرارات معتمدةالتحليل والتصميم التفصيلي
رحلات وشاشات، قاموس بيانات، جدول انتقالات، ERD، عقد API، نموذج تهديد، وخطة اختبار.
المخرج: مواصفات قابلة للتقدير والتنفيذبناء النسخة الأساسية
الجهات والصلاحيات، الشحنات والملصقات، التحقق والإقرارات، الإيصالات، الإشعارات، ومراقبة التشغيل.
المخرج: نسخة اختبار متكاملةالتكامل والاختبارات
ربط الشريك، فحص عزل الجهات والتزامن، اختبار تعطل الرسائل والإشعارات واستعادة النسخ الاحتياطية.
المخرج: قبول تقني وتشغيلي مشروطتجربة محدودة ثم قرار التوسع
تشغيل شحنات فعلية تحت متابعة، قياس إكمال التأكيد، دعم العملاء والتكلفة، ثم إصلاح نقاط التعثر قبل التعميم.
المخرج: تقرير تجربة وقرار متابعة أو تعديلما يدخل النسخة الأولى؟
جهات وصلاحيات إنشاء يدوي وAPI طرود وملصقات OTP كامل / جزئي / رفض إيصال وسجل Webhook موثوق تقارير أساسيةما يُؤجل؟
رفع دفعات متقدم تفويض مؤسسي موسع مرفقات متقدمة موصلات جاهزة متعددة أسطول ومسارات مدفوعاتالتشغيل والنموذج التجاري
- اشتراك للجهة بحسب الاستخدام والميزات.
- احتساب عمليات التأكيد وفق وحدة فوترة محددة تعاقديًا.
- إظهار تكلفة الرسائل أو تضمين حصة معلنة.
- رسوم تهيئة أو تكامل مخصص عند الحاجة.
- باقات مؤسسية للدعم والعزل ومتطلبات الخدمة.
- رسائل التحقق والإشعارات.
- الخوادم وقاعدة البيانات والنسخ الاحتياطي.
- التخزين ونقل الملفات.
- الدعم والمراجعة والتشغيل الأمني.
- تطوير وصيانة التكاملات واختبارها.
إجراءات التشغيل اللازمة
- تهيئة الجهة وتحديد مسؤوليها وصلاحياتها ومراجعة بياناتها.
- اعتماد سياسة التحقق ونص الإقرار والاحتفاظ.
- اختبار الطباعة والرسائل والتكامل قبل الإنتاج.
- تدريب التجهيز والمندوبين على عدم طلب مشاركة OTP.
- تحديد مسار دعم للأرقام الخاطئة والروابط التالفة والاعتراضات.
- مراجعة دورية لمفاتيح API والحسابات والتقارير والأحداث المعلقة.
الاختبار ومؤشرات النجاح
معايير قبول وظيفية وأمنية أولية
| الاختبار | النتيجة المطلوبة |
|---|---|
| مسح الرمز فقط | لا يتغير التسليم ولا يُصدر إيصال استلام. |
| استلام طردين من ثلاثة | تسجيل طردين وبقاء الثالث مفتوحًا، والحالة الإجمالية جزئية. |
| تأكيدان متزامنان للطرد نفسه | لا ينشأ إقراران متعارضان أو احتساب مزدوج. |
| رمز منتهي أو محاولات متجاوزة | رفض منضبط دون كشف معلومات حساسة، مع مسار إعادة محاولة مقيد. |
| تغيير رقم المستلم | تسجيل التغيير وإبطال الجلسات القديمة وفق السياسة. |
| استبدال الملصق | إبطال الرمز السابق مع حفظ تاريخ الاستبدال. |
| تعطل Webhook | بقاء الإقرار صحيحًا وإعادة المحاولة وإظهار التعطل للتشغيل. |
| حدث مكرر أو متأخر | لا معالجة مزدوجة ولا تراجع للحالة بسبب إصدار أقدم. |
| محاولة جهة قراءة بيانات أخرى | منع الوصول في API والملفات والتقارير دون تسريب وجود المورد. |
| انقطاع بعد ضغط التأكيد | يمكن معرفة النتيجة باستعلام آمن دون إعادة إنشاء الإقرار. |
| استعادة النسخة الاحتياطية | نجاح إجراء موثق وقياس زمن الاستعادة وفقد البيانات المحتمل. |
مؤشرات التجربة
قرارات وأسئلة النقاش
الأسئلة التالية تحول الفكرة من تصور عام إلى نطاق يمكن تقديره والتعاقد على تنفيذه.
١. من هو العميل الأول وما حالة الاستخدام الأولى؟
المقترح: جهة ذات شحنات متعددة الطرود ومشكلة واضحة في متابعة التأكيد، مع ناقل مستعد للتعاون. يُحسم القطاع والسوق وحجم التجربة.
٢. هل المطلوب إثبات حيازة الطرد أم فحص محتواه؟
المقترح أن تبدأ الخدمة بإثبات الاستلام فقط، مع حقل ملاحظات، وفصل أي إقرار بفحص المحتوى في إجراء مستقل.
٣. من المخول بالاستلام نيابة عن العميل؟
يجب تحديد سياسة أفراد الأسرة والاستقبال والمستودعات: تفويض مسبق أم موافقة أثناء العملية أم عدم السماح؟ لا يُترك القرار لاجتهاد المندوب.
٤. ماذا يحدث إذا تعذر التحقق أو رفض العميل الإجراء؟
المقترح مسار استثناء ظاهر للجهة، لا تحويله إلى تأكيد موثق. أي بديل يدوي يوضح مصدره ومن اعتمده وحدود دلالته.
٥. ما الأنظمة والتكاملات المطلوبة في البداية؟
تحديد نظام المرسل والناقل ومزود الرسائل، وما إذا كانت الملصقات تصدر من «وصول» أو تدمج داخل قالب الشريك.
٦. ما سياسات البيانات والدليل ومستوى الخدمة؟
اعتماد السوق والاستضافة والاحتفاظ وصلاحيات الدعم، ونص الإقرار، وأهداف التوافر والاستعادة بعد مراجعة المختصين.
٧. متى نعتبر التجربة ناجحة تجاريًا وتشغيليًا؟
اعتماد مؤشرات إكمال التأكيد، دعم العملاء، موثوقية الربط، تكلفة العملية، واستعداد العميل للدفع؛ ثم اتخاذ قرار التوسع.
المخرجات المطلوبة بعد مناقشة هذه المسودة
- وثيقة نطاق معتمدة للنسخة الأولى وحدود مسؤوليات الأطراف.
- قصص مستخدمين ومعايير قبول وترتيب أولويات.
- نماذج شاشات تفصيلية ونصوص الإقرار ورسائل الخطأ.
- ERD وقاموس بيانات وجدول انتقالات حالات.
- مواصفة OpenAPI وعقد Webhooks وخطة اختبار للشريك.
- تصميم أمان وخصوصية وتشغيل واستجابة للحوادث.
- تقدير زمني ومالي مبني على نطاق وفريق وافتراضات واضحة.