상품 등록하기
카테고리, 배송지 등 필요한 정보를 준비해서 상품을 등록하는 과정입니다.
상품 등록 이해하기
상품을 등록할 때는 이름, 재고, 카테고리 등 다양한 정보가 필요해요. 자유롭게 준비하면 되는 정보도 있지만, 아래 보이는 일부 항목은 토스쇼핑에서 지정한 템플릿 또는 값에 맞추어 등록해야 돼요.

카테고리란 상품을 분류하는 체계입니다. 토스쇼핑에는 레벨 2부터 6까지 카테고리가 있어요. 각 카테고리마다 등록할 수 있는 옵션과 검색 키워드가 달라요. 등록하는 상품의 최하위 카테고리 템플릿에 맞춰 상품을 등록해주세요.
고시항목이란 법적으로 고객에게 알려야 하는 필수 정보에요. 등록하는 상품의 고시항목을 확인하고 올바른 정보를 상품 등록할 때 입력해주세요.
배송비 묶음 그룹이란 한 상자에 함께 포장·발송 시 배송비 1회만 부과하는 것이에요. 배송비 묶음 그룹이 없다면 생략해주세요. 배송비 묶음 그룹이 있다면 주소지를 등록한 다음 토스쇼핑에서 반환하는 ID 값을 상품 등록할 때 사용해주세요.
교환반품지란 교환반품 상품을 받는 주소지입니다. 주소를 등록하면 토스쇼핑에서 반환하는 교환반품지 ID 값을 상품 등록할 때 사용해주세요.
이 가이드에서는 카테고리, 배송 API를 호출해서 상품 등록하는 방법을 안내합니다.
카테고리 정보 찾기
카테고리는 상품을 성격이나 용도에 따라 구분하는 체계에요. 토스쇼핑 카테고리는 레벨 2부터 6까지 있어요. 상위 카테고리는 큰 분류(가구/홈데코)이고, 하위 카테고리는 갈수록 더 구체적(가구 → 리클라이너)이에요. 각 카테고리에는 고유한 ID가 있고, 등록하려는 상품의 최하위 카테고리 ID를 기준으로 옵션을 등록해야 돼요.
카테고리마다 필요한 상품 옵션이 달라져요. 옵션은 색상, 사이즈, 갯수 등 같은 상품의 베리에이션이에요. 상품을 등록할 때 토스쇼핑에서 정한 상품의 옵션 템플릿을 반드시 지켜야 해요. 예를 들어, 의류 카테고리의 옵션 템플릿에는 색상과 사이즈 규격이 정의되어 있어요.
전체 카테고리 목록 조회하기
카테고리 항목 조회 AP로 토스쇼핑의 카테고리 목록을 확인해주세요. 카테고리 목록에서는 내가 등록하고자하는 상품의 최상위 카테고리 ID를 찾을 수 있어요. 리클라이너 상품을 등록한다고 가정해볼게요.
GET /api/v3/shopping-fep/products/categories/children
Request
Response
응답으로 돌아온 카테고리 목록을 검토해서 리클라이너에 적합한 카테고리를 찾아주세요. 리클라이너는 "가구/홈데코" 카테고리에 속하기 때문에 해당 카테고리의 id 값을 다음 단계에서 사용할게요.
최하위 카테고리 조회하기
"가구/홈데코"는 최상위 카테고리이기 때문에 하위 카테고리를 확인해야 돼요. 최하위 카테고리 ID로 상품 옵션 템플릿을 조회할 수 있어요. 위 응답에서 받은 "가구/홈데코"의 id 를 카테고리 항목 조회 API의 쿼리 파라미터로 사용해주세요.
GET /api/v3/shopping-fep/products/categories/children?id={categoryID}
Request
Response
"가구/홈데코" 카테고리의 모든 하위 카테고리가 목록으로 돌아와요. 리클라이너가 속하는 "가구" 카테고리의 정보를 확인해보세요.
isLeaf필드가true면 최하위 카테고리이고,false면 하위 카테고리가 더 있어요."가구" 카테고리의
isLeaf값은false이기 때문에id값을 사용해서 카테고리 항목 조회 API를 한번 더 호출해주세요.
Response
이번에는 "가구" 카테고리의 모든 하위 카테고리의 목록이 응답돼요. "리클라이너" 카테고리의 정보를 확인해주세요.
isLeaf값이true이기 때문에 해당 카테고리는 최하위 카테고리입니다.id값을 저장해서 상품 등록 API의categoryId파라미터로 사용해주세요.
상품 옵션 입력하는 방법 알아보기
위 단계에서 확인한 최하위 카테고리 ID를 카테고리 템플릿 조회 API의 Path 파라미터로 사용해주세요. 상품 등록할 때 필요한 key-value 템플릿 정보를 확인할 수 있어요.
GET /api/v3/shopping-fep/category/{categoryId}/constraint-templates
Request
Response
응답에는 구매옵션( categorySalesOptions)과 검색옵션( categorySearchOptions )이 포함돼요
구매옵션
( categorySalesOptions)
색상, 사이즈, 수량 등 구매자에게 제공하는 상품의 선택지입니다.
검색옵션
( categorySearchOptions )
검색 알고리즘에 활용됩니다. 정보가 많을 수록 검색 맞춤 추천에 유리해요.
응답으로 돌아온 categorySalesOptions 및 categorySearchOptions는 상품을 등록할 때 필요한 템플릿입니다. 각 객체에 있는 정보를 참고해서 상품등록 API의 stocks.option 정보를 올바르게 준비해주세요.
key
상품 옵션명입니다.
isOption
상품 등록할 때 옵션의 필수・선택 여부를 나타내요. 상품 등록 API의 stocks.options.groupName에 사용됩니다.
- false: 상품등록할 때 필수 옵션입니다.
- true: 상품등록할 때 선택 옵션입니다.
valueCandidates
상품 옵션으로 사용할 수 있는 value 값의 목록입니다. valueCandidates 에 빈 배열이 돌아오면 판매자가 원하는 옵션을 자유롭게 입력할 수 있어요.
unitValues
상품 옵션으로 사용할 수 있는 value의 단위입니다. unitValues 에 값이 있다면 상품 옵션 값으로 반드시 숫자를 입력해야 돼요.
위 응답을 예시로 생각해볼게요. “리클라이너” 카테고리의 "색상" 구매옵션은 상품 등록 API의 stocks.options 에 아래와 같이 입력할 수 있어요.
stocks.options.groupName: 색상 (필수,isOption = false)stocks.options.groupValue: {셀러가 지정한 색상} (valueCandidates가 빈 배열)
"책상/PC용 의자종류" 검색옵션은 상품 등록 API의 stocks.searchOption 에 아래와 같이 입력할 수 있어요.
stocks.searchOption.searchOptionWithValue: ["책상/PC용 의자종류":"게이밍의자"]isOption이true이므로 "책상/PC용 의자종류"은 선택 옵션입니다.입력한다면 key에는
책상/PC용 의자종류, value에는valueCandidates에 주어진 값을 입력해주세요.
"가로길이" 검색옵션은 상품 등록 API의 stocks.options 에 아래처럼 입력할 수 있어요.
stocks.searchOption.searchOptionWithValue: ["가로길이":"50cm"]"가로길이"는
isOption이true이므로 "가로길이"는 선택 옵션입니다.입력한다면
unitValues에 있는 "cm", "m" 등에서 단위를 선택해 입력해요.
고시 항목 확인하기
고시 항목은 법적으로 고객에게 안내해야 하는 정보예요. 예를 들어, 식품은 제조일자·유통기한·원재료명을, 전자제품은 전력 소비량·KC 인증 여부를 반드시 표시해야 해요. 상품의 고시 카테고리 코드를 조회하고, 해당 코드를 사용해서 고시 항목을 확인해주세요.
고시 카테고리 코드 조회하기
정보제공 고시 카테고리 코드 조회 API로 고시 카테고리 코드 목록을 확인해주세요.
GET /api/v3/shopping-fep/notices/category-codes
Request
Response
리클라이너를 예로 들어볼게요. 리클라이너는 가구에 속하니까 firstCategoryName이 '가구'인 객체에서 categoryCode 값을 확인해주세요. 상품 등록 API의 notice.categoryCode 필드에 입력해야 됩니다.
고시 항목 조회하기
이전 단계에서 얻은 고시 categoryCode를 정보제공 고시 항목 조회 API의 path 파라미터로 넣어주세요.
GET /api/v3/shopping-fep/notices?categoryCode={categoryCode}
Request
Response
응답으로 돌아오는 각 고시 항목에는 id와 title이 있어요.
id는 각 고시 항목을 구분해요.title에는 해당 항목에 입력해야 되는 내용을 가리켜요.이 정보를 참고해서 상품 등록 API의
notice필드를 채우면 됩니다.
위 응답을 보면서 예시를 들어볼게요. id가 27인 객체의 title은 "제품 소재"입니다. 나무로 만든 리클라이너 상품을 등록 API Request Body에는 아래와 같이 id와 content 값을 입력하면 됩니다.
교환반품지 조회하기
교환반품지는 고객이 교환하거나 반품한 상품을 보내는 주소예요. 셀러는 교환반품지에서 상품을 수거할 수 있어요. 교환반품지 ID 조회 API 로 기존에 등록된 교환반품지 ID를 확인해주세요.
GET /api/v3/shopping-fep/merchants/group-delivery/exchange-refund-location
응답의items.id 를 상품 등록 API의 exchangeReturnPolicy.exchangeRefundLocationId 파라미터 값으로 사용해주세요.
배송 묶음그룹 등록 및 조회하기
배송 묶음그룹을 지정하면 여러 상품을 한 번에 배송하고 배송비를 절감할 수 있어요. 같은 배송 묶음그룹 ID로 설정된 상품은 같이 배송돼요. 배송비 묶음그룹 ID 조회 API로 기존에 등록된 배송 묶음그룹 ID를 확인해주세요.
GET api/v3/shopping-fep/merchants/group-delivery/delivery-location
응답의 items.id 를 나중에 상품 등록 API exchangeReturnPolicy.exchangeRefundLocationId의 값으로 사용해주세요. 이 값을 null 로 두면 개별배송돼요.
상품 등록하기
앞 단계에서 필요한 정보를 모두 확인했다면, 이제 등록 요청을 보낼 수 있어요.
이 가이드에서는 아래 파라미터를 설정하는 방법에 대해서 알아봤어요. 이 외에도 필요한 파라미터는 상품 등록 API를 참고해주세요.
categoryID: 상품 카테고리 IDstocks.options.groupName: 구매옵션 그룹 이름stocks.options.valueName: 구매옵션 입력 값stocks.searchOption.searchOptionWithValue: [키: 검색옵션 이름, 값: 검색옵션 값]
deliveryPolicy.deliveryLcationId: 배송 묶음 그룹 ID
exchangeReturnPolicy.exchangeRefundLocationId: 교환반품지 ID
noticenotice.categoryCode: 고시 카테고리 코드notice.items.id: 고시 항목 IDnotice.items.content: 고시 항목 내용
POST/api/v3/shopping-fep/products/v2
Request
Response
상품 등록에 성공하면 resultType필드의 값으로 SUCCESS 가 돌아와요. success 필드에서는 생성된 상품의 ID를 확인할 수 있어요.
Error
등록에 실패하면 resultType필드의 값으로 FAIL이 돌아와요. error.reason필드에서 등록에 실패한 이유를 확인해주세요.
Last updated

