Skip to content

الطلبات

البادئة: /v1/orders على الواجهة العامة. المصادقة: عميل لكل مسار.

الطريقةالمسارالغرض
POST/v1/ordersإنشاء الطلب من السلة الحالية
GET/v1/ordersقائمة طلبات العميل
GET/v1/orders/:orderIdتفاصيل الطلب
POST/v1/orders/:orderId/cancelإلغاء

إنشاء الطلب

يلتقط الخادم لقطة من السلة واختيار التوصيل والأسعار. السلة الفارغة تفشل بـ CART_EMPTY.

أرسل JWT العميل. لا يستطيع الضيوف إنشاء طلب.

الجسم

الحقلمطلوبملاحظات
paymentMethodنعمcod أو wallet فقط
notesلاحد أقصى 256 حرفاً
addressلاتفاصيل عنوان الإتمام (تسمية، قطعة، شارع، …)
deliverySlotتوصيل مجدول{ templateId, date } حيث date هو YYYY-MM-DD

مثال

http
POST /v1/orders
Content-Type: application/json
Authorization: Bearer <accessToken>

{
  "paymentMethod": "cod",
  "notes": "اتصل عند الوصول",
  "address": {
    "label": "المنزل",
    "block": "4",
    "street": "1",
    "building": "12",
    "phone": "50000000"
  },
  "deliverySlot": {
    "templateId": "665f0c0c0c0c0c0c0c0c0c0e",
    "date": "2026-09-13"
  }
}

results هو مستند الطلب الكامل (المعرّفات، الأسطر، الإجماليات بالفلس، الحالة placed).

يفشل دفع المحفظة إن لم يكفِ الرصيد. تُرفض الطرق الإلكترونية حتى لو أظهرت مفاتيح اللوحة خلاف ذلك.

القائمة والتفاصيل

GET /v1/orders مقسّم صفحات. GET /v1/orders/:orderId يرجع طلباً يملكه العميل.

الإلغاء

الجسم

الحقلمطلوبالقيم
reasonنعمchanged_mind، ordered_by_mistake، too_slow، found_elsewhere، other
noteلاحد أقصى 256

يُسمح بالإلغاء فقط بينما الطلب في حالة قابلة للإلغاء (عادة قبل اكتمال الالتقاط). قد يلغي الموظفون لاحقاً من اللوحة بمجموعة أسباب مختلفة.

قيم الحالة

الحالةمعنى العميل
placedأُرسل
confirmedقبله المتجر؛ بانتظار ملتقط
pickingقيد الالتقاط
readyمعبّأ / جاهز للسائق أو الاستلام
out_for_deliveryفي الطريق
deliveredتم
delivery_failedفشلت آخر محاولة
cancelledملغى

بعد confirmed تملك واجهة الملتقط وواجهة السائق بقية الانتقالات.