Shopify
通过统一的商品平台结构提供 Shopify 店铺的数据:跨店铺搜索、列出单个店铺的商品目录、读取商品及其评价。
操作
| 操作 | 端点 | 返回 | 价格 |
|---|---|---|---|
| Search | GET | POST /v1/shopify/search | SearchResult | $0.001 |
| Image Search | POST /v1/shopify/image-search | SearchResult | $0.001 |
| Catalog | GET | POST /v1/shopify/catalog | SearchResult | $0.001 |
| Product | GET | POST /v1/shopify/product | Product | $0.001 |
| Reviews | GET | POST /v1/shopify/reviews | ReviewPage | $0.001–$0.007 |
没有 browse。 其他平台都可以不带关键词列出一个类目;Shopify 不行。
Shopify 搜索必须提供 query。而且根本没有可以据以浏览的类目:Shopify 是数百万家独立店铺,而不是一套统一的分类体系,因此集合 id
只在单个店铺内有意义。所以 /v1/shopify/browse 返回 404,而不是返回一个会被理解为"该类目已售罄"的空页面。
要列出单个店铺的商品——整个商品目录或其中一个集合——请使用
catalog。
也没有 categories。 它的存在是为了给 browse 提供 id;没有 browse,这些 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 偏低,是因为单变体商品带有一个占位维度,
我们将其排除而不是报出。
在 brand、inStock 和 variants 上,Shopify 是这里填充最密集的平台;而在 Amazon 提供的详情页附加
信息上则是最单薄的——没有 reviewSummary、reviewAspects 或 offers。
Shopify 特有之处
变体不能单独获取。 一种颜色是同一商品内的一个 SKU,而不是独立的商品,因此没有 variant.productId
——一次调用就已拿到全部信息。
结果横跨多个商家。 同一搜索结果中的两个条目可能来自两家毫不相关的店铺,配送、退货和货币各不相同。
seller 会告诉你来自哪一家。
运费要到结账时才计价,因此没有 delivery.cost。那表示"未标明",而不是免运费。