POST /api/shop/product/bulk-update يحدّد سعر البيع لكل منتج تدرجه. ويمكنه أيضًا إظهار المنتج أو إخفاؤه وتحديده كمتوفر أو غير متوفر في المخزون.
صادِق برمز API كترويسة Bearer. راجع المصادقة والحدود.
الطلب
| الحقل | مطلوب | المعنى |
|---|
products | نعم | قائمة فيها عنصر واحد لكل منتج |
products[].id | أحد الحقلين id أو barcode | معرّف المنتج في متجرك |
products[].barcode | أحد الحقلين id أو barcode | باركود المنتج |
products[].price | نعم | سعر البيع الجديد، رقم |
products[].is_active | لا | true يُظهر المنتج للعملاء، وfalse يخفيه |
products[].stock_status | لا | in_stock أو out_of_stock |
{
"products": [
{ "id": 1042, "price": 120, "stock_status": "in_stock" },
{ "barcode": "6291041500213", "price": 42.5, "is_active": false }
]
}
price مطلوب في كل عنصر، حتى إذا أردت تغيير التوفر فقط. أرسل السعر الحالي مرة أخرى.
إذا احتوى عنصر على id وbarcode معًا، فيجب أن يطابق كلاهما منتجًا في متجرك. المنتج الذي يُعثر عليه عبر barcode هو الذي يُحدَّث.
الاستجابة
{ "success": true, "data": [], "message": "Products updated successfully" }
الأخطاء
| الحالة | الرسالة | السبب |
|---|
| 403 | "Unauthorized." | لا يوجد رمز، أو الرمز مرفوض |
| 403 | "Only the shop owner, a manager or a product manager can update products." | الرمز يخص دورًا آخر |
| 402 | "Webhooks & developer API is not included in your plan. Upgrade your plan (Plan & billing) to use it." | راجع الباقة والوصول |
| 404 | "Product not found with id: …" أو "Product not found with barcode: …" | هذا المنتج ليس في متجرك |
| 404 | "Product not found with id or barcode for item at index: …" | العنصر ليس فيه id ولا barcode |
| 422 | رسالة لكل حقل | حقل مطلوب مفقود أو نوعه خاطئ. لا يتغير شيء |
| 429 | — | أكثر من 500 طلب في الدقيقة |
ما لا يفعله
لا ينشئ منتجات ولا يغيّر كميات المخزون أو الأسماء أو الفئات. استخدم API الوارد لذلك.