Mall StoryDevelopers
관리자 API상품 관리소유자 토큰

상품 수정

보낸 필드만 고칩니다. expected_updated 로 덮어쓰기를 막습니다.

업데이트됨 10.14 — 상품 아이콘 API 와 상품의 icon_id 를 열었습니다

요청

PATCHhttps://api.mallstory.kr/v1/shop/{shop_unique}/products/{product_unique}
  • 보낸 필드만 바뀝니다. 필드는 상품 등록과 같습니다. 여러 상품에 같은 값을 넣을 때는 상품 일괄 처리를 씁니다.
  • expected_updated 에 읽어 둔 updated 를 넣으면, 그 사이 관리자 · 다른 앱이 고쳤을 때 409 로 막습니다(덮어쓰기 방지). 넣지 않으면 막지 않습니다.
  • options 를 보내면 옵션 전체를 그것으로 바꿉니다. 옵션은 그대로 두려면 보내지 않습니다.
  • images 도 보내면 전체를 바꿉니다 — 남길 이미지까지 모두 보냅니다. 빠진 이미지 파일은 바로 지워집니다. 상세에서 읽은 images 를 그대로 보내도 됩니다(file_id 만 씁니다).
bash요청 — 판매가 · 간략소개만
curl -X PATCH 'https://api.mallstory.kr/v1/shop/{shop_unique}/products/6accaa68c2ca90eedea62100' \
  -H 'Authorization: Bearer msat_8Hk2wQ7...' \
  -H 'Content-Type: application/json' \
  -d '{"sale_price":35000,"promotion_text":"봄 신상 20% 할인","expected_updated":"2026-10-12T09:37:44.797Z"}'

응답

json200 OK (줄임)
{
  "product_unique": "6accaa68c2ca90eedea62100",
  "product_no": 50,
  "name": "린넨 셔츠",
  "promotion_text": "봄 신상 20% 할인",
  "sale_price": 35000,
  "updated": "2026-10-12T09:37:45.543Z"
}

고친 뒤의 상품 전체를 돌려줍니다. 다음 수정의 expected_updated 에는 여기의 updated 를 씁니다.

동시 수정(409)

같은 expected_updated 로 한 번 더 보내면, 앞의 수정으로 updated 가 바뀌어 거절됩니다. 상세를 다시 읽고 바꿀 값을 다시 정해 보냅니다.

json409 Conflict
{
  "code": "ProductModified",
  "message": "다른 곳에서 이 상품이 먼저 저장되었습니다. 새로고침 후 다시 시도하세요."
}

오류

상태code언제
409ProductModifiedexpected_updated 뒤에 다른 곳에서 저장됨
400InvalidParameterValue값이 올바르지 않음 · expected_updated 가 ISO 시각이 아님
404ProductNotExist없는 키이거나 지운 상품
401MissingLoginSessionAuthorization 헤더에 Bearer 토큰이 없음
401InvalidAccessToken토큰이 틀리거나 만료 · 폐기됨
403InsufficientScope토큰에 products:read · products:write 가 없음