상품

상품 상태 변경

상품의 전시·판매 상태와 재고만 빠르게 바꿔요.

v1 API 상세: 상품

상품의 상태 정보만 빠르게 변경할 수 있는 API예요. 전시 상태, 판매 여부, 재고 수량, 타임 세일 등 상태 정보만 선택적으로 갱신할 수 있어 효율적이에요.

API 엔드포인트

PUThttps://api.bootapi.com/v1/products/:product_id/statusBasic Auth

필요 권한: user:product_status

기존의 상품 정보 변경 API는 스냅샷을 생성하기 때문에 무겁고 전체 수정에 적합해요. 반면, 이 API는 상태 정보만 선택적으로 갱신하여 불필요한 리소스 소비 없이 사용할 수 있어요.

알려진 문제 — 보내지 않은 재고·심사 값이 초기화돼요

지금은 stock·stock_safe·time_sale_discount_percent 를 빼고 보내면 0 으로, status_review 를 빼고 보내면 auto_confirm 으로 저장돼요. status_sale 만 바꿔도 재고가 0 이 돼요.

상태만 바꿀 때도 상품 상세로 읽은 현재 stock·stock_safe·status_review 를 함께 보내요. time_sale_discount_percent 는 상세에 나오지 않으니, 타임 세일을 쓰는 상품이면 설정했던 값을 다시 보내요.

요청 파라미터

파라미터 타입 필수 설명
product_id String 필수 상품 고유 번호 (URL 파라미터)
status_display Boolean 선택 쇼핑몰 전시 여부
status_sale Boolean 선택 판매 상태
status_frozen Boolean 선택 판매금지 상태. 한 번 true 로 바꾸면 API 로 되돌릴 수 없어요 (이후 요청은 PRODUCT_FROZEN)
status_review String 선택 심사 상태 (auto_confirm·waiting·pending·confirm·reject)
use_display_period Boolean 선택 전시 기간 사용 여부
display_start_at String 선택 전시 시작일
display_end_at String 선택 전시 종료일
use_sale_period Boolean 선택 판매 기간 사용 여부
sale_start_at String 선택 판매 시작일
sale_end_at String 선택 판매 종료일
use_discount_period Boolean 선택 할인 기간 사용 여부
discount_start_at String 선택 할인 시작일
discount_end_at String 선택 할인 종료일
status_time_sale Boolean 선택 타임 세일 사용 여부
time_sale_start_at String 선택 타임 세일 시작일
time_sale_end_at String 선택 타임 세일 종료일
time_sale_discount_percent Integer 선택 타임 세일 할인율 (정수로 저장돼요 — 소수점은 버려요)
use_stock Boolean 선택 재고 관리 여부
stock Integer 선택 남은 재고 수량
stock_safe Integer 선택 안전 재고 임계값
use_stock_safe Boolean 선택 안전 재고 관리 여부
use_option_stock Boolean 선택 옵션별 재고 관리 여부

코드 예제

const { BootpayCommerce } = require('@bootpay/backend-js');

const commerce = new BootpayCommerce({
    client_key: '{client_key}',
    secret_key: '{secret_key}'
});

const response = await commerce.product.status('67e4b4425ec892162491d0ec', {
    status_display: true,
    status_sale: true,
    use_stock: true,
    stock: 50
});
console.log(response);javascript

응답

성공 응답

HTTP 200 에 본문은 null 이에요.

nulljson

에러 응답

HTTP/1.1 404 Not Found
Content-Type: application/json
{
  "error_code": "PRODUCT_NOT_FOUND",
  "message": "존재하지 않는 상품입니다"
}json

에러 코드

공통 에러

인증·권한 관련 에러는 에러 코드표를 참고해요.

코드 메시지 대처 방법
PRODUCT_NOT_FOUND 존재하지 않는 상품이에요 product_id를 확인해요
PRODUCT_FROZEN 판매금지된 상품은 편집/저장 안돼요. 관리자에게 문의해요 관리자에게 문의해요