상품
상품 등록
Authorization
bearer AuthorizationBearer <token>
userToken(계정 스코프) 또는 storeToken(스토어 스코프)
In: header
Header Parameters
idempotency-key?string
멱등키. 같은 키로 다시 보내면 처음 결과를 돌려주고 한 번만 적용한다. 재시도에는 같은 키를 쓴다
Length
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
name*string
Length
1 <= length <= 100categoryId*string
Length
1 <= lengthsalePrice*integer
판매가. 원(KRW) 단위 정수, 최소 10원, 10원 단위
Multiple Of
10Range
10 <= valueoriginalPrice?integer
정가(할인 전 표시 가격). 원 단위
description?string
descriptionJson?string|null
images?array<>
Items
1 <= items <= 10attributes?array<>
deliveryType?string
배송비 유형. FREE 무료, PAID 유료, CONDITIONAL_FREE 조건부 무료
Default
"PAID"Value in
- "FREE"
- "PAID"
- "CONDITIONAL_FREE"
deliveryFee?integer
배송비. 원 단위
Default
0conditionalFreeAmount?integer
CONDITIONAL_FREE일 때 무료 배송이 되는 주문 금액. 원 단위
returnFee?integer
반품 배송비. 원 단위
Default
0exchangeFee?integer
교환 배송비. 원 단위
Default
0shippingAddressId?string
returnAddressId?string
optionGroups?array<>
Items
items <= 3Default
[]variants*array<>
Items
1 <= items <= 500Response Body
application/json
curl -X POST "https://example.com/v1/products" \ -H "Content-Type: application/json" \ -d '{ "name": "오버핏 코튼 반팔 티셔츠", "categoryId": "cat_tshirt", "salePrice": 29000, "originalPrice": 39000, "description": "<p>도톰한 20수 코튼으로 만든 오버핏 반팔 티셔츠입니다.</p>", "images": [ "https://cdn.avarlabs.com/demo/tshirt-white.jpg" ], "deliveryType": "CONDITIONAL_FREE", "deliveryFee": 3000, "conditionalFreeAmount": 50000, "returnFee": 3000, "exchangeFee": 6000, "optionGroups": [ { "name": "색상", "values": [ { "name": "화이트" }, { "name": "블랙" } ] }, { "name": "사이즈", "values": [ { "name": "M" }, { "name": "L" } ] } ], "variants": [ { "valueNames": [ "화이트", "M" ], "stockQuantity": 50 }, { "valueNames": [ "화이트", "L" ], "stockQuantity": 40 }, { "valueNames": [ "블랙", "M" ], "stockQuantity": 35 }, { "valueNames": [ "블랙", "L" ], "additionalPrice": 1000, "stockQuantity": 20 } ] }'{ "meta": { "status": 201, "code": "OK", "message": "OK", "isSuccess": true }, "data": { "productId": "prod_3f9a1c2b7d4e", "name": "오버핏 코튼 반팔 티셔츠", "status": "SALE", "salePrice": 29000, "discountedPrice": null, "stockQuantity": 145, "categoryId": "cat_tshirt", "thumbnailUrl": "https://cdn.avarlabs.com/demo/tshirt-white.jpg", "hasOptions": true, "updatedAt": "2026-09-24T10:30:00+09:00", "createdAt": "2026-09-24T10:30:00+09:00", "description": "<p>도톰한 20수 코튼으로 만든 오버핏 반팔 티셔츠입니다.</p>", "descriptionJson": null, "originalPrice": 39000, "images": [ "https://cdn.avarlabs.com/demo/tshirt-white.jpg" ], "attributes": [], "optionGroups": [ { "groupId": "og_color", "name": "색상", "sortOrder": 0, "values": [ { "valueId": "ov_white", "name": "화이트", "sortOrder": 0 }, { "valueId": "ov_black", "name": "블랙", "sortOrder": 1 } ] }, { "groupId": "og_size", "name": "사이즈", "sortOrder": 1, "values": [ { "valueId": "ov_m", "name": "M", "sortOrder": 0 }, { "valueId": "ov_l", "name": "L", "sortOrder": 1 } ] } ], "variants": [ { "variantId": "var_white_m", "valueIds": [ "ov_white", "ov_m" ], "name": "화이트 / M", "additionalPrice": 0, "stockQuantity": 50, "sku": null, "barcode": null, "costPrice": null, "weightGram": null, "sellerCode": null, "usable": true }, { "variantId": "var_white_l", "valueIds": [ "ov_white", "ov_l" ], "name": "화이트 / L", "additionalPrice": 0, "stockQuantity": 40, "sku": null, "barcode": null, "costPrice": null, "weightGram": null, "sellerCode": null, "usable": true }, { "variantId": "var_black_m", "valueIds": [ "ov_black", "ov_m" ], "name": "블랙 / M", "additionalPrice": 0, "stockQuantity": 35, "sku": null, "barcode": null, "costPrice": null, "weightGram": null, "sellerCode": null, "usable": true }, { "variantId": "var_black_l", "valueIds": [ "ov_black", "ov_l" ], "name": "블랙 / L", "additionalPrice": 1000, "stockQuantity": 20, "sku": null, "barcode": null, "costPrice": null, "weightGram": null, "sellerCode": null, "usable": true } ], "deliveryType": "CONDITIONAL_FREE", "deliveryFee": 3000, "conditionalFreeAmount": 50000, "returnFee": 3000, "exchangeFee": 6000, "shippingAddressId": null, "returnAddressId": null }, "error": null}