محتويات الوثائق

مخزون بلس

Makhzoon Plus

آخر تحديث: يونيو 2026

لا يوفر مخزون بلس واجهة برمجية مباشرة — الربط عبر تبادل ملفات CSV حصريًا.

مزود تخزين وتنفيذ داخل المملكة العربية السعودية: استلام المخزون في مستودعات الرياض وجدة والدمام، ثم الانتقاء والتغليف والتوصيل حتى باب العميل. ترسل طلبات التنفيذ على شكل ملف CSV واحد لكل دفعة، وتعاد النتائج على شكل ملف CSV أيضًا.

الخدمة

رمز الخدمةالاسمالوسيلةمدة التوصيلالنطاق
FULFIL_STDتنفيذ قياسيبري1–4 أيام عملداخل المملكة

سير العمل

  1. 1جهز ملف CSV وفق الصيغة أدناه (ترميز UTF-8).
  2. 2ارفع الملف إلى نقطة الرفع عبر multipart/form-data في الحقل file.
  3. 3استعلم عن حالة الدفعة — تُعالج الدفعات خلال دقيقتين تقريبًا.
  4. 4عند الاكتمال نزل ملف النتائج، أو ملف الرفض إن رفضت الدفعة.

صيغة الملف

يتكون الملف من صف رأس واحد يليه صف لكل طلب. صف الرأس إلزامي ويجب أن يطابق الأسماء والترتيب التاليين حرفيًا (11 عمودًا):

order_ref,recipient_name_ar,recipient_name_latin,phone,city,district,short_address,sku,qty,cod_amount_sar,notes
العمودإلزاميالقاعدة
order_refنعممرجع الطلب لديك؛ يظهر كما هو في ملف النتائج.
recipient_name_arنعماسم المستلم بالعربية — يجب أن يحتوي أحرفًا عربية.
recipient_name_latinنعمالاسم بأحرف لاتينية فقط (كتابة صوتية)؛ وجود أي حرف عربي يرفض الملف.
phoneنعمجوال سعودي بصيغة 9665XXXXXXXX ‏(12 رقمًا، دون + أو 00 أو مسافات).
cityنعممدينة سعودية — الخدمة داخل المملكة فقط.
districtنعماسم الحي (نص حر).
short_addressلاالعنوان الوطني المختصر: 4 أحرف لاتينية كبيرة يليها 4 أرقام (مثل RRDA2929)، أو يترك فارغًا.
skuنعمرمز المنتج كما هو مسجل في مخزونك لدى مخزون بلس.
qtyنعمعدد صحيح موجب.
cod_amount_sarنعممبلغ الدفع عند الاستلام بالريال السعودي؛ استخدم 0 إن لم يوجد.
notesلاملاحظات التوصيل (اختياري).

سياسة الرفض

أي صف غير صالح يرفض الملف كاملًا — لا معالجة جزئية. صحح الصفوف المذكورة في ملف الرفض ثم أعد رفع الملف كاملًا في دفعة جديدة.

ملف نموذجي

نموذج صالح جاهز للرفع كما هو:

order_ref,recipient_name_ar,recipient_name_latin,phone,city,district,short_address,sku,qty,cod_amount_sar,notes
ORD-1001,محمد العتيبي,Mohammed Alotaibi,966512345678,Riyadh,العليا,RRDA2929,SKU-100,2,150,اتصال قبل التسليم
ORD-1002,نورة القحطاني,Noura Alqahtani,966598765432,Jeddah,الروضة,JEDB4411,SKU-205,1,0,
ORD-1003,خالد الشمري,Khalid Alshammari,966533221100,Dammam,الشاطئ,,SKU-100,3,89.50,تسليم مسائي
تنزيل الملف النموذجي (CSV)

رفع دفعة

ارفع الملف عبر multipart/form-data في الحقل file. يعاد معرف الدفعة batch_id وحالتها الأولية PROCESSING.

POST /api/v1/makhzoon/batches
curl -X POST "https://manfath.example/api/v1/makhzoon/batches" \
  -H "Authorization: Bearer mnf_live_YOUR_KEY" \
  -F "file=@orders.csv"

الاستعلام عن الحالة

استعلم عن الدفعة بمعرفها حتى تتحول الحالة من PROCESSING إلى COMPLETED أو REJECTED. تُعالج الدفعات خلال دقيقتين تقريبًا، فلا حاجة إلى الاستعلام أكثر من مرة كل 15–30 ثانية.

GET /api/v1/makhzoon/batches/{batch_id}
curl "https://manfath.example/api/v1/makhzoon/batches/BATCH_ID" \
  -H "Authorization: Bearer mnf_live_YOUR_KEY"

مثال الاستجابة

{
  "batch_id": "ckz7q2m1x0001",
  "status": "COMPLETED",
  "row_count": 3,
  "accepted_count": 3,
  "rejected_count": 0,
  "result_csv": "order_ref,recipient_name_ar,...,tracking_number,status\n..."
}

حالات الدفعة

الحالةالوصف
PROCESSINGالدفعة قيد المعالجة.
COMPLETEDقبلت جميع الصفوف وأنشئت الشحنات؛ ملف النتائج متاح.
REJECTEDرفض الملف كاملًا؛ ملف الرفض متاح.

ملف النتائج

عند اكتمال الدفعة (COMPLETED) يعاد الملف نفسه مضافًا إليه عمودان في نهاية كل صف: tracking_number وstatus. ينشأ لكل صف شحنة تنفيذ بخدمة FULFIL_STD تتتبع عبر منصة منفذ كأي شحنة أخرى.

order_ref,recipient_name_ar,recipient_name_latin,phone,city,district,short_address,sku,qty,cod_amount_sar,notes,tracking_number,status
ORD-1001,محمد العتيبي,Mohammed Alotaibi,966512345678,Riyadh,العليا,RRDA2929,SKU-100,2,150,اتصال قبل التسليم,MKZ402118374,CREATED

ملف الرفض

عند رفض الدفعة (REJECTED) يعاد ملف رفض بأربعة أعمدة: row_number (رقم الصف بعد الرأس) وfield (العمود المتأثر) وreason_ar وreason_en:

row_number,field,reason_ar,reason_en
3,phone,صيغة رقم الجوال غير صحيحة — المطلوب 9665XXXXXXXX,invalid phone format — expected 9665XXXXXXXX
7,recipient_name_latin,الاسم اللاتيني يحتوي أحرفًا عربية,latin name contains Arabic characters

منصة تجريبية لأغراض تدريبية — Sandbox platform for training purposes