Api
موجودی#
GET /api/v2/stock رشتههای موجودی را برمیگرداند: یک رکورد به ازای هر واریانت محصول در هر مکان شعبه. این نقطه پایانی مورد استفاده برای دسترسپذیری، تأمین مجدد و مغایرتگیری انبار است.
اجازه#
| الزام | مقدار |
|---|---|
| صلاحیت | stock:read |
| اجازه صفحه | inventory.branches.read |
| رفتار شعبه | سطح کل تجارت یا شعبهفیلترشده |
پارامترهای کوئری#
| پارامتر | نوع | پیشفرض | یادداشت |
|---|---|---|---|
language_code | string | App locale | زبان نام محصول |
page | integer ≥ 1 | 1 | شماره صفحه |
per_page | integer 1–100 | 25 | اندازه صفحه |
موجودی جستجو یا فیلتر تاریخ ندارد. با X-Business-Branch به شعبه تنگ کنید، یا رشتههای برگشتی را در سمت کلاینت فیلتر نمایید.
درخواست#
bash
curl -s "https://app.example.com/api/v2/stock?per_page=100" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Business-Branch: 4" \
-H "Accept: application/json"پاسخ#
json
{
"data": [
{
"id": 5512,
"business_branch_id": 4,
"product_id": 128,
"product_code": "NET-0042",
"product_model": "AX3000",
"product_name": "Router AX3000",
"sku": "AX3000-BLK",
"available_quantity": 12,
"received_quantity": 20,
"reserved_quantity": 8,
"is_available": true,
"expiry_date": null
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 100,
"total": 1
}
}فیلدها#
| فیلد | معنا |
|---|---|
id | شناسه رشته موجودی |
business_branch_id | شعبهای که موجودی را بهصورت فیزیکی نگه میدارد |
product_id, product_code, product_model | هویت محصول |
product_name | نام ترجمهشده، با بازگشت به کود |
sku | SKU واریانت |
available_quantity | مقداری که همین حالا قابل فروش است |
received_quantity | مقداری که به مکان دریافت شده است |
reserved_quantity | مقداری که به اسناد باز تعهد شده است |
is_available | آیا رشته بهعنوان دسترسپذیر منتشر شده است |
expiry_date | تاریخ انقضا وقتی محصول یکی دارد |
مقدارها بهصورت عدد برگردانده میشوند و ممکن است اعشار داشته باشند. فرض عدد صحیح نکنید.
خواندن مقدارها#
| پرسش | ترکیب فیلدها |
|---|---|
| میتوانم 10 واحد قول بدهم؟ | available_quantity >= 10 |
| مجموعاً چقدر دریافت کردهایم؟ | received_quantity |
| چرا دسترسپذیر کمتر از دریافتی است؟ | reserved_quantity تفاوت را توضیح میدهد |
| آیا رشته منتشر شده است؟ | is_available باید true باشد |
دسترسپذیر همان عددی است که جریان فروش به آن اعتماد میکند. رزورشده حتی اگر فیزیکاً موجود باشد، دوباره قابل فروش نیست.
ترتیب و صفحهبندی#
رشتهها بر اساس id موجودی صعودی مرتباند. اندازه صفحه پیشفرض 25 و حداکثر 100 است، بنابراین یک انبار کامل به صفحهبندی نیاز دارد.
استفادههای رایج#
| استفاده | روش |
|---|---|
| هشدار کمبود موجودی | همه رشتهها را بخوانید، available_quantity را با یک آستانه مقایسه کنید |
| مغایرتگیری انبار | برای هر شعبه درخواست کنید و با شمارش فیزیکی مقایسه نمایید |
| پایش انقضا | رشتههای با expiry_date غیر null نزدیک امروز را فیلتر کنید |
| همگامسازی مارکتپلیس | فقط رشتههایی را منتشر کنید که is_available آنها true است |
محدودیتها#
- فقطخواندنی: از طریق API هیچ تنظیم، انتقال یا ادغامی ممکن نیست.
- رشتههای موجودی حذفشده و واریانتهای حذفشده مستثنا میشوند.
- موجودی شعبههای بیرون از دامنه اعتبارنامه هرگز برگردانده نمیشود.
- قیمتهای تمامشده افشا نمیشوند؛ فقط مقدارها و هویت.