> For the complete documentation index, see [llms.txt](https://workspace-help.nhn-commerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://workspace-help.nhn-commerce.com/aurora-guide/api-1/product-list.md).

# 상품 리스트

* 🅐 [전시 카테고리](#undefined)
* 🅑 [상품 리스트 조회 영역](#undefined-1)
* 🅒 [좋아요 버튼](#undefined-2)

<figure><img src="/files/irEp4Lee0xLgk2Xk6HQ1" alt=""><figcaption></figcaption></figure>

***

### 🅐 전시 카테고리 <a href="#display-category" id="display-category"></a>

쇼핑몰 어드민에 매핑된 상품 카테고리를 출력하는 영역입니다.\
상위 depth의 카테고리의 경우 해당 카테고리 하위 카테고리에 매핑된 전체 상품을 출력합니다.&#x20;

아래 어드민 경로에서 설정하실 수 있습니다.&#x20;

```
shop by basic/pro : 상품 > 상품 분류 관리 > 전시 카테고리 관리
shop by premium : 전시관리 > 전시 카테고리 관리
```

> [GET /categories](https://docs.shopby.co.kr/?url.primaryName=display/#/Category/get-categories-by-keyword)
>
> ► 전시 카테고리 조회\
> 쇼핑몰의 모든 카테고리 정보를 조회합니다.

쇼핑몰 화면에서 카테고리란, 화면이 바뀌어도 대부분의 경우 화면에 상시 노출되는 요소입니다.

아래 2가지 형태의 카테고리 데이터를 제공합니다.&#x20;

* flatCategories : 모든 카테고리를 하나의 배열에 쭉 나열한 형태
* multiLevelCategories : 계층을 가지는 카테고리 형태 (최대 5depth)

기본 스킨에서는 <mark style="background-color:yellow;">multiLevelCategories</mark>를 사용하고 있습니다.\
따라서 카테고리는 아래와 같이 계층 구조로 구성되며, 최대 5depth까지 어드민에서 카테고리를 추가할 수 있습니다.

***

### 🅑 상품 리스트 조회 영역 <a href="#product-list-search" id="product-list-search"></a>

아래 GET /products/search 호출을 통해 리턴 값으로 받은 상품 리스트를 노출하는 영역입니다.&#x20;

> [GET /products/search ](https://docs.shopby.co.kr/?url.primaryName=product/#/Product/get-products-search)
>
> ► 상품 검색하기 \
> 다양한 검색 옵션에 맞는 상품 리스트를 조회합니다.
>
> 선택 값인 파라미터(Parameters)에 어떤 값을 입력하느냐에 따라 \
> 카테고리, 정렬, 검색 등 다양한 조건의 상품 리스트를 가져올 수 있습니다.

> [GET /categories/{categoryNo}/display-setting](https://docs.shopby.co.kr/?url.primaryName=display/#/Category/get-category-display-setting)
>
> ► 전시카테고리 진열 설정 조회
>
> 전시카테고리번호(categoryNo)에 해당하는 전시카테고리의 진열 설정을 조회합니다.\
> API 응답으로 전달된 진열 방식을 기준으로 화면의 정렬 여부와 상품 조회 API의 정렬 조건(`order.by`)을 결정합니다.

{% hint style="info" %}
기본 스킨에서는 전시카테고리의 진열 방식이 **'자동 진열'** 인 경우에만 정렬 조건 선택 영역이 노출되며,\
\&#xNAN;**'수동 진열'** 인 경우에는 노출되지 않습니다.
{% endhint %}

#### <mark style="background-color:violet;">**㉠ 정렬 조건 order.by**</mark>

#### 1. 자동 정렬 <a href="#id-1-ec-9e-90-eb-8f-99-ec-a0-95-eb-a0-ac" id="id-1-ec-9e-90-eb-8f-99-ec-a0-95-eb-a0-ac"></a>

운영자가 별도로 노출 순서를 설정하지 않은 경우 기본으로 적용되는 정렬 방식입니다.\
아래 정렬 조건은 `order.by` 의 자동 정렬 조건이며, 운영자가 원하는 정렬 조건을 호출하여 \
상품 리스트를 노출할 수 있습니다.

* &#x20;자동 정렬 조건&#x20;
  * ✅판매량순 (POPULAR) : 주문 건 수 기준
  * ✅낮은/높은 가격순 (DISCOUNTED\_PRICE) : 할인 적용가 기준
  * ✅상품 후기순 (REVIEW) : 상품 후기 갯수 기준
  * ✅신상품순 (RECENT\_PRODUCT) : 상품 등록일 기준
  * 판매일자(SALE\_YMD), 판매종료일자(SALE\_END\_YMD : 판매시작/종료일 기준
  * 좋아요순 (LIKE\_CNT) : 좋아요 갯수 기준
  * 유효일자순 (EXPIRATION\_DATE) : 상품 유효일자 기준
  * 인기순(POPULAR) : 판매가 및 인기도 기준 [점수 산정 기준 보기 >](https://docs.shopby.co.kr/?url.primaryName=product/#/Product/get-products-search)

✅ 표시된 항목은 개별형 스킨에 기본으로 출력되는 정렬조건

#### 2. 수동 정렬 <a href="#id-2-ec-88-98-eb-8f-99-ec-a0-95-eb-a0-ac" id="id-2-ec-88-98-eb-8f-99-ec-a0-95-eb-a0-ac"></a>

운영자가 어드민에서 직접 설정한 상품 노출 순서를 그대로 프론트에 반영하는 정렬 방식입니다.\
`order.by` 파라미터의 `DISPLAY_CATEGORY_ORDER` 값을 호출하면,\
서비스어드민의 **전시관리 > 전시카테고리 진열 관리** 메뉴에서 설정한 상품 순서(상단 고정 포함)대로\
상품 리스트가 출력됩니다.<br>

**📌 TIP**\
**어드민에서의 상품 노출 순서 조정**

전시카테고리 진열 관리(수동 진열)에서 운영자는 카테고리별 상품 노출 순서를 직접 조정할 수 있습니다.

* **순서 변경** : 상품을 체크한 뒤 `최상단 / 위로 / 아래로 / 최하단` 버튼 또는 `N번째로 이동` 입력으로 노출 순서를 조정합니다.
* **상단 고정** : 특정 상품을 카테고리 최상단에 고정 노출할 수 있습니다.\
  &#x20;                (상단 고정 → 일반 진열 순서 순으로 노출)

#### <mark style="background-color:violet;">㉡ 카테고리  categoryNos</mark>

전달된 전시카테고리 번호를 기준으로 해당 전시카테고리 내의 상품을 검색합니다.<br>

#### <mark style="background-color:violet;">㉢ 키워드 검색 filter.keywords</mark>

키워드 검색창(search engine)에 입력하여 검색 시, 기본 스킨에서는 '{검색어} 검색결과 N개' 라고 안내문구가 출력되며, 검색된 결과가 없는 경우 '검색 결과가 없습니다.' 라고 상품 리스트 출력 영역에 안내 문구가 노출됩니다.&#x20;

***

### 🅒 좋아요 버튼 <a href="#like-button" id="like-button"></a>

상품 리스트 화면에서 기본 스킨의 상품 리스트 조회 영역은 [메인 상품진열 영역](/aurora-guide/api-1/main/display-product.md#eb-94-94-ec-8a-a4-ed-94-8c-eb-a0-88-ec-9d-b4-ec-9c-a0-ed-98-95-pc-mobile)의 디스플레이 유형 중 '갤러리형'으로 제공됩니다.  \
따라서 좋아요 버튼이 제공되며, 장바구니 버튼은 제공되지 않습니다.&#x20;

좋아요 기능은 쇼핑몰 회원(member)의 경우에만 사용 가능하므로, 버튼 클릭 시 로그인 여부를 확인해야 합니다.

* 비회원(guest)
  * 비회원의 경우 좋아요 기능을 지원하지 않습니다.
  * 좋아요 버튼 클릭 시 로그인 여부를 확인하여, 미로그인(비회원)시 서비스이용불가 안내창 노출 후 로그인 페이지로 현재창 이동해야 합니다.
* 회원(member)
  * 로그인한 상태에서 좋아요 버튼 클릭 시, 아래 POST /profile/like-products를 호출합니다.
  * 해당 API로 좋아요가 적용된 상품은 [마이페이지\_쇼핑정보](https://workspace-help.nhn-commerce.com/undefined-1/api-1/greater-than/undefined-3) 내 '좋아요' 리스트에 추가됩니다.

> [POST /profile/like-products](https://docs.shopby.co.kr/?url.primaryName=product/#/Profile/post-profile-like-products)
>
> ▶ 회원이 상품을 좋아한다고 추가/삭제하기\
> 회원이 좋아요한 상품을 목록에 추가하거나 삭제합니다
