API التصنيفات

إدارة تصنيفات المنتجات مع دعم التسلسل الهرمي المتداخل.

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

/categories

categories:read

الحصول على قائمة مسطحة لجميع التصنيفات.

GET

/categories/tree

categories:read

الحصول على شجرة التصنيفات الكاملة مع التصنيفات الفرعية المتداخلة.

GET

/categories/:id

categories:read

الحصول على تصنيف واحد حسب المعرف.

POST

/categories

categories:write

إنشاء تصنيف جديد. عيّن parentId لإنشاء تصنيف فرعي.

PUT

/categories/:id

categories:write

تحديث تصنيف موجود. التحديثات الجزئية مدعومة.

DELETE

/categories/:id

categories:write

حذف ناعم للتصنيف. لا تتأثر المنتجات في هذا التصنيف.

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

id

string

لا

معرف التصنيف الفريد (للقراءة فقط)

name

string

نعم

اسم التصنيف

slug

string

لا

رابط URL ودي (يُنشأ تلقائياً إذا حُذف)

description

string

لا

وصف التصنيف

parentId

string

لا

معرف التصنيف الأب للتداخل

imageUrl

string

لا

رابط صورة التصنيف

sortOrder

integer

لا

ترتيب العرض (أقل = أولاً)

isActive

boolean

لا

هل التصنيف نشط (افتراضي: true)

children

Category[]

لا

التصنيفات الفرعية المتداخلة (فقط في نقطة نهاية الشجرة)

createdAt

datetime

لا

طابع زمني ISO 8601 (للقراءة فقط)

updatedAt

datetime

لا

طابع زمني ISO 8601 (للقراءة فقط)

مثال
الحصول على شجرة التصنيفات
bash
curl "https://api.mercozy.com/api/v1/external/categories/tree" \
  -H "X-API-Key: mk_live_xxxxx"
إنشاء تصنيف
bash
curl -X POST "https://api.mercozy.com/api/v1/external/categories" \
  -H "X-API-Key: mk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Electronics",
    "description": "Electronic devices and accessories",
    "sortOrder": 1,
    "isActive": true
  }'
مثال الاستجابة (شجرة)
json
{
  "data": [
    {
      "id": "cat_abc123",
      "name": "Electronics",
      "slug": "electronics",
      "description": "Electronic devices and accessories",
      "parentId": null,
      "imageUrl": null,
      "sortOrder": 1,
      "isActive": true,
      "children": [
        {
          "id": "cat_def456",
          "name": "Smartphones",
          "slug": "smartphones",
          "description": "Mobile phones",
          "parentId": "cat_abc123",
          "imageUrl": null,
          "sortOrder": 1,
          "isActive": true,
          "children": []
        }
      ],
      "createdAt": "2025-12-15T10:30:00Z",
      "updatedAt": "2025-12-15T10:30:00Z"
    }
  ]
}