# 某仓库存：不带筛选 = 整仓（可 page / page_size 分页，响应头 X-Stock-Version 给增量同步用）；sku= 一个变体；product_code= 一款全部变体

`GET /api/v1/warehouses/{warehouse_code}/stock` — 需要 token · stock:read · 整仓 60 点（分页 5 点）

仓库与库存

某仓库存：不带筛选 = 整仓（可 page / page_size 分页，响应头 X-Stock-Version 给增量同步用）；sku= 一个变体；product_code= 一款全部变体。OMS 账号登录时按款 / 按 SKU 走 OMS 实时库存（现货 + 预售批次）

## 路径参数

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| `warehouse_code` **必填** | string | 仓库编码：AU（澳洲（全部仓合计），合计视图）、AUSYD2（悉尼主仓（Rosehill））、AUSYD1（悉尼配件仓）、CN（中国（全部仓合计），合计视图）、CHNZJ1（中国镇江仓）。AU / CN 是公司级合计视图，其余是真实仓；完整清单看 GET /api/v1/warehouses。 |

## 查询参数

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| `sku` | string | SKU / 条码——**具体到颜色和尺码**的那一层，如 OB0021611。查整个款请改用 product_code。 (最长 64 · 格式 ^[A-Za-z0-9_./-]+$) |
| `product_code` | string | 款号——**一个款**（含全部色码 / 尺码变体），如 OB002。查单个变体请改用 sku。查价格时可用逗号分隔多个。 (最长 64 · 格式 ^[A-Za-z0-9_./-]+$) |
| `page` | number | 页码，从 1 开始（选填）。整仓库存不传则返回全量——有三万多行，建议分页。 (最小 1) |
| `page_size` | number | 每页条数（选填），最大 2000。 (1–2000) |

## 响应

响应信封只看 HTTP 状态码：成功是 2xx，正文 `{ data: … }`（列表另带 `page / page_size / has_more` 或 `total_count`）；失败是 4xx / 5xx，正文 `{ error: { code, message, hint, request_id, doc_url } }`。

响应头: `X-Stock-Version: 51218`

```json
{
  "data": [
    { "warehouse_code": "AU", "sku": "OB0021611", "product_code": "OB002",
      "product_name": "CLASSIC SHORT", "color_code": "CHE", "color_name": "Chestnut", "size": "7", "brand": "UGG",
      "quantity_on_hand": 17, "quantity_available": 14,
      "price_wholesale": 62.7, "price_retail": 79, "currency": "AUD" }
  ],
  "total_count": 31408
}
```

成功响应里没有任何给人看的文字——没有 `code / result / msg`。`error.code` 是唯一该用程序判断的字段，`message` 跟随 `Accept-Language`。

> 整仓一次约 7.2 MB、60 点。**日常同步请用 `/Changes` 增量口**，全量只在首次或游标失效（`full=true`）时拉。

## 示例

### curl

```bash
curl "https://connect.everugg.net.au/api/v1/warehouses/AU/stock?sku=OB0021611&product_code=OB002" \
  -H "Authorization: Bearer $TOKEN"
```

### Python

```python
import requests

r = requests.get(
    "https://connect.everugg.net.au/api/v1/warehouses/AU/stock?sku=OB0021611&product_code=OB002",
    headers={"Authorization": "Bearer " + TOKEN},
)
data = r.json()
r.raise_for_status()  # 4xx/5xx: data["error"]["code"] / ["hint"]
```

### Node

```js
const res = await fetch("https://connect.everugg.net.au/api/v1/warehouses/AU/stock?sku=OB0021611&product_code=OB002", {
  headers: { Authorization: `Bearer ${TOKEN}` },
})
const data = await res.json()
if (!res.ok) throw new Error(`${data.error?.code}: ${data.error?.message}`)
```

### Java

```java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://connect.everugg.net.au/api/v1/warehouses/AU/stock?sku=OB0021611&product_code=OB002"))
    .header("Authorization", "Bearer " + token)
    .GET()
    .build();
HttpResponse<String> res = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString());
```

---
Markdown 源: https://connect.everugg.net.au/reference/get-api-v1-warehouses-warehouse-code-stock.md?lang=zh · 网页版: https://connect.everugg.net.au/reference?op=get-api-v1-warehouses-warehouse-code-stock&lang=zh
