نظرة عامة وبيئات التشغيل
مرحباً بك في التوثيق الرسمي لربط خدمات الشروق إكسبريس (Alshrouq Express API Documentation). ستجد هنا كافة الروابط الرسمية والمعاملات المطلوبة لإتمام التكامل مع خدمات التوصيل واللوجستيات في المملكة العربية السعودية.
أدخل مفتاح التوكن الخاص بحسابك ليتم تضمينه تلقائياً في الأكواد والتجارب الحية.
قم بالاختبار الآمن على بيئة التجارب (Staging) أو إرسال الطلبات الحية لسائقي الشروق.
إنشاء طلبات التوصيل بإحداثيات الفرع والعميل وتفاصيل التحصيل المالي والدفع.
عناوين الخوادم وبيئات التشغيل الرسمية
يجب توجيه جميع استدعاءات الـ API عبر بروتوكول HTTPS الآمن إلى العناوين التالية:
السيرفر الفعلي المباشر لتنفيذ طلبات التوصيل وإسنادها لأسطول سيارات ودبابات الشروق.
بيئة الاختبار المعتمدة لفحص الربط البرمجي واختبار الاستجابات بدون أي فواتير أو رسوم.
المصادقة والتفويض
تتم المصادقة عبر وضع رمز التوكن المخصص لحسابك (API_TOKEN) مباشرة داخل مسار الرابط (Token in URL Path). لا يمكن إتمام أي طلب بدون توكن معتمد ونشط.
استبدل {API_TOKEN} برمز التوكن السري الخاص بمتجرك أو نظامك.
- لا تقم مطلقاً بتضمين مفتاح الـ API_TOKEN في كود المتصفح أو تطبيقات الهاتف الأمامية أو مستودعات Git العامة.
- قم دائماً بتنفيذ استدعاءات الربط من الخوادم الخلفية الآمنة لمتجرك (Backend).
- في حال الشك بتسرب المفتاح، تواصل فوراً مع الدعم الفني للشروق إكسبريس لإلغائه وتوليد مفتاح جديد.
الواجهات الرسمية الأساسية لإنشاء ومتابعة وتحديث وإلغاء طلبات التوصيل المباشرة من المتاجر ونقاط البيع وإسنادها لأسطول الشروق إكسبريس.
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
25 حقول-
1الدفع عند الاستلام -
2Span Machine -
3مدفوع -
4الشروق باي
قائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم انشاء الطلب بنجاح |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
2 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم الغاء الطلب بنجاح |
| 200 | نجاح، تم انشاء طلب الغاء |
| 422 | خطأ، تم الغاء الطلب بالفعل / الطلب غير موجود |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
1 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، HTTP 200 |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
1 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، HTTP 200 |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
9 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم تحديث بيانات الطلب |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
3 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم استرجاع حساب المسافة وتكلفة التوصيل |
ترويسات الطلب (Headers)
قائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، HTTP 200 |
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
12 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم إنشاء الفرع بنجاح |
ترويسات الطلب (Headers)
قائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، تم استرجاع جميع الفروع |
ترويسات الطلب (Headers)
قائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، HTTP 200 |
ترسل الشروق إكسبريس إشعارات POST بصيغة JSON إلى رابط الـ Callback الذي تُعدّه من لوحة التحكم عند تغيّر حالة الطلب أو موقع المندوب. يجب أن يستجيب خادمك بـ HTTP 200. لا يوجد توقيع HMAC، والتوكن الاختياري يُرسل في هيدر Authorization كما حفظته.
الشروق بتبعت الإشعار ده لرابطكم عند إنشاء الطلب (type: order_created). الـ Request Body أدناه هو شكل الداتا اللي بنبعتها. هيدر Authorization فيه نفس قيمة الـ token المحفوظة على إعداد الويب هوك عندكم (غالباً Bearer + التوكن). رد الخادم بتاعكم أياً كان شكله بيتسجّل عندنا فقط.
ترويسات الطلب (Headers)
معاملات وبيانات الطلب (Body Parameters)
17 حقولقائمة رموز حالات الاستجابة (HTTP Status)
| كود الحالة | وصف الحالة |
|---|---|
| 200 | نجاح، هذا مجرد مثال. أي Body يرجع من عندكم بيتسجّل في سجلات الويب هوك عندنا. مش بنتحقق من شكله ولا بنعتمد عليه في المعالجة. |
قائمة حالات الطلب المتاحة
| رقم الحالة | وصف الحالة |
|---|---|
| 1 | إنشاء طلب |
| 2 | في انتظار قبول السائق الطلب |
| 17 | تم قبول الطلب |
| 16 | تم الوصول للفرع |
| 6 | تم استلام الطلب |
| 8 | وصل الي موقع العميل |
| 9 | تم توصيل الطلب |
| 10 | تم الغاء الطلب |
| 21 | تم ارسال طلب الغاء |
| 23 | انشاء الطلب |
رموز الحالات ومعالجة الأخطاء
قائمة شاملة برموز الاستجابة القياسية ومعانيها وكيفية التعامل مع كل حالة برمجياً.
| كود الحالة | المعنى العام | التفسير والإجراء البرمجي الموصى به |
|---|---|---|
| 503 | السيستم مغلق | السيستم مغلق |
| 422 | خطأ | احداثيات الفرع مطلوبة في حالة عدم وجود رقم الفرع |
| 401 | خطأ | التوكن غير صحيح |
| 401 | خطأ | العميل غير مفعل |
| 422 | خطأ | الفرع غير موجود |
| 422 | خطأ | الفرع غير مفعل |
| 404 | خطأ | الطلب موجود بالفعل |
| 201 | نجاح الطلب | تم انشاء الطلب بنجاح |
{
"status": false,
"message": "Validation error in request parameters.",
"errors": {
"branch_id": ["The branch_id field is required when coordinates are not provided."],
"payment_type": ["The payment_type must be either 1 (Cash) or 2 (Card Machine)."]
}
}