# 한 창고의 재고: 필터 없음 = 창고 전체(page / page_size; 증분 동기화용 X-Stock-Version 헤더); sku= 단일 변형; product_code= 스타일의 모든 변형

`GET /api/v1/warehouses/{warehouse_code}/stock` — 토큰 필요 · stock:read · 창고 전체 60포인트(페이지 조회 5)

창고와 재고

## 경로 파라미터

| 이름 | 타입 | 설명 |
| --- | --- | --- |
| `warehouse_code` **필수** | string | 창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: 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부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장. (최소 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=ko · 웹 페이지: https://connect.everugg.net.au/reference?op=get-api-v1-warehouses-warehouse-code-stock&lang=ko
