BigCommerce模板开发:如何获取全站点产品及自定义变量列表
获取BigCommerce全量产品及自定义变量的方案
核心方法:使用BigCommerce官方API
BigCommerce提供两类API满足不同开发场景的产品数据获取需求,具体如下:
1. Storefront API(适合前端/主题内开发)
如果你的Product Selector是在BigCommerce主题框架内开发,优先用Storefront API——它支持前端直接调用,无需额外服务器代理(仅需在后台配置CORS允许)。
- 全量产品获取:通过GraphQL查询实现,需处理分页(默认每页最多返回250条):
query GetAllProducts($cursor: String) { products(first: 250, after: $cursor) { edges { node { id name sku # 直接获取产品自定义变量 customFields { name value } # 按需添加其他字段,比如价格、主图 price { value } images(first: 1) { edges { node { url } } } } } pageInfo { hasNextPage endCursor } } }
循环调用该查询,直到hasNextPage返回false,即可拼接出完整产品列表。
- 自定义变量说明:
customFields字段会返回你在产品后台设置的所有自定义字段(文本、下拉框等类型均包含在内)。
2. Management API(适合服务器端集成)
如果需要批量操作或更高权限的数据访问,使用Management API,需先在BigCommerce后台创建API账号(需分配Products相关读写权限)。
- 全量产品获取:发送GET请求实现分页拉取(默认每页50条,最多可设为250条):
curl --request GET \ --url 'https://api.bigcommerce.com/stores/{STORE_HASH}/v3/catalog/products?limit=250&page={PAGE_NUMBER}' \ --header 'X-Auth-Token: {API_TOKEN}' \ --header 'Content-Type: application/json'
- 自定义变量获取:返回的产品数据中,
custom_fields数组即为产品的自定义变量集合;若需获取自定义字段的元数据(比如字段类型、可选值),可单独调用/v3/catalog/products/{PRODUCT_ID}/custom-fields接口。
关键注意事项
- 必须处理分页:BigCommerce API不支持一次性拉取所有产品,必须通过分页循环请求,避免超时或触发限流机制。
- 权限配置:
- Storefront API需在主题设置中启用,确保
Storefront API Token有效且权限范围符合需求。 - Management API需在后台Advanced Settings > API Accounts创建账号,勾选产品相关的读写权限。
- Storefront API需在主题设置中启用,确保
- 字段按需请求:只获取业务需要的字段,减少数据传输量,提升接口响应速度。
内容的提问来源于stack exchange,提问作者Devar-TTY
相关产品推荐
相关产品推荐

