상품 등록하기

카테고리, 배송지 등 필요한 정보를 준비해서 상품을 등록하는 과정입니다.

상품 등록 이해하기

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

  • 카테고리란 상품을 분류하는 체계입니다. 토스쇼핑에는 레벨 2부터 6까지 카테고리가 있어요. 각 카테고리마다 등록할 수 있는 옵션과 검색 키워드가 달라요. 등록하는 상품의 최하위 카테고리 템플릿에 맞춰 상품을 등록해주세요.

  • 고시항목이란 법적으로 고객에게 알려야 하는 필수 정보에요. 등록하는 상품의 고시항목을 확인하고 올바른 정보를 상품 등록할 때 입력해주세요.

  • 배송비 묶음 그룹이란 한 상자에 함께 포장·발송 시 배송비 1회만 부과하는 것이에요. 배송비 묶음 그룹이 없다면 생략해주세요. 배송비 묶음 그룹이 있다면 주소지를 등록한 다음 토스쇼핑에서 반환하는 ID 값을 상품 등록할 때 사용해주세요.

  • 교환반품지란 교환반품 상품을 받는 주소지입니다. 주소를 등록하면 토스쇼핑에서 반환하는 교환반품지 ID 값을 상품 등록할 때 사용해주세요.

이 가이드에서는 카테고리, 배송 API를 호출해서 상품 등록하는 방법을 안내합니다.

카테고리 정보 찾기

카테고리는 상품을 성격이나 용도에 따라 구분하는 체계에요. 토스쇼핑 카테고리는 레벨 2부터 6까지 있어요. 상위 카테고리는 큰 분류(가구/홈데코)이고, 하위 카테고리는 갈수록 더 구체적(가구 → 리클라이너)이에요. 각 카테고리에는 고유한 ID가 있고, 등록하려는 상품의 최하위 카테고리 ID를 기준으로 옵션을 등록해야 돼요.

카테고리마다 필요한 상품 옵션이 달라져요. 옵션은 색상, 사이즈, 갯수 등 같은 상품의 베리에이션이에요. 상품을 등록할 때 토스쇼핑에서 정한 상품의 옵션 템플릿을 반드시 지켜야 해요. 예를 들어, 의류 카테고리의 옵션 템플릿에는 색상과 사이즈 규격이 정의되어 있어요.

1

전체 카테고리 목록 조회하기

카테고리 항목 조회 AP로 토스쇼핑의 카테고리 목록을 확인해주세요. 카테고리 목록에서는 내가 등록하고자하는 상품의 최상위 카테고리 ID를 찾을 수 있어요. 리클라이너 상품을 등록한다고 가정해볼게요.

GET /api/v3/shopping-fep/products/categories/children

Request

Response

응답으로 돌아온 카테고리 목록을 검토해서 리클라이너에 적합한 카테고리를 찾아주세요. 리클라이너는 "가구/홈데코" 카테고리에 속하기 때문에 해당 카테고리의 id 값을 다음 단계에서 사용할게요.

2

최하위 카테고리 조회하기

"가구/홈데코"는 최상위 카테고리이기 때문에 하위 카테고리를 확인해야 돼요. 최하위 카테고리 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 파라미터로 사용해주세요.

3

상품 옵션 입력하는 방법 알아보기

위 단계에서 확인한 최하위 카테고리 ID를 카테고리 템플릿 조회 API의 Path 파라미터로 사용해주세요. 상품 등록할 때 필요한 key-value 템플릿 정보를 확인할 수 있어요.

GET /api/v3/shopping-fep/category/{categoryId}/constraint-templates

Request

Response

응답에는 구매옵션( categorySalesOptions)과 검색옵션( categorySearchOptions )이 포함돼요

응답 필드
설명

구매옵션

( categorySalesOptions)

색상, 사이즈, 수량 등 구매자에게 제공하는 상품의 선택지입니다.

검색옵션

( categorySearchOptions )

검색 알고리즘에 활용됩니다. 정보가 많을 수록 검색 맞춤 추천에 유리해요.

응답으로 돌아온 categorySalesOptionscategorySearchOptions는 상품을 등록할 때 필요한 템플릿입니다. 각 객체에 있는 정보를 참고해서 상품등록 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용 의자종류": "게이밍의자" ]

  • isOptiontrue이므로 "책상/PC용 의자종류"은 선택 옵션입니다.

  • 입력한다면 key에는 책상/PC용 의자종류, value에는 valueCandidates 에 주어진 값을 입력해주세요.

"가로길이" 검색옵션은 상품 등록 API의 stocks.options 에 아래처럼 입력할 수 있어요.

  • stocks.searchOption.searchOptionWithValue : [ "가로길이": "50cm" ]

  • "가로길이"는 isOptiontrue이므로 "가로길이"는 선택 옵션입니다.

  • 입력한다면 unitValues 에 있는 "cm", "m" 등에서 단위를 선택해 입력해요.

고시 항목 확인하기

