---
title: "리뷰"
description: "쇼피파이 리뷰 — 받는 파라미터와 돌아오는 값."
---

```
GET|POST /v1/shopify/reviews
```

**Price** $0.001 per call, plus $0.001 for each extra call it makes — at most 6 more, so $0.007 in total. 첫 페이지는 보통 기본 비용보다 1유닛이 더 듭니다. `cursor` 페이지는 기본 비용만 듭니다. [List price](https://apinoa.com/en/pricing); the rate steps down above 1,000 calls a day.

| Parameter | Type | Required | Notes |
|---|---|---|---|
| `id` | string | yes | The composite Shopify `shop/handle` — the same id `product` takes, not a global identifier. This is the one Shopify operation whose cost varies: a first page can cost more than 1, while a page fetched with `cursor` costs 1. |
| `cursor` | string |  | Opaque cursor from the previous response; the only paging knob that works on every shop, and it wins if `page` is sent too. A page fetched with a cursor costs 1. |
| `page` | integer |  | 1-based starting page. Not every shop supports jumping to a page number; `cursor` works on every shop, so prefer it for paging. |

리뷰 호출은 1유닛보다 많이 들 수 있으며, 범위는 위에 표시됩니다. 상점마다 리뷰를 제공하는 방식이
다르고, 그것이 몇 가지 형태로 드러납니다.

- **`cursor`를 쓰세요.** `page`는 모든 상점에서 지원되지 않지만, `cursor`는 언제나 동작합니다.
- **리뷰 없음도 답이며, 0이라고 말합니다.** 리뷰가 없는 상품은 `200`에 `reviews: []`와
  **`page.total: 0`**으로 답합니다. 쇼피파이에서는 흔한 일이며 — 대부분의 상품에는 리뷰가 없습니다 —
  이 0은 정말로 그럴 때만 보냅니다.
- **글 없는 별점은 리뷰 0건으로 셉니다.** 일부 상점은 별점만 남긴 평가를 글로 쓴 리뷰와 따로 보관합니다.
  별점 세 개가 있고 글이 없는 상품은 `total: 0`으로 답합니다 — 돌려줄 리뷰가 없기 때문이며, 상품
  페이지에는 별이 보일 수 있습니다.
- **501은 리뷰가 있으나 제공되지 않는다는 뜻입니다.** `REVIEW_APP_UNSUPPORTED` — 이 상점의 리뷰는
  제공되지 않습니다. `REVIEWS_UNREACHABLE` — 리뷰 개수나 평점이 보고되거나 페이지에 리뷰가 보이는데도
  하나도 가져오지 못했습니다. 둘 다 의도적으로 0도 404도 아닙니다. 리뷰는 존재합니다.

리뷰는 **묶여 있는** 경우가 잦습니다. 판매자가 한 색상의 페이지에 패밀리 전체의 행으로 답할 수
있습니다. 상품별 평점을 계산하기 전에 응답의 `grouped`를 확인하세요.
