- 특정 상품의 추가상품 등록/수정 시에 사용합니다.
- 추가상품이란? 본상품 구매 시 함께 구매하기 좋은 부가 상품을 등록할 수 있는 기능입니다.
(예시: 본상품-수영복 / 추가상품-수모, 수경 등) - 도서/전통주 상품에는 추가상품 등록이 불가합니다.
- 추가상품 등록/수정 시에는 본 상품이 이미 등록되어 있어야하며, 본 상품을 찾을 수 없는 경우 에러가 발생됩니다.
- 각 추가상품의 id는 등록 시 자동으로 생성되며, 추가상품 조회 API를 통해 확인할 수 있습니다.
- 추가상품을 신규 등록할 때는 items 의 id 필드를 빈값으로, 수정할때는 기존 추가상품의 id 값을 입력합니다.
입력한 id 가 존재하지 않는 경우, 추가상품명·추가상품값이 동일한 항목이 있으면 수정으로 없으면 신규 등록으로 처리됩니다. - 추가상품은 추가상품명(name)과 추가상품값(value)의 조합으로 구성됩니다.
- 추가상품명 : 상품의 종류 (예시 : 가방)
- 추가상품값 : 추가상품명 하위 선택값 (예시 : 블랙, 화이트 등)
- 추가상품명·추가상품값이 동일한 항목은 중복 등록할 수 없습니다.
- 상품당 추가상품명은 최대 5개, 추가상품값 기준으로 전체 최대 500개까지 등록 가능합니다.
- 추가상품 등록 시 추가상품명(name), 추가상품값(value), 추가상품가(items.price), 추가상품 재고수량(items.stockQuantity)을 모두 필수로 입력해야 합니다.
- 추가상품명은 최대 25자, 추가상품값은 최대 40자까지 입력 가능
- 추가상품가는 최소 100원 이상 최대 1억 미만까지 10원 단위로 입력 가능
- 추가상품 재고수량은 최소 0개 이상 최대 1억개 미만으로 입력 가능
- 추가상품 재고수량은 본상품 재고수량과 별도로 관리됩니다. 추가상품을 설정하더라도 본상품 재고수량은 기존과 동일하게 입력해 주세요.
- 상품상세 페이지 내 추가상품값의 노출순서는 orderType 필드(AdditionalProductSortType)로 설정할 수 있으며, 값을 지정하지 않으면 기본값인 '등록순'이 적용됩니다.
요청
<Content-type: application/json 요청 >
POST /v1/store/product/additional-product/update HTTP/1.1 Content-type: application/json
| 키 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| productId | Long | 필수 | 상품번호 |
| additionalProduct | AdditionalProduct | 필수 | 추가상품 정보 |
< option json 샘플>
- 추가상품 등록/수정
{
"productId":1,
"additionalProduct":{
"orderType":"ABC",
"items":[
{
"id":1,
"name":"포장 선택",
"value":"선물포장",
"price":3000,
"stockQuantity":20,
"usable":true,
"managedCode":"GIFT-001"
}
]
}
}
- 추가상품 삭제
{
"productId":1,
"additionalProduct":{
"items":[]
}
}응답
<응답 바디>
| 필드명 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
| productId | Long | 필수 | 상품번호 |
| additionalProduct | AdditionalProduct | 필수 | 추가상품 정보 |
<응답 바디 샘플>
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"productId":1,
"additionalProduct":{
"orderType":"CREATE",
"items":[
{
"id":1,
"name":"포장 선택",
"value":"선물포장",
"price":3000,
"stockQuantity":20,
"usable":true,
"managedCode":"GIFT-001"
}
]
}
}