고시 항목은 법적으로 고객에게 안내해야 하는 정보예요. 예를 들어, 식품은 제조일자·유통기한·원재료명을, 전자제품은 전력 소비량·KC 인증 여부를 반드시 표시해야 해요. 상품의 고시 카테고리 코드를 조회하고, 해당 코드를 사용해서 고시 항목을 확인해주세요.

1

고시 카테고리 코드 조회하기

정보제공 고시 카테고리 코드 조회 API로 고시 카테고리 코드 목록을 확인해주세요.

GET /api/v3/shopping-fep/notices/category-codes

Request

Response

리클라이너를 예로 들어볼게요. 리클라이너는 가구에 속하니까 firstCategoryName이 '가구'인 객체에서 categoryCode 값을 확인해주세요. 상품 등록 API의 notice.categoryCode 필드에 입력해야 됩니다.

2

고시 항목 조회하기

이전 단계에서 얻은 고시 categoryCode정보제공 고시 항목 조회 API의 path 파라미터로 넣어주세요.

GET /api/v3/shopping-fep/notices?categoryCode={categoryCode}

Request

Response

응답으로 돌아오는 각 고시 항목에는 idtitle이 있어요.

  • id는 각 고시 항목을 구분해요.

  • title에는 해당 항목에 입력해야 되는 내용을 가리켜요.

  • 이 정보를 참고해서 상품 등록 API의 notice 필드를 채우면 됩니다.

위 응답을 보면서 예시를 들어볼게요. id가 27인 객체의 title은 "제품 소재"입니다. 나무로 만든 리클라이너 상품을 등록 API Request Body에는 아래와 같이 idcontent 값을 입력하면 됩니다.

교환반품지 조회하기

교환반품지는 고객이 교환하거나 반품한 상품을 보내는 주소예요. 셀러는 교환반품지에서 상품을 수거할 수 있어요. 교환반품지 ID 조회 API 로 기존에 등록된 교환반품지 ID를 확인해주세요.

GET /api/v3/shopping-fep/merchants/group-delivery/exchange-refund-location

응답의items.id 를 상품 등록 API의 exchangeReturnPolicy.exchangeRefundLocationId 파라미터 값으로 사용해주세요.

아직 교환반품지를 등록하지 않았어요

등록된 교환반품지가 없다면 토스쇼핑 파트너스 > 좌측 목록 '셀러 정보' > 배송·교환·반품 정보 > 교환·반품 정보 페이지나 교환 반품지 등록 API로 교환반품지를 등록해주세요.

배송 묶음그룹 등록 및 조회하기

배송 묶음그룹을 지정하면 여러 상품을 한 번에 배송하고 배송비를 절감할 수 있어요. 같은 배송 묶음그룹 ID로 설정된 상품은 같이 배송돼요. 배송비 묶음그룹 ID 조회 API로 기존에 등록된 배송 묶음그룹 ID를 확인해주세요.

GET api/v3/shopping-fep/merchants/group-delivery/delivery-location

응답의 items.id 를 나중에 상품 등록 API exchangeReturnPolicy.exchangeRefundLocationId의 값으로 사용해주세요. 이 값을 null 로 두면 개별배송돼요.

아직 배송 묶음그룹을 등록하지 않았어요

등록된 배송 묶음그룹 ID가 없으면 토스쇼핑 파트너스 > 좌측 목록 '셀러 정보' > 배송·교환·반품 정보 > 배송 정보 페이지나 배송비 묶음그룹 ID 등록 API로 배송 묶음그룹을 등록해주세요.

상품 등록하기

앞 단계에서 필요한 정보를 모두 확인했다면, 이제 등록 요청을 보낼 수 있어요.

이 가이드에서는 아래 파라미터를 설정하는 방법에 대해서 알아봤어요. 이 외에도 필요한 파라미터는 상품 등록 API를 참고해주세요.

  • stocks

    • stocks.options.groupName: 구매옵션 그룹 이름

    • stocks.options.valueName: 구매옵션 입력 값

    • stocks.searchOption.searchOptionWithValue: [키: 검색옵션 이름, 값: 검색옵션 값]

  • deliveryPolicy

    • deliveryPolicy.deliveryLcationId : 배송 묶음 그룹 ID

  • exchangeReturnPolicy

    • exchangeReturnPolicy.exchangeRefundLocationId: 교환반품지 ID

  • notice

상품 등록 API 호출 제한 상품 등록/수정시에는 초당 10건 이하로 요청해주세요. 초과시에는 호출이 실패할 수 있어요.

POST/api/v3/shopping-fep/products/v2

Request

Response

상품 등록에 성공하면 resultType필드의 값으로 SUCCESS 가 돌아와요. success 필드에서는 생성된 상품의 ID를 확인할 수 있어요.

Error

등록에 실패하면 resultType필드의 값으로 FAIL이 돌아와요. error.reason필드에서 등록에 실패한 이유를 확인해주세요.

질문은 여기에 남겨주세요. 토스쇼핑 담당자가 확인하고 이메일로 답변드려요.

Last updated