특정 상품의 옵션 등록/수정 시에 사용합니다.
옵션 등록/수정 시에는 본 상품이 이미 등록되어 있어야 하며, 본 상품을 찾을 수 없는 경우 에러가 발생됩니다.
각 옵션의 id값은 등록시에 자동으로 생성되며, 옵션 조회 api를 통해 확인할 수 있습니다.
상품 하위에 옵션을 신규 등록하는 경우에는 옵션 리스트 내 id 필드는 빈 값으로 입력하시고, 수정일 경우에는 옵션 id 값을 입력하시면 됩니다. 입력된 옵션 id 값이 존재하지 않는 경우 ‘옵션을 찾을 수 없습니다.’ 에러가 발생됩니다.
상품 등록시 옵션의 type 필드는 필수 값입니다. 옵션이 없는 상품인 경우 type 필드에 “NONE” 값을 입력해 주세요.
옵션 type은 크게 선택형과 구매자 작성형으로 구분됩니다.
- 
선택형: 주문시 판매자가 미리 설정해 둔 옵션 리스트 중에서 구매자가 옵션값을 선택하도록 하는 옵션 형태로, 상품 옵션 설정시 다시 독립형(Simple)과 조합형(Combination)으로 구분해서 설정할 수 있습니다. 
 선택형 중 조합형만 옵션 가격, 옵션별 재고수량, 옵션별 발송예정일 및 옵션 바로구매 설정을 할 수 있습니다.
- 
구매재 작성형(Custom): 주문시 구매자가 주문하려는 옵션 내용을 직접 작성할 수 있는 옵션 형태 입니다. 판매자가 상품 옵션 설정시 옵션명만 설정합니다. 
조합형 옵션인 경우 옵션별 재고수량(Combinations.stockQuantity)을 입력해야 하며, 본상품 재고수량(OptionRequest.stockQuantity)은 빈 값으로 요청되어야 합니다.
조합형 옵션이 아닌 경우에는 본상품 재고수량(OptionRequest.stockQuantity)을 입력해 주세요.
요청
<Content-type: application/x-www-form-urlencoded 요청>
POST /v1/store/product/option/update?productId={}&option={} HTTP/1.1
Content-type: application/x-www-form-urlencoded;charset=utf-8
| 키 | 타입 | 필수여부 | 설명 | 
|---|---|---|---|
| productId | Long | 필수 | 상품번호 | 
| option | OptionRequest json object기반 String | 필수 | 옵션 정보 | 
< option json 샘플>
- 옵션 없는 상품으로 등록 / 수정
{
  "stockQuantity":10,
  "option":{
    "type":"NONE"
  }
}
- 독립형 상품으로 등록 / 수정
{
  "stockQuantity":10,
  "option":{
    "type":"SIMPLE",
    "simpleSortType":"CREATE",
    "simples":[
      {
        "id":1,
        "name":"string",
        "value":"string",
        "usable":true
      }
    ]
  }
}
- 조합형 상품으로 등록 / 수정
{
  "option":{
    "type":"COMBINATION",
    "combinationSortType":"CREATE",
    "combinationAttributes":[
      {
        "id":1,
        "name":"사이즈",
        "value":"M"
      },
      {
        "id":2,
        "name":"컬러",
        "value":"RED"
      }
    ],
    "combinations":[
      {
        "id":1,
        "name":[
          {
            "key":"사이즈",
            "value":"M"
          },
          {
            "key":"컬러",
            "value":"RED"
          }
        ],
        "usable":true,
        "price":2000,
        "stockQuantity":10,
        "managedCode":"string"
      }
    ],
    "optionDisplay": {
      "useInstantOrder": true,
      "instantOrderTemplateType": "TYPE_1"
    }
  }
}
- 작성형 상품으로 등록 / 수정
{
  "stockQuantity":10,
  "option":{
    "type":"CUSTOM",
    "customs":[
      {
        "id":1,
        "name":"길이를 입력해 주세요.",
        "usable":true
      }
    ]
  }
}
응답
<응답 바디>
| 필드명 | 타입 | 필수여부 | 설명 | 
|---|---|---|---|
| productId | Long | 필수 | 상품번호 | 
| option | Option | 필수 | 옵션 정보 목록 | 
<응답 바디 샘플>
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "productId":1,
  "option":{
    "type":"COMBINATION",
    "combinations":[
      {
        "id":1,
        "name":[
          {
            "key":"사이즈",
            "value":"M"
          },
          {
            "key":"컬러",
            "value":"RED"
          }
        ],
        "price":"300",
        "stockQuantity":50,
        "managedCode":"SY",
        "usable":true
      }
    ],
    "combinationAttributes":[
      {
        "id":1,
        "name":"사이즈",
        "value":"M"
      },
      {
        "id":2,
        "name":"컬러",
        "value":"RED"
      }
    ],
    "optionDisplay": {
      "useInstantOrder": true,
      "instantOrderTemplateType": "TYPE_1"
    }
  }
}