API حركة المخزون

تتبع وتسجيل حركات المخزون عبر المستودعات. يتم تسجيل كل تغيير في المخزون كحركة.

نقاط النهاية
GET

/stock-movements

stock_movements:read

الحصول على قائمة مرقمة من حركات المخزون. يدعم التصفية حسب المنتج والمستودع والنوع ونطاق التاريخ.

POST

/stock-movements

stock_movements:write

تسجيل حركة مخزون جديدة. سيتم تحديث مستويات المخزون تلقائياً.

مرجع الحقول
الحقلالنوعمطلوبالوصف

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)

مثال
عرض حركات المخزون
bash
curl "https://api.mercozy.com/api/v1/external/stock-movements?page=1&limit=20&movementType=IN" \
  -H "X-API-Key: mk_live_xxxxx"
إنشاء حركة مخزون
bash
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"
  }'
مثال الاستجابة
json
{
  "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"
  }
}