---
title: "Shopify"
description: "Shopify 스토어를 공통 마켓플레이스 스키마로 제공합니다. 스토어를 가로질러 검색하고, 스토어 하나의 카탈로그를 나열하고, 상품과 그 리뷰를 읽습니다."
---

## 오퍼레이션

| 오퍼레이션 | 엔드포인트 | 반환 | 가격 |
|---|---|---|---|
| [Search](/docs/api-reference/shopify/search) | `GET \| POST /v1/shopify/search` | `SearchResult` | $0.001 |
| [Image Search](/docs/api-reference/shopify/image-search) | `POST /v1/shopify/image-search` | `SearchResult` | $0.001 |
| [Catalog](/docs/api-reference/shopify/catalog) | `GET \| POST /v1/shopify/catalog` | `SearchResult` | $0.001 |
| [Product](/docs/api-reference/shopify/product) | `GET \| POST /v1/shopify/product` | `Product` | $0.001 |
| [Reviews](/docs/api-reference/shopify/reviews) | `GET \| POST /v1/shopify/reviews` | `ReviewPage` | $0.001–$0.007 |

**`browse`가 없습니다.** 다른 마켓플레이스는 키워드 없이 카테고리를 나열할 수 있지만 Shopify는 그럴 수 없습니다.
Shopify 검색에는 `query`가 필수입니다. 그리고 *기준으로* 탐색할 카테고리 자체가 없습니다. Shopify는 하나의 분류 체계가 아니라 수백만 개의 독립 스토어이므로, 컬렉션 id는
한 스토어 안에서만 의미가 있습니다. 그래서 `/v1/shopify/browse`는 "이 카테고리는 품절"로 읽힐 빈 페이지를
제공하는 대신 404를 반환합니다. **한 스토어의** 상품 — 전체 카탈로그나 하나의 컬렉션 — 을 나열하려면
[`catalog`](/docs/api-reference/shopify/catalog)를 사용하세요.

**`categories`도 없습니다.** `categories`는 `browse`에 쓸 id를 건네주기 위해 존재하는데, `browse`가 없으니
그 id가 할 일이 없고, id를 만들어낼 판매자 공통 트리도 없습니다.

Shopify는 하나의 스토어가 아닙니다. 검색 결과는 여러 독립 스토어에 걸쳐 있고, `catalog`는 한 스토어의 상품을 나열하며,
`product`와 `reviews`는 한 스토어의 상품을 가리킵니다.

**Shopify 검색은 항상 실시간입니다.**

## ID 형식

Shopify id는 복합 형식 — `shop/handle` — 입니다.

```
us.giesswein.com/wool-sneaker-women
```

검색 아이템의 `id`가 이미 이 형식이므로, 검색 결과를 스토어 탐색 단계 없이 바로 `product`와 `reviews`로
이어 쓸 수 있습니다. 전체 상품 URL도 받습니다.

## 실제로 도착하는 것

**검색 아이템**

| 필드 | 채움률 |
|---|---|
| `title` | ~99% |
| `price` `url` | ~95% |
| `imageUrl` `seller` | ~90% |
| `rating` | ~85% |

**상품**

| 필드 | 채움률 |
|---|---|
| `title` `price` `brand` | ~100% |
| `inStock` `variants` `seller` `media.images` | ~98% |
| `options` | ~60–78% |

`seller`는 스토어 호스트에서 도출되므로 사실상 항상 있습니다. `options`가 낮은 이유는 단일 변형 상품에
들어 있는 자리표시용 축을 보고하지 않고 제외하기 때문입니다.

Shopify는 이 중 `brand`, `inStock`, `variants`가 가장 조밀한 마켓플레이스이고, Amazon이 제공하는 상세
페이지 부가 정보는 가장 빈약합니다 — `reviewSummary`, `reviewAspects`, `offers`가 없습니다.

## Shopify에만 해당하는 것

**변형을 따로 조회할 수 없습니다.** 색상은 별도의 상품이 아니라 한 상품 안의 SKU이므로
`variant.productId`가 없습니다 — 한 번의 호출로 이미 모든 것을 받습니다.

**결과가 여러 판매자에 걸쳐 있습니다.** 한 검색 결과의 두 아이템이 배송, 반품, 통화가 서로 다른 무관한 두
스토어에서 올 수 있습니다. `seller`가 어느 스토어인지 알려줍니다.

**배송비는 결제 단계 전까지 책정되지 않으므로** `delivery.cost`가 없습니다. 이는 "명시되지 않음"이지 무료가 아닙니다.
