نظرة عامة
تعتمد أغلب العمليات على هوية المستخدم التجاري (BusinessUser) التي يتم الحصول عليها بعد تسجيل الدخول، مع استخدام
رمز JWT في ترويسة Authorization: Bearer. تم استخراج الحقول أدناه من نماذج البيانات داخل
المشروع: قد تختلف في حال تغيير قاعدة البيانات، لذا راجع Swagger عند الشك.
القيم المرجعية المشتركة
معظم الحقول التي تنتهي بـ Id تشير إلى جداول مرجعية مثل المدن، المناطق، حالة الشحنة، أو
أنواع الشحنات. استخدم واجهات مثل GET /api/Areas و
GET /api/Business/ListStatus للحصول على القيم الصحيحة قبل إرسالها.
التحكم في الصلاحيات
يتم تحديد صلاحيات الوصول من خلال مطالبات المستخدم في رمز JWT. لا يمكن الوصول إلى BusinessApi إلا من
خلال أدوار business و Marketer.
بيئات العمل
استخدم عناوين النطاق التالية لتجربة الواجهات برمجيًا. كلا البيئتين متاحتان مع نفس نقاط النهاية الموثقة في هذا الملف.
الإنتاج (Live)
العنوان الأساسي: https://api.roadfn.com/.
تأكد من استخدام مفاتيح الاعتماد الحقيقية واحترام حدود المعدل الخاصة بالحسابات الفعلية.
بيئة الاختبار (UAT)
العنوان الأساسي: https://uat.roadfn.com/.
تسمح هذه البيئة بالتحقق من عمليات التكامل دون التأثير على بيانات الإنتاج، ويمكنك إنشاء حسابات تجريبية بحرية.
POST /api/Login
يدقق بيانات الاعتماد ويصدر رمز JWT مع بيانات إضافية عن المستخدم.
المدخلات
اسم المستخدم كما هو مخزن في جدول Users.
كلمة المرور بنفس الترميز الموجود في قاعدة البيانات (Plain Text وفق التطبيق الحالي).
معرف الجهاز المستخدم للإشعارات (FCM Token). يتم حفظه في Users.DeviceToken.
الاستجابات
application/json
- token – رمز JWT صالح ليوم واحد.
- expires – تاريخ انتهاء الرمز.
- role – قيمة من الثوابت
Role (admin، business، Marketer...).
- loginTrimAndConditions – يشير إلى ما إذا كان على المستخدم قبول الشروط.
- loginTrimAndConditionsValue – النص الكامل للشروط من GetGlobalSettings باستخدام المفتاح
LoginTrimAndConditions.
- userName وfullName – بيانات تعريفية.
- requiredChangePassword – يصبح
true إذا حان موعد تغيير كلمة المرور.
- mobileRoles – قائمة صلاحيات إضافية تظهر فقط للمسوقين (UserType = 9).
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"role": "business",
"userName": "demo",
"fullName": "Demo Merchant",
"expires": "2024-03-12T21:36:00Z",
"requiredChangePassword": false,
"loginTrimAndConditions": false,
"loginTrimAndConditionsValue": "...النص...",
"mobileRoles": []
}
GET /api/Business/GenerateShipmentLink
إنشاء رابط خاص يمكن مشاركته مع العميل لإدخال بيانات شحنة جديدة.
المدخلات
لا توجد مدخلات إضافية. يتم الاعتماد على هوية المستخدم من الرمز.
الاستجابات
text/plain
القيم المضمنة مشتقة من رقم المستخدم مع تشفير .
مثال استجابة
https://api.roadfn.com/Client/AddShipment?token=4d9a...&merchant=cf2b...
GET /api/Business/ShipmentChat
يجلب المحادثة الخاصة بشحنة معينة.
المدخلات
معرف الشحنة في جدول Shipments.
الاستجابات
GET /api/Business/ShipmentChat?ShipmentId=1024