Apinoa Docs

Shopify

通过统一的商品平台结构提供 Shopify 店铺的数据:跨店铺搜索、列出单个店铺的商品目录、读取商品及其评价。

查看原始 .mdx

操作

操作端点返回价格
SearchGET | POST /v1/shopify/searchSearchResult$0.001
Image SearchPOST /v1/shopify/image-searchSearchResult$0.001
CatalogGET | POST /v1/shopify/catalogSearchResult$0.001
ProductGET | POST /v1/shopify/productProduct$0.001
ReviewsGET | POST /v1/shopify/reviewsReviewPage$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。那表示"未标明",而不是免运费。

本页内容