API حركة المخزون
تتبع وتسجيل حركات المخزون عبر المستودعات. يتم تسجيل كل تغيير في المخزون كحركة.
نقاط النهاية
/stock-movements
الحصول على قائمة مرقمة من حركات المخزون. يدعم التصفية حسب المنتج والمستودع والنوع ونطاق التاريخ.
/stock-movements
تسجيل حركة مخزون جديدة. سيتم تحديث مستويات المخزون تلقائياً.
مرجع الحقول
| الحقل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | string | لا | معرف حركة المخزون الفريد (للقراءة فقط) |
productId | string | نعم | معرف المنتج |
productSku | string | لا | SKU المنتج (للقراءة فقط) |
productName | string | لا | اسم المنتج (للقراءة فقط) |
warehouseId | string | نعم | معرف المستودع |
warehouseName | string | لا | اسم المستودع (للقراءة فقط) |
variantId | string | لا | معرف متغير المنتج (إن وُجد) |
quantity | integer | نعم | كمية الحركة (عدد صحيح موجب) |
movementType | string | نعم | IN أو OUT أو ADJUSTMENT أو TRANSFER_OUT أو TRANSFER_IN |
reference | string | لا | رقم المرجع (مثل أمر الشراء) |
unitCost | integer | لا | تكلفة الوحدة بالسنتات |
batchNumber | string | لا | رقم الدفعة |
notes | string | لا | ملاحظات إضافية |
createdAt | datetime | لا | طابع زمني ISO 8601 (للقراءة فقط) |
معاملات الاستعلام (القائمة)
| الحقل | النوع | مطلوب | الوصف |
|---|---|---|---|
page | integer | لا | رقم الصفحة (افتراضي: 1) |
limit | integer | لا | عناصر لكل صفحة (افتراضي: 20، الحد الأقصى: 100) |
productId | string | لا | التصفية حسب معرف المنتج |
warehouseId | string | لا | التصفية حسب معرف المستودع |
movementType | string | لا | التصفية حسب النوع: IN، OUT، ADJUSTMENT، TRANSFER_OUT، TRANSFER_IN |
from | string | لا | فلتر تاريخ البداية (ISO 8601) |
to | string | لا | فلتر تاريخ النهاية (ISO 8601) |
مثال
عرض حركات المخزون
curl "https://api.mercozy.com/api/v1/external/stock-movements?page=1&limit=20&movementType=IN" \
-H "X-API-Key: mk_live_xxxxx"إنشاء حركة مخزون
curl -X POST "https://api.mercozy.com/api/v1/external/stock-movements" \
-H "X-API-Key: mk_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"productId": "product-uuid",
"warehouseId": "warehouse-uuid",
"quantity": 100,
"movementType": "IN",
"reference": "PO-2024-001",
"notes": "Initial stock"
}'مثال الاستجابة
{
"data": {
"id": "sm_abc123",
"productId": "product-uuid",
"productSku": "WDG-001",
"productName": "Premium Widget",
"warehouseId": "warehouse-uuid",
"warehouseName": "Main Warehouse",
"variantId": null,
"quantity": 100,
"movementType": "IN",
"reference": "PO-2024-001",
"unitCost": null,
"batchNumber": null,
"notes": "Initial stock",
"createdAt": "2025-12-15T10:30:00Z"
}
}