sayren Docs
상품

상품 등록

POST
/v1/products
AuthorizationBearer <token>

userToken(계정 스코프) 또는 storeToken(스토어 스코프)

In: header

Header Parameters

idempotency-key?string

멱등키. 같은 키로 다시 보내면 처음 결과를 돌려주고 한 번만 적용한다. 재시도에는 같은 키를 쓴다

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name*string
Length1 <= length <= 100
categoryId*string
Length1 <= length
salePrice*integer

판매가. 원(KRW) 단위 정수, 최소 10원, 10원 단위

Multiple Of10
Range10 <= value
originalPrice?integer

정가(할인 전 표시 가격). 원 단위

description?string
descriptionJson?string|null
images?array<>
Items1 <= items <= 10
attributes?array<>
deliveryType?string

배송비 유형. FREE 무료, PAID 유료, CONDITIONAL_FREE 조건부 무료

Default"PAID"

Value in

  • "FREE"
  • "PAID"
  • "CONDITIONAL_FREE"
deliveryFee?integer

배송비. 원 단위

Default0
conditionalFreeAmount?integer

CONDITIONAL_FREE일 때 무료 배송이 되는 주문 금액. 원 단위

returnFee?integer

반품 배송비. 원 단위

Default0
exchangeFee?integer

교환 배송비. 원 단위

Default0
shippingAddressId?string
returnAddressId?string
optionGroups?array<>
Itemsitems <= 3
Default[]
variants*array<>
Items1 <= items <= 500

Response 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}