{"openapi":"3.0.3","info":{"title":"Ever API","description":"도매 채널 API. **[← 개발자 포털로](/)** · [시작하기](/start) · [오류 코드](/errors) · [데이터 모델](/ontology) · [내 AI 에 연결하기(MCP)](/agents)\n\n> 이 페이지에는 **코드에서 호출하는 업무 엔드포인트만** 나열됩니다. 웹훅 등록, 플랜 신청, 본인 권한 확인은 모두 [포털](/portal/me)에서 클릭으로 처리하며 코드가 필요 없습니다.\n\n먼저 `POST /api/v1/auth/token` 으로 토큰을 발급받고(자격 증명이 없다면 샌드박스 `sandbox` / `sandbox` 사용), 우측 상단 Authorize 를 눌러 입력하세요. 쓰기 엔드포인트에는 중복 제출 방지를 위해 `Idempotency-Key` 헤더를 함께 보내세요.\n\n계약 버전 1.0.0(모든 응답의 `X-API-Version` 헤더에도 포함). 약속: **필드는 추가만 하고 삭제하지 않으며, 기존 필드의 의미를 바꾸지 않습니다** — 이런 변경은 버전을 올리지 않으므로 코드를 수정할 필요가 없습니다. 기존 코드가 깨질 변경은 메이저 버전을 올리고 새 `/v2/` 접두사로 제공하며, 이전 버전은 최소 6개월간 병행 운영합니다.","version":"1.4.0"},"tags":[{"name":"인증","description":"자격 증명을 액세스 토큰으로 교환합니다. 창고 목록을 제외한 모든 엔드포인트에 필요합니다."},{"name":"창고와 재고","description":"창고 마스터와 재고. **일상 동기화는 /stock/changes 를 사용**하고 매번 창고 전체를 받지 마세요(7.2MB 대 수백 바이트)."},{"name":"상품","description":"상품 마스터: 이름, 이미지, 설명, 변형. **재고 수량은 없음** — 재고 쪽에 있습니다."},{"name":"가격","description":"내 채널 전용 가격."},{"name":"도매 주문","description":"도매 주문과 조회. 주문은 **기본적으로 초안**이며 ERP 에서 사람이 확인해야 합니다."},{"name":"드롭쉬핑 주문","description":"드롭쉬핑(개별 배송) 주문과 조회, 수취인 정보 포함."},{"name":"출고와 물류","description":"출고 조회: 출고 여부와 내용물; 배송 추적과 통관 신분증 업로드(⚠️ 기본 비활성, 신청 후 사용)."},{"name":"재고 예약","description":"채널의 재고 예약(잠금 재고)."},{"name":"Finance","description":"대사: 잔액, 거래 내역, 월간 청구서, 환불 전표, 운임 전표. 읽기 전용이며 OMS 계정으로 받은 토큰에서만 사용할 수 있습니다."},{"name":"장바구니","description":"OMS 사이트 장바구니, 로그인 계정별로 읽고 씁니다. 시스템 연동은 보통 건너뛰고 바로 주문합니다."},{"name":"Me","description":""},{"name":"Feeds","description":""}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{}},"paths":{"/api/v1/auth/token":{"post":{"parameters":[],"operationId":"postApiV1AuthToken","summary":"액세스 토큰 교환: client_credentials(client_id = 채널 코드, client_secret = 시크릿) 또는 password(username = OMS 로그인 계정, password = OMS 비밀번호) → Bearer access_token","tags":["인증"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grant_type":{"anyOf":[{"const":"client_credentials","type":"string"},{"const":"password","type":"string"}],"description":"OAuth2 grant type: client_credentials(채널 코드 + 시크릿) 또는 password(OMS 계정 + 비밀번호). 생략 가능: username 이 있으면 password 로, 없으면 client_credentials 로 처리합니다."},"client_id":{"minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9_-]+$","type":"string","description":"채널 코드(OAuth2 client_id). 담당자가 발급하며 client_credentials 방식에 사용합니다. 먼저 써 보려면 sandbox 를 쓰세요."},"client_secret":{"minLength":1,"maxLength":256,"type":"string","description":"채널 시크릿(OAuth2 client_secret). client_credentials 방식에 사용합니다. 먼저 써 보려면 sandbox 를 쓰세요(샌드박스는 데모 데이터만 반환하고 실제 재고를 건드리지 않습니다)."},"username":{"minLength":1,"maxLength":64,"type":"string","description":"OMS 웹사이트 로그인 계정(password 방식), 예: 100470admin. 시스템 연동용 하위 계정을 따로 만드는 것을 권장합니다. 먼저 써 보려면 sandbox 를 쓰세요."},"password":{"minLength":1,"maxLength":256,"type":"string","description":"OMS 로그인 비밀번호(password 방식). 토큰 교환 시점에만 사용되며 게이트웨이는 저장하거나 기록하지 않습니다. 먼저 써 보려면 sandbox 를 쓰세요."}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"grant_type":{"anyOf":[{"const":"client_credentials","type":"string"},{"const":"password","type":"string"}]},"client_id":{"minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"client_secret":{"minLength":1,"maxLength":256,"type":"string"},"username":{"minLength":1,"maxLength":64,"type":"string"},"password":{"minLength":1,"maxLength":256,"type":"string"}}}},"text/plain":{"schema":{"type":"object","properties":{"grant_type":{"anyOf":[{"const":"client_credentials","type":"string"},{"const":"password","type":"string"}]},"client_id":{"minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9_-]+$","type":"string"},"client_secret":{"minLength":1,"maxLength":256,"type":"string"},"username":{"minLength":1,"maxLength":64,"type":"string"},"password":{"minLength":1,"maxLength":256,"type":"string"}}}}}},"responses":{"200":{}}}},"/api/v1/me":{"get":{"operationId":"getApiV1Me","summary":"이 토큰이 누구인지: 계정, 채널, 사용 가능한 창고, 권한, 업무 스위치(OMS 로그인은 OMS 프로필, 채널 시크릿 토큰은 창고 허용 목록과 게이트웨이 scope)","tags":["인증"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/me/readiness":{"get":{"operationId":"getApiV1MeReadiness","summary":"연동 진행 상태: 토큰 발급 / 상품 조회 가능 / 주문 생성 가능 / 부족 수량 확인 가능 / 제출 가능. 아직 도달하지 못한 단계마다 무엇을 해야 하는지 함께 제공합니다. 이 게이트웨이를 거친 호출만 보이며, \"제출 가능\"이 곧 업무 전체가 돌아간다는 뜻은 아닙니다 — 출고, 정산, 반품이 뒤에 남아 있습니다.","tags":["Me"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/shipping-methods":{"get":{"operationId":"getApiV1Shipping-methods","summary":"계정에서 사용할 수 있는 배송 방식. 도매 주문 생성 시 shipping 에 shipping_method_id 를 넣으세요","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/carriers":{"get":{"operationId":"getApiV1Carriers","summary":"계정에서 선택 가능한 물류사. 도매 주문에서 carrier_id 는 선택 사항입니다","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/addresses":{"get":{"operationId":"getApiV1Addresses","summary":"OMS 배송지 주소록. 도매 주문 생성 시 shipping 에 address_id 를 넣으세요","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/balances":{"get":{"operationId":"getApiV1Balances","summary":"계정 잔액(호주 / 중국 / 뉴질랜드 중 보유한 계정)","tags":["Finance"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/transactions":{"get":{"parameters":[{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"anyOf":[{"const":"recharge","type":"string"},{"const":"payment","type":"string"},{"const":"refund","type":"string"}]},"in":"query","name":"type","required":false,"description":"한 종류의 거래만 보기(선택): recharge(충전) / payment(차감) / refund(환불). 생략하면 전체."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Transactions","summary":"거래 내역(충전 / 결제 / 환불)과 각 거래 후 잔액; amount_total 은 페이지 합계. 대사의 기본 표","tags":["Finance"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/bills":{"get":{"parameters":[{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Bills","summary":"창고·월별 월간 청구서(결제 여부 포함)","tags":["Finance"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/refunds":{"get":{"parameters":[{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Refunds","summary":"환불 전표(도매 / 대행)와 심사 상태·사유","tags":["Finance"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/freight-bills":{"get":{"parameters":[{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Freight-bills","summary":"운임 전표(물류사, 운송장 번호, 박스 수, 금액)","tags":["Finance"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/warehouses":{"get":{"operationId":"getApiV1Warehouses","summary":"창고 목록: 코드, 이름, 국가, 회사, 합계/실물, 출고 가능, 통화","tags":["창고와 재고"],"responses":{"200":{}}}},"/api/v1/warehouses/{warehouse_code}/stock":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"path","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_./-]+$"},"in":"query","name":"sku","required":false,"description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_./-]+$"},"in":"query","name":"product_code","required":false,"description":"스타일 코드 — **스타일 하나**(모든 색상/사이즈 변형), 예: OB002. 단일 변형은 sku 를 쓰세요. 가격 조회 시 쉼표로 여러 개 가능."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1WarehousesByWarehouse_codeStock","summary":"한 창고의 재고: 필터 없음 = 창고 전체(page / page_size; 증분 동기화용 X-Stock-Version 헤더); sku= 단일 변형; product_code= 스타일의 모든 변형","tags":["창고와 재고"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/warehouses/{warehouse_code}/stock/changes":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"path","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"minimum":0,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":0,"type":"number"}]},"in":"query","name":"since","required":false,"description":"지난번 받은 version. 첫 동기화는 0(needs_full_sync=true 가 반환되며 먼저 전체를 한 번 받으라는 뜻)."},{"schema":{"minimum":1,"maximum":5000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":5000,"type":"number"}]},"in":"query","name":"limit","required":false,"description":"이번 호출 최대 변경 건수(선택, 기본 1000, 최대 5000). **소프트 제한**: 같은 version 의 변경은 나뉘지 않으므로 약간 초과할 수 있습니다."}],"operationId":"getApiV1WarehousesByWarehouse_codeStockChanges","summary":"재고 변경(증분). since=마지막 version 을 넘기고 has_more=true 인 동안 새 version 으로 재호출. needs_full_sync=true 는 since 가 너무 오래됨 — 전체를 한 번 받으세요","tags":["창고와 재고"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/products":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":128},"in":"query","name":"search","required":false,"description":"검색어(선택); 스타일 코드 또는 상품명 부분 일치."},{"schema":{"anyOf":[{"const":"wholesale","type":"string"},{"const":"dropship","type":"string"}]},"in":"query","name":"business_type","required":false,"description":"업무 유형(선택): wholesale 또는 dropship. 생략 = 전체."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Products","summary":"한 창고의 상품 목록(스타일 코드 기준 중복 제거, 가격 포함)","tags":["상품"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/products/{product_code}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_./-]+$"},"in":"path","name":"product_code","required":true,"description":"스타일 코드 — **스타일 하나**(모든 색상/사이즈 변형), 예: OB002. 단일 변형은 sku 를 쓰세요. 가격 조회 시 쉼표로 여러 개 가능."},{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":false,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."}],"operationId":"getApiV1ProductsByProduct_code","summary":"스타일 코드로 상품 상세(이미지/설명/가격 + 모든 변형; 중국어명/중량/소재는 아직 상위 시스템 미연동, 값이 있을 때만 표시)","tags":["상품"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/skus/{sku}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_./-]+$"},"in":"path","name":"sku","required":true,"description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":false,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."}],"operationId":"getApiV1SkusBySku","summary":"SKU 로 변형 상세(객체 하나)","tags":["상품"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/dropship-products":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":128},"in":"query","name":"search","required":false,"description":"검색어(선택); 스타일 코드 또는 상품명 부분 일치."},{"schema":{"anyOf":[{"const":"wholesale","type":"string"},{"const":"dropship","type":"string"}]},"in":"query","name":"business_type","required":false,"description":"업무 유형(선택): wholesale 또는 dropship. 생략 = 전체."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Dropship-products","summary":"드롭쉬핑 시스템 판매 중 상품 목록(페이지)","tags":["상품"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/prices":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":4096},"in":"query","name":"product_code","required":false,"description":"스타일 코드 — **스타일 하나**(모든 색상/사이즈 변형), 예: OB002. 단일 변형은 sku 를 쓰세요. 가격 조회 시 쉼표로 여러 개 가능."},{"schema":{"type":"string","maxLength":128},"in":"query","name":"search","required":false,"description":"검색어(선택); 스타일 코드 또는 상품명 부분 일치."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Prices","summary":"내 채널의 상품 가격(페이지; product_code 는 쉼표로 여러 개 가능)","tags":["가격"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/orders":{"post":{"parameters":[],"operationId":"postApiV1Orders","summary":"도매 주문 생성(기본은 초안; auto_confirm=true 면 승인 제출)","tags":["도매 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["warehouse_code","lines"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}],"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string","description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}],"description":"수량(양의 정수, 예: 2). 예약 조정 / 장바구니에서 0 은 해당 행 삭제."}}},"description":"명세 배열, 각 { sku, quantity }. 최소 1건; 예약 조정 시 quantity=0 은 해당 행 삭제."},"note":{"maxLength":500,"type":"string","description":"비고(선택, 최대 500자)."},"client_order_number":{"maxLength":64,"type":"string","description":"내 시스템의 주문번호(드롭쉬핑 주문 생성 시 보낸 값)."},"auto_confirm":{"type":"boolean","description":"즉시 제출 여부(선택). **생략 = 초안만** 생성되며 ERP 에서 사람이 확인해야 효력이 생깁니다 — 의도된 기본값입니다. 제출된 드롭쉬핑 주문은 즉시 배정되며 더 이상 수정할 수 없습니다."},"shipping":{"type":"object","properties":{"shipping_method_id":{"minLength":1,"maxLength":64,"type":"string","description":"배송 방식 ID. GET /api/v1/shipping-methods 에서 가져옵니다."},"carrier_id":{"minLength":1,"maxLength":64,"type":"string","description":"물류사 ID(선택). GET /api/v1/carriers 에서 가져옵니다."},"address_id":{"minLength":1,"maxLength":64,"type":"string","description":"배송지 ID. GET /api/v1/addresses 에서 가져오며, 주소록은 OMS 사이트의 사용자 → 환경설정에서 관리합니다."},"pickup_at":{"maxLength":32,"type":"string","description":"수령 시각(선택, 자가 수령 방식에서만), 예: 2026-09-10T14:00:00."}},"description":"OMS 계정으로 도매 주문을 넣을 때 필요한 배송 정보. 내부: shipping_method_id(GET /api/v1/shipping-methods), address_id(GET /api/v1/addresses), carrier_id(선택), pickup_at(자가 수령일 때만). 전체를 생략하면 OMS 계정의 기본 설정을 사용하며, 기본값도 없으면 안내와 함께 오류를 돌려줍니다."}}}},"multipart/form-data":{"schema":{"type":"object","required":["warehouse_code","lines"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}},"note":{"maxLength":500,"type":"string"},"client_order_number":{"maxLength":64,"type":"string"},"auto_confirm":{"type":"boolean"},"shipping":{"type":"object","properties":{"shipping_method_id":{"minLength":1,"maxLength":64,"type":"string"},"carrier_id":{"minLength":1,"maxLength":64,"type":"string"},"address_id":{"minLength":1,"maxLength":64,"type":"string"},"pickup_at":{"maxLength":32,"type":"string"}}}}}},"text/plain":{"schema":{"type":"object","required":["warehouse_code","lines"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}},"note":{"maxLength":500,"type":"string"},"client_order_number":{"maxLength":64,"type":"string"},"auto_confirm":{"type":"boolean"},"shipping":{"type":"object","properties":{"shipping_method_id":{"minLength":1,"maxLength":64,"type":"string"},"carrier_id":{"minLength":1,"maxLength":64,"type":"string"},"address_id":{"minLength":1,"maxLength":64,"type":"string"},"pickup_at":{"maxLength":32,"type":"string"}}}}}}}},"responses":{"200":{}}},"get":{"parameters":[{"description":"你自己那边的单号（下单时传过的）——对账时拿它找回我们这边的单","schema":{"type":"string","maxLength":64},"in":"query","name":"client_order_number","required":false},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":true,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":true,"description":"종료일, YYYY-MM-DD(포함)."},{"description":"逗号分隔：draft / confirmed / cancelled","schema":{"type":"string","maxLength":128,"pattern":"^[A-Za-z0-9,\\s_-]*$"},"in":"query","name":"status","required":false}],"operationId":"getApiV1Orders","summary":"기간 내 내 채널의 도매 주문","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/orders/{order_id}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"order_id","required":true,"description":"도매 주문번호, 주문 목록에서 확인. 본인 채널만."}],"operationId":"getApiV1OrdersByOrder_id","summary":"도매 주문 상세(소유권 확인)","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}},"delete":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"order_id","required":true,"description":"도매 주문번호, 주문 목록에서 확인. 본인 채널만."}],"operationId":"deleteApiV1OrdersByOrder_id","summary":"도매 주문을 취소하고 잡고 있던 재고를 해제합니다. 이미 출고된 주문은 취소할 수 없습니다","tags":["도매 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/orders/{order_id}/allocation-preview":{"post":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"order_id","required":true,"description":"도매 주문번호, 주문 목록에서 확인. 본인 채널만."}],"operationId":"postApiV1OrdersByOrder_idAllocation-preview","summary":"배정 미리보기: 행별 배정 가능 수량·부족 수량·예약 재고 입고일·결제 금액·잔액 충분 여부. 미리보기는 재고를 잡아 두므로 이후 제출하거나 취소하세요","tags":["도매 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"use_reservation":{"type":"boolean","description":"이번 배정에 예약(잠금) 재고를 사용할지 여부. 생략 = 사용 안 함."}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"use_reservation":{"type":"boolean"}}}},"text/plain":{"schema":{"type":"object","properties":{"use_reservation":{"type":"boolean"}}}}}},"responses":{"200":{}}}},"/api/v1/orders/{order_id}/submit":{"post":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"order_id","required":true,"description":"도매 주문번호, 주문 목록에서 확인. 본인 채널만."}],"operationId":"postApiV1OrdersByOrder_idSubmit","summary":"도매 주문 제출(이후 명세 변경 불가). payment_method 기본값은 invoice(청구서 결제)","tags":["도매 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}],"description":"결제 수단: balance / invoice(청구서 결제) / wechat / alipay. 기본값은 invoice, 즉 월 정산입니다."},"use_reservation":{"type":"boolean","description":"이번 배정에 예약(잠금) 재고를 사용할지 여부. 생략 = 사용 안 함."}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}]},"use_reservation":{"type":"boolean"}}}},"text/plain":{"schema":{"type":"object","properties":{"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}]},"use_reservation":{"type":"boolean"}}}}}},"responses":{"200":{}}}},"/api/v1/feeds/products":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"description":"csv（默认）/ xml / json","schema":{"type":"string","maxLength":8},"in":"query","name":"format","required":false},{"description":"你站上的商品页地址模板，里面用 {product_code} 或 {sku} 占位，我们替你拼。**不给就不出 link**，而 link 是必填项","schema":{"type":"string","maxLength":300},"in":"query","name":"link_template","required":false},{"description":"图片链接的绝对前缀。不给用服务端配置。**必须走加密链接（TLS）**，明文图片链接各平台基本都会拒","schema":{"type":"string","maxLength":200},"in":"query","name":"image_base","required":false},{"description":"强制重拼。**不会再给你旧的那份** —— 回 202，拼好了再来取","schema":{"type":"boolean"},"in":"query","name":"rebuild","required":false}],"operationId":"getApiV1FeedsProducts","summary":"상품 피드 생성(Google Merchant 규격 — 대량 내보내기도 겸함): csv / xml / json 세 가지를 한 번에 만들어 예약 수집용으로 저장합니다. OMS 계정 로그인이 필요합니다 — 고객사 전용 채널 가격은 OMS 세션에서만 조회할 수 있으며, 기준가로 만든 피드는 잘못된 가격으로 판매하게 됩니다.","tags":["Feeds"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/feeds/products/status":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."}],"operationId":"getApiV1FeedsProductsStatus","summary":"상품 피드 생성 진행 상태 확인: 생성 중 / 완료 / 실패(실패 사유 포함), 그리고 최신 결과물의 행 수, 생성 시각, 지적 사항. 생성에는 몇 분이 걸리며 백그라운드에서 실행됩니다 — 백그라운드 실패는 아무도 볼 수 없기 때문에 사유를 여기서 제공합니다.","tags":["Feeds"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/feeds/{channel}/{file}":{"get":{"operationId":"getFeedsByChannelByFile","summary":"下载商品 feed（HTTP Basic；给 Google Merchant 这类定时抓取用）。带 ETag / Last-Modified / 构建时间","tags":["Feeds"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"channel","required":true},{"schema":{"type":"string"},"in":"path","name":"file","required":true}],"responses":{"200":{}}}},"/api/v1/dropship-orders":{"post":{"parameters":[],"operationId":"postApiV1Dropship-orders","summary":"드롭쉬핑 주문 생성(수취인 + 명세)","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["warehouse_code","sku","quantity","recipient"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}],"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},"sku":{"minLength":1,"maxLength":64,"type":"string","description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},"quantity":{"minimum":1,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99999,"type":"integer"}],"description":"수량(양의 정수, 예: 2). 예약 조정 / 장바구니에서 0 은 해당 행 삭제."},"recipient":{"type":"object","required":["name","phone","address","country_code"],"properties":{"name":{"minLength":1,"maxLength":128,"type":"string","description":"수취인 이름."},"phone":{"minLength":1,"maxLength":64,"type":"string","description":"수취인 전화번호. 국제 배송은 국가번호 포함(예: +61…)."},"address":{"minLength":1,"maxLength":512,"type":"string","description":"배송 주소(번지 포함) — 주소 불완전은 배송 실패의 가장 흔한 원인입니다."},"country_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"CN","type":"string"},{"const":"NZ","type":"string"}],"description":"수취 국가: AU / CN / NZ (드롭쉬핑은 이 세 나라만 지원)."},"state":{"maxLength":64,"type":"string","description":"주/도, 예: NSW. 호주·뉴질랜드 주소는 필수."},"city":{"maxLength":128,"type":"string","description":"도시, 예: Sydney. 호주·뉴질랜드 주소는 필수."},"postal_code":{"maxLength":16,"type":"string","description":"우편번호, 예: 2000. 호주·뉴질랜드 주소는 필수."}},"description":"수취인 객체 { name, phone, address, country_code, state, city, postal_code }. country_code 는 AU / CN / NZ; 호주·뉴질랜드는 state, city, postal_code 필수. 국제 배송은 전화번호에 국가번호(+61…), 주소에 번지까지 포함하세요 — 주소 불완전이 배송 실패의 가장 흔한 원인입니다."},"sender":{"type":"object","properties":{"name":{"maxLength":128,"type":"string","description":"수취인 이름."},"phone":{"maxLength":64,"type":"string","description":"수취인 전화번호. 국제 배송은 국가번호 포함(예: +61…)."}},"description":"발송인 객체 { name, phone } (선택), 운송장에 인쇄됩니다."},"shipping_method":{"anyOf":[{"const":"normal","type":"string"},{"const":"express","type":"string"},{"const":"ems","type":"string"}],"description":"배송 방식: normal(기본), express 또는 ems."},"auto_confirm":{"type":"boolean","description":"즉시 제출 여부(선택). **생략 = 초안만** 생성되며 ERP 에서 사람이 확인해야 효력이 생깁니다 — 의도된 기본값입니다. 제출된 드롭쉬핑 주문은 즉시 배정되며 더 이상 수정할 수 없습니다."},"client_order_number":{"maxLength":64,"type":"string","description":"내 시스템의 주문번호(드롭쉬핑 주문 생성 시 보낸 값)."},"note":{"maxLength":500,"type":"string","description":"비고(선택, 최대 500자)."}}}},"multipart/form-data":{"schema":{"type":"object","required":["warehouse_code","sku","quantity","recipient"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":1,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99999,"type":"integer"}]},"recipient":{"type":"object","required":["name","phone","address","country_code"],"properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"phone":{"minLength":1,"maxLength":64,"type":"string"},"address":{"minLength":1,"maxLength":512,"type":"string"},"country_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"CN","type":"string"},{"const":"NZ","type":"string"}]},"state":{"maxLength":64,"type":"string"},"city":{"maxLength":128,"type":"string"},"postal_code":{"maxLength":16,"type":"string"}}},"sender":{"type":"object","properties":{"name":{"maxLength":128,"type":"string"},"phone":{"maxLength":64,"type":"string"}}},"shipping_method":{"anyOf":[{"const":"normal","type":"string"},{"const":"express","type":"string"},{"const":"ems","type":"string"}]},"auto_confirm":{"type":"boolean"},"client_order_number":{"maxLength":64,"type":"string"},"note":{"maxLength":500,"type":"string"}}}},"text/plain":{"schema":{"type":"object","required":["warehouse_code","sku","quantity","recipient"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":1,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":1,"maximum":99999,"type":"integer"}]},"recipient":{"type":"object","required":["name","phone","address","country_code"],"properties":{"name":{"minLength":1,"maxLength":128,"type":"string"},"phone":{"minLength":1,"maxLength":64,"type":"string"},"address":{"minLength":1,"maxLength":512,"type":"string"},"country_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"CN","type":"string"},{"const":"NZ","type":"string"}]},"state":{"maxLength":64,"type":"string"},"city":{"maxLength":128,"type":"string"},"postal_code":{"maxLength":16,"type":"string"}}},"sender":{"type":"object","properties":{"name":{"maxLength":128,"type":"string"},"phone":{"maxLength":64,"type":"string"}}},"shipping_method":{"anyOf":[{"const":"normal","type":"string"},{"const":"express","type":"string"},{"const":"ems","type":"string"}]},"auto_confirm":{"type":"boolean"},"client_order_number":{"maxLength":64,"type":"string"},"note":{"maxLength":500,"type":"string"}}}}}},"responses":{"200":{}}},"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":false,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"anyOf":[{"type":"boolean"},{"format":"boolean","default":false,"type":"string"}]},"in":"query","name":"shipped","required":false,"description":"출고됨(true) 또는 미출고(false) 만(선택)."},{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"client_order_number","required":false,"description":"내 시스템의 주문번호(드롭쉬핑 주문 생성 시 보낸 값)."},{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"serial_number","required":false,"description":"드롭쉬핑 일련번호, 드롭쉬핑 주문 목록에서 확인. 본인 채널만."}],"operationId":"getApiV1Dropship-orders","summary":"드롭쉬핑 주문 목록: 창고 + 기간, 또는 client_order_number / serial_number 로 한 건 찾기","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/dropship-orders/summary":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":true,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":true,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"minimum":1,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"type":"number"}]},"in":"query","name":"page","required":false,"description":"페이지 번호, 1부터(선택). 창고 전체 재고는 생략 시 전부 반환 — 3만 행 이상이므로 페이지네이션 권장."},{"schema":{"minimum":1,"maximum":2000,"anyOf":[{"format":"numeric","default":0,"type":"string"},{"minimum":1,"maximum":2000,"type":"number"}]},"in":"query","name":"page_size","required":false,"description":"페이지당 건수(선택), 최대 2000."}],"operationId":"getApiV1Dropship-ordersSummary","summary":"드롭쉬핑 주문 요약 목록(페이지)","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/dropship-orders/{dropship_order_id}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"dropship_order_id","required":true,"description":"드롭쉬핑 주문번호, 드롭쉬핑 주문 목록에서 확인. 본인 채널만."}],"operationId":"getApiV1Dropship-ordersByDropship_order_id","summary":"드롭쉬핑 주문 상세(소유권 확인)","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}},"delete":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"dropship_order_id","required":true,"description":"드롭쉬핑 주문번호, 드롭쉬핑 주문 목록에서 확인. 본인 채널만."}],"operationId":"deleteApiV1Dropship-ordersByDropship_order_id","summary":"대행 건을 취소하고 잡고 있던 재고를 해제합니다. 이미 출고된 건은 취소할 수 없습니다","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/dropship-orders/allocation-preview":{"post":{"parameters":[],"operationId":"postApiV1Dropship-ordersAllocation-preview","summary":"대행 사전배정: 건별 배정 가능 여부·부족 수량·예약 재고 입고일·결제 금액. 사전배정은 재고를 잡아 두므로 제출하거나 DELETE …/{dropship_order_id}/allocation 으로 해제하세요","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}],"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"},"description":"대행 일련번호 배열(생성 시 반환된 serial_number). 호출당 최대 200건."},"use_reservation":{"type":"boolean","description":"이번 배정에 예약(잠금) 재고를 사용할지 여부. 생략 = 사용 안 함."}}}},"multipart/form-data":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"use_reservation":{"type":"boolean"}}}},"text/plain":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"use_reservation":{"type":"boolean"}}}}}},"responses":{"200":{}}}},"/api/v1/dropship-orders/submit":{"post":{"parameters":[],"operationId":"postApiV1Dropship-ordersSubmit","summary":"대행 건 제출(이후 변경 불가). 먼저 사전배정 후 preview_key 와 함께 제출; payment_method 기본값 invoice","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}],"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"},"description":"대행 일련번호 배열(생성 시 반환된 serial_number). 호출당 최대 200건."},"preview_key":{"maxLength":128,"type":"string","description":"사전배정이 반환한 preview_key. 함께 보내면 \"그 미리보기 결과 그대로 제출\"이며, 생략하면 제출 시점에 다시 계산합니다."},"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}],"description":"결제 수단: balance / invoice(청구서 결제) / wechat / alipay. 기본값은 invoice, 즉 월 정산입니다."},"use_reservation":{"type":"boolean","description":"이번 배정에 예약(잠금) 재고를 사용할지 여부. 생략 = 사용 안 함."}}}},"multipart/form-data":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"preview_key":{"maxLength":128,"type":"string"},"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}]},"use_reservation":{"type":"boolean"}}}},"text/plain":{"schema":{"type":"object","required":["warehouse_code","dropship_order_ids"],"properties":{"warehouse_code":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"dropship_order_ids":{"minItems":1,"maxItems":200,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"preview_key":{"maxLength":128,"type":"string"},"payment_method":{"anyOf":[{"const":"balance","type":"string"},{"const":"wechat","type":"string"},{"const":"alipay","type":"string"},{"const":"invoice","type":"string"}]},"use_reservation":{"type":"boolean"}}}}}},"responses":{"200":{}}}},"/api/v1/dropship-orders/{dropship_order_id}/allocation":{"delete":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"dropship_order_id","required":true,"description":"드롭쉬핑 주문번호, 드롭쉬핑 주문 목록에서 확인. 본인 채널만."}],"operationId":"deleteApiV1Dropship-ordersByDropship_order_idAllocation","summary":"제출하지 않기로 한 사전배정이 잡고 있는 재고를 해제합니다","tags":["드롭쉬핑 주문"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/shipments":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."}],"operationId":"getApiV1Shipments","summary":"내 채널의 출고 목록","tags":["출고와 물류"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/shipments/identity-documents":{"post":{"parameters":[],"operationId":"postApiV1ShipmentsIdentity-documents","summary":"수취인 신분증 이미지 업로드 ⚠️ 최종 소비자 신분증 앞뒤(개인정보). 기본 비활성, 신청 후 사용; 전달만 하며 로그/캐시 없음","tags":["출고와 물류"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["front_image","back_image"],"properties":{"front_image":{"maxLength":8000000,"type":"string","description":"⚠️ 신분증 앞면(base64). 최종 소비자의 민감 개인정보: 전달만 하며 로그/캐시에 남기지 않습니다. 기본 비활성, 명시적 신청 필요."},"back_image":{"maxLength":8000000,"type":"string","description":"⚠️ 신분증 뒷면(base64). 위와 동일."},"shipment_ids":{"maxItems":100,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"},"description":"관련 출고번호 목록(선택)."},"recipient":{"type":"object","properties":{"name":{"maxLength":128,"type":"string","description":"수취인 이름."},"phone":{"maxLength":64,"type":"string","description":"수취인 전화번호. 국제 배송은 국가번호 포함(예: +61…)."}},"description":"수취인 객체 { name, phone, address, country_code, state, city, postal_code }. country_code 는 AU / CN / NZ; 호주·뉴질랜드는 state, city, postal_code 필수. 국제 배송은 전화번호에 국가번호(+61…), 주소에 번지까지 포함하세요 — 주소 불완전이 배송 실패의 가장 흔한 원인입니다."},"document_number":{"maxLength":64,"type":"string","description":"신분증 번호(선택)."}}}},"multipart/form-data":{"schema":{"type":"object","required":["front_image","back_image"],"properties":{"front_image":{"maxLength":8000000,"type":"string"},"back_image":{"maxLength":8000000,"type":"string"},"shipment_ids":{"maxItems":100,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"recipient":{"type":"object","properties":{"name":{"maxLength":128,"type":"string"},"phone":{"maxLength":64,"type":"string"}}},"document_number":{"maxLength":64,"type":"string"}}}},"text/plain":{"schema":{"type":"object","required":["front_image","back_image"],"properties":{"front_image":{"maxLength":8000000,"type":"string"},"back_image":{"maxLength":8000000,"type":"string"},"shipment_ids":{"maxItems":100,"type":"array","items":{"minLength":1,"maxLength":64,"type":"string"}},"recipient":{"type":"object","properties":{"name":{"maxLength":128,"type":"string"},"phone":{"maxLength":64,"type":"string"}}},"document_number":{"maxLength":64,"type":"string"}}}}}},"responses":{"200":{}}}},"/api/v1/shipments/{shipment_id}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"shipment_id","required":true,"description":"출고번호(추적에도 사용), 출고 목록에서 확인. 본인 채널만."}],"operationId":"getApiV1ShipmentsByShipment_id","summary":"출고 상세(소유권 확인)","tags":["출고와 물류"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/shipments/{shipment_id}/tracking":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"shipment_id","required":true,"description":"출고번호(추적에도 사용), 출고 목록에서 확인. 본인 채널만."}],"operationId":"getApiV1ShipmentsByShipment_idTracking","summary":"배송 추적(Auexpress; 기본 비활성, 신청 후 사용)","tags":["출고와 물류"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/reservations":{"get":{"parameters":[{"schema":{"anyOf":[{"const":"AU","type":"string"},{"const":"AUSYD2","type":"string"},{"const":"AUSYD1","type":"string"},{"const":"CN","type":"string"},{"const":"CHNZJ1","type":"string"}]},"in":"query","name":"warehouse_code","required":true,"description":"창고 코드: AU(호주 전체 — 합계 뷰), AUSYD2(시드니 메인, Rosehill), AUSYD1(시드니 액세서리), CN(중국 전체 — 합계 뷰), CHNZJ1(전장). 전체 목록: GET /api/v1/warehouses."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"start_date","required":false,"description":"시작일, YYYY-MM-DD(포함)."},{"schema":{"type":"string","maxLength":10,"pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"},"in":"query","name":"end_date","required":false,"description":"종료일, YYYY-MM-DD(포함)."},{"schema":{"anyOf":[{"const":"reserved","type":"string"},{"const":"cancelled","type":"string"}]},"in":"query","name":"status","required":false,"description":"상태 필터(선택), 쉼표 구분. 도매 주문: draft / confirmed / cancelled; 예약: reserved / cancelled. 생략 시 필터 없음(예약은 기본 reserved + cancelled). 응답의 `status` 도 같은 단어이며 원래 코드는 `status_raw` 에 있습니다."}],"operationId":"getApiV1Reservations","summary":"내 채널의 재고 예약 목록","tags":["재고 예약"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/reservations/{reservation_id}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"reservation_id","required":true,"description":"예약번호, 예약 목록에서 확인. 본인 채널만(조회/조정)."}],"operationId":"getApiV1ReservationsByReservation_id","summary":"예약 상세(소유권 확인)","tags":["재고 예약"],"security":[{"bearer":[]}],"responses":{"200":{}}},"patch":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"reservation_id","required":true,"description":"예약번호, 예약 목록에서 확인. 본인 채널만(조회/조정)."}],"operationId":"patchApiV1ReservationsByReservation_id","summary":"예약 명세 조정(쓰기; 소유권 확인)","tags":["재고 예약"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string","description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}],"description":"수량(양의 정수, 예: 2). 예약 조정 / 장바구니에서 0 은 해당 행 삭제."}}},"description":"명세 배열, 각 { sku, quantity }. 최소 1건; 예약 조정 시 quantity=0 은 해당 행 삭제."},"note":{"maxLength":500,"type":"string","description":"비고(선택, 최대 500자)."}}}},"multipart/form-data":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}},"note":{"maxLength":500,"type":"string"}}}},"text/plain":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}},"note":{"maxLength":500,"type":"string"}}}}}},"responses":{"200":{}}}},"/api/v1/carts/{account}":{"get":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"account","required":true,"description":"장바구니 소유 계정(OMS 사이트 로그인 계정, 예: 100470admin)."}],"operationId":"getApiV1CartsByAccount","summary":"계정의 장바구니","tags":["장바구니"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/carts/{account}/lines":{"put":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"account","required":true,"description":"장바구니 소유 계정(OMS 사이트 로그인 계정, 예: 100470admin)."}],"operationId":"putApiV1CartsByAccountLines","summary":"장바구니 항목 추가/수정(멱등)","tags":["장바구니"],"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string","description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}],"description":"수량(양의 정수, 예: 2). 예약 조정 / 장바구니에서 0 은 해당 행 삭제."}}},"description":"명세 배열, 각 { sku, quantity }. 최소 1건; 예약 조정 시 quantity=0 은 해당 행 삭제."}}}},"multipart/form-data":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}}}}},"text/plain":{"schema":{"type":"object","required":["lines"],"properties":{"lines":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","required":["sku","quantity"],"properties":{"sku":{"minLength":1,"maxLength":64,"type":"string"},"quantity":{"minimum":0,"maximum":99999,"anyOf":[{"format":"integer","default":0,"type":"string"},{"minimum":0,"maximum":99999,"type":"integer"}]}}}}}}}}},"responses":{"200":{}}}},"/api/v1/carts/{account}/lines/{sku}":{"delete":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"account","required":true,"description":"장바구니 소유 계정(OMS 사이트 로그인 계정, 예: 100470admin)."},{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"sku","required":true,"description":"SKU / 바코드 — **색상 + 사이즈** 단위, 예: OB0021611. 스타일 전체는 product_code 를 쓰세요."}],"operationId":"deleteApiV1CartsByAccountLinesBySku","summary":"장바구니에서 SKU 하나 제거","tags":["장바구니"],"security":[{"bearer":[]}],"responses":{"200":{}}}},"/api/v1/carts/{account}/products/{product_code}":{"delete":{"parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"account","required":true,"description":"장바구니 소유 계정(OMS 사이트 로그인 계정, 예: 100470admin)."},{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"path","name":"product_code","required":true,"description":"스타일 코드 — **스타일 하나**(모든 색상/사이즈 변형), 예: OB002. 단일 변형은 sku 를 쓰세요. 가격 조회 시 쉼표로 여러 개 가능."}],"operationId":"deleteApiV1CartsByAccountProductsByProduct_code","summary":"한 스타일의 모든 SKU 를 장바구니에서 제거","tags":["장바구니"],"security":[{"bearer":[]}],"responses":{"200":{}}}}}}