상품과 콘텐츠 조회
상품과 콘텐츠 조회 API는 사용자 토큰 없이 호출할 수 있습니다. 접근 권한 확인이나 개인화된 보유 상품/콘텐츠 조회는 사용자 토큰이 필요합니다.
공개 조회
섹션 제목: “공개 조회”| 메서드 | 경로 | 설명 | 사용자 토큰 |
|---|---|---|---|
| GET | /product-categories | 상품에서 사용 중인 카테고리 조회 | 필요 없음 |
| GET | /product-categories/search | 상품 카테고리 검색 | 필요 없음 |
| GET | /product-tags | 노출 상품에서 사용 중인 태그 조회 | 필요 없음 |
| GET | /products | 상품 목록 조회 | 필요 없음 |
| GET | /products/{productId} | 상품 상세 조회 | 필요 없음 |
| GET | /content-categories | 콘텐츠에서 사용 중인 카테고리 조회 | 필요 없음 |
| GET | /content-categories/search | 콘텐츠 카테고리 검색 | 필요 없음 |
| GET | /content-tags | 노출 콘텐츠에서 사용 중인 태그 조회 | 필요 없음 |
| GET | /contents | 콘텐츠 목록 조회 | 필요 없음 |
| GET | /contents/{contentId} | 콘텐츠 상세 조회 | 필요 없음 |
| GET | /contents/{contentId}/summary | 콘텐츠 요약 조회 | 필요 없음 |
| GET | /contents/{contentId}/description | 콘텐츠 설명 조회 | 필요 없음 |
| POST | /contents/bulk | 여러 콘텐츠 조회 | 필요 없음 |
| POST | /contents/cart-preview | 장바구니용 콘텐츠 미리보기 | 필요 없음 |
| GET | /membership/status | 사이트 멤버십 활성 상태 조회 | 필요 없음 |
| GET | /reviews/contents/{contentId} | 콘텐츠 리뷰 목록 조회 | 필요 없음 |
| GET | /reviews/pinned/{type}/{itemId} | 고정 리뷰 조회 | 필요 없음 |
| GET | /reviews/recent | 최근 리뷰 조회 | 필요 없음 |
목록 필터 Query
섹션 제목: “목록 필터 Query”/products와 /contents는 외부 스토어프론트에서 쓰기 쉬운 이름의 필터를 지원합니다.
| 이름 | 대상 | 설명 |
|---|---|---|
page | 상품, 콘텐츠 | 페이지 번호 |
limit | 상품, 콘텐츠 | 페이지당 개수 |
search | 상품, 콘텐츠 | 이름 또는 제목 검색 |
category_id | 상품, 콘텐츠 | 단일 카테고리 ID |
category_ids | 상품, 콘텐츠 | 쉼표 문자열 또는 배열. 여러 카테고리 중 하나에 속한 항목 조회 |
tag_id | 상품, 콘텐츠 | 단일 태그 ID |
tag_ids | 상품, 콘텐츠 | 쉼표 문자열 또는 배열. 여러 태그 중 하나가 붙은 항목 조회 |
content_type | 콘텐츠 | vod, live, offline, digital_content |
카테고리와 태그는 먼저 /product-categories, /product-tags, /content-categories, /content-tags로 조회한 뒤 목록 필터에 넣습니다.
사용자 기준 조회
섹션 제목: “사용자 기준 조회”| 메서드 | 경로 | 설명 | 사용자 토큰 |
|---|---|---|---|
| GET | /contents/{contentId}/visibility | 내 콘텐츠 접근 가능 여부 | 필수 |
| GET | /products/{productId}/visibility | 내 상품 접근 가능 여부 | 필수 |
| GET | /me/contents | 내 기준 콘텐츠 목록 | 필수 |
| GET | /me/products | 내 기준 상품 목록 | 필수 |
| GET | /me/contents/{contentId} | 내 기준 콘텐츠 상세 | 필수 |
| GET | /me/products/{productId} | 내 기준 상품 상세 | 필수 |
| GET | /me/products/{productId}/summary | 내 기준 상품 요약 | 필수 |
| GET | /me/products/{productId}/description | 내 기준 상품 설명 | 필수 |
| POST | /me/owned-contents/check | 보유 콘텐츠 확인 | 필수 |
상품 목록 예시
섹션 제목: “상품 목록 예시”const products = await fetch(`${API_BASE}/products?page=1&tag_id=17`, { headers: { 'X-Runmoa-Site-Key': STOREFRONT_KEY, Accept: 'application/json', },}).then((response) => response.json());카테고리/태그 조회 예시
섹션 제목: “카테고리/태그 조회 예시”const [categories, tags] = await Promise.all([ fetch(`${API_BASE}/product-categories`, { headers: { 'X-Runmoa-Site-Key': STOREFRONT_KEY, Accept: 'application/json' }, }).then((response) => response.json()), fetch(`${API_BASE}/product-tags`, { headers: { 'X-Runmoa-Site-Key': STOREFRONT_KEY, Accept: 'application/json' }, }).then((response) => response.json()),]);콘텐츠 상세 예시
섹션 제목: “콘텐츠 상세 예시”const content = await fetch(`${API_BASE}/contents/4321`, { headers: { 'X-Runmoa-Site-Key': STOREFRONT_KEY, Accept: 'application/json', },}).then((response) => response.json());리뷰 작성/수정
섹션 제목: “리뷰 작성/수정”| 메서드 | 경로 | 설명 | 사용자 토큰 |
|---|---|---|---|
| POST | /reviews | 리뷰 작성 | 필수 |
| PUT | /reviews/{reviewId} | 리뷰 수정 | 필수 |
| DELETE | /reviews/{reviewId} | 리뷰 삭제 | 필수 |
| POST | /reviews/products | 상품 리뷰 작성 | 필수 |
| POST | /reviews/products/edit | 상품 리뷰 수정 | 필수 |
상품/콘텐츠 생성과 수정은 이 페이지의 스토어프론트 API가 아니라 서버용 비공개 API에서 처리합니다.