توثيق API للمطورين

اربط متجرك أو تطبيقك الخاص مباشرة بمنصة جاسور — إنشاء شحنات ومتابعتها عبر واجهة REST بسيطة.

المصادقة

احصل على مفتاح API من لوحة التاجر: لوحة التاجر ← التكاملات ← توليد مفتاح API. المفتاح يظهر مرة واحدة فقط وقت التوليد — احفظه فورًا. أرسله في كل طلب داخل ترويسة Authorization.

Headers
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json
مفتاح واحد = اتصال واحد. لو بتربط أكتر من تطبيق أو متجر، ولّد مفتاح منفصل لكل واحد عشان تقدر تلغي أي وصول لوحده لاحقًا.

إنشاء شحنة

بينشئ شحنة جديدة مرتبطة بحسابك، ويرجّع رقم التتبع فورًا.

POST /api/v1/shipments
الحقلالنوعالوصف
receiver_nameمطلوبstringاسم المستلم، بحد أقصى 100 حرف.
receiver_phoneمطلوبstringرقم هاتف المستلم.
receiver_emirate_idمطلوبintegerمعرّف الإمارة — جدول الإمارات.
receiver_addressمطلوبstringالعنوان التفصيلي.
payment_typeمطلوبstringطريقة الدفع، القيم المتاحة: cod أو prepaid.
receiver_areaاختياريstringالحي أو المنطقة، بحد أقصى 100 حرف.
weightاختياريnumberالوزن بالكيلوجرام. لو اتسابت، بيستخدم النظام الوزن الافتراضي.
piecesاختياريintegerعدد القطع، الافتراضي 1.
cod_amountاختياريnumberمبلغ الدفع عند الاستلام — مطلوب عند اختيار الدفع عند الاستلام.
notesاختياريstringملاحظات حرة على الشحنة.
external_order_idاختياريstringرقم الطلب من نظامك الخاص — يمنع تكرار الشحنة، شوف منع التكرار.
Request
{
  "receiver_name": "أحمد محمد",
  "receiver_phone": "0501234567",
  "receiver_emirate_id": 1,
  "receiver_address": "شارع الشيخ زايد",
  "payment_type": "cod",
  "cod_amount": 150,
  "external_order_id": "ORDER-1042"
}
Response · 201
{
  "data": {
    "tracking_number": "UAE-2026-000481",
    "status": "pending",
    "status_label": "تم إنشاء الطلب",
    "cod_amount": 150,
    "delivery_fee": 20
  }
}
cURL
curl -X POST https://gasoordel.com/api/v1/shipments \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"receiver_name":"أحمد محمد","receiver_phone":"0501234567","receiver_emirate_id":1,"receiver_address":"شارع الشيخ زايد","payment_type":"cod","cod_amount":150}'

قائمة الشحنات

بترجّع شحنات حسابك، 20 شحنة في الصفحة، الأحدث أولًا.

GET /api/v1/shipments
cURL
curl https://gasoordel.com/api/v1/shipments \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

تفاصيل شحنة

جلب شحنة واحدة برقم التتبع الخاص بيها.

GET /api/v1/shipments/{tracking_number}
cURL
curl https://gasoordel.com/api/v1/shipments/UAE-2026-000481 \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
لو الشحنة مش تبع حسابك، هيرجع 404 — مش هتقدر توصل لشحنات تجار تانيين حتى لو عرفت رقم التتبع.

منع التكرار

لو بعتّ external_order_id وبعتّ نفس الطلب تاني بالغلط (انقطاع شبكة، إعادة محاولة تلقائية من نظامك)، السيرفر مش هينشئ شحنة جديدة — هيرجّعلك نفس الشحنة اللي اتعملت أول مرة بنفس رقم التتبع.

استخدم رقم الطلب من نظامك الخاص كـ external_order_id دايمًا — ده اللي بيضمن الحماية من التكرار.

الأخطاء

أكواد الحالة اللي ممكن تستقبلها والمعنى بتاع كل واحد.

الكودالمعنى
201الشحنة اتعملت بنجاح.
200الطلب نجح (قوائم وتفاصيل).
401مفتاح API غير صحيح أو منتهي أو ملغي.
403حساب التاجر غير مفعّل، أو الاتصال (المفتاح) موقوف.
404الشحنة غير موجودة أو مش تبع حسابك.
422بيانات ناقصة أو غير صحيحة — راجع رسالة الخطأ الموضّحة لكل حقل.
500خطأ من السيرفر — جرب تاني بعد شوية، ولو استمر تواصل معانا.

رموز الإمارات

استخدم الرقم في حقل receiver_emirate_id.

idالإمارة
1دبي
2أبوظبي
3الشارقة
4عجمان
5رأس الخيمة
6الفجيرة
7أم القيوين

حالات الشحنة

القيمة اللي بترجع في حقل status، بالترتيب اللي بتتحرك بيه الشحنة عادةً.

statusالوصف
pendingتم إنشاء الطلب
pickup_pendingبانتظار الاستلام
picked_upتم استلام الشحنة
in_warehouseفي المستودع
out_for_deliveryجاري التوصيل
deliveredتم التسليم
failed_deliveryفشل التسليم
postponedمؤجل - إعادة توصيل
returnedمرتجع

ملاحظة: وصف الحالة (status_label) بيرجع بالعربي دايمًا من الـ API بغض النظر عن لغة الموقع.