Shopify Admin API
Shopify 管理后台 API
描述
对 Shopify 管理后台 REST API 拥有完全的读写权限,用于管理订单、产品、客户、库存、履约、退款、退货和交易。
设置
环境变量
SHOPIFY_STORE_DOMAIN- 您商店的 myshopify.com 域名(例如,my-store.myshopify.com)SHOPIFY_ACCESS_TOKEN- 来自自定义应用的管理 API 访问令牌
必需的 API 权限范围
| 权限范围 | 访问权限 |
|---|---|
read_orders/write_orders | 订单、履约、废弃结账 |
read_products/write_products | 产品、变体、集合 |
read_customers/write_customers | 客户、细分群体 |
read_inventory/write_inventory | 库存水平、商品 |
read_returns/write_returns | 退货 |
read_all_orders | 超过60天的订单(需批准) |
身份验证
所有请求都需要此请求头:
X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN
获取访问令牌
- 转到您的 Shopify 管理后台 > 设置 > 应用程序和销售渠道
- 点击“开发应用程序” > “创建应用程序”
- 根据您的需求配置管理 API 范围
- 将应用程序安装到您的商店
- 复制管理 API 访问令牌
API 参考
基础 URL:https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10
订单
列出订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
查询参数:订单ID,限制数量,起始ID,创建时间最小值,创建时间最大值,更新时间最小值,更新时间最大值,处理时间最小值,处理时间最大值,状态(开放、关闭、已取消、任意),财务状态,履行状态字段获取订单
获取订单数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
更新订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
关闭订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"order":{"id":{ORDER_ID},"note":"Updated note","tags":"priority,vip"}}'
重新开启订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/close.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X POST
取消订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/open.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X POST
取消原因:
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/cancel.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"reason":"customer","email":true,"restock":true}'
客户,欺诈,库存,拒绝,其他产品
列出产品
查询参数:
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
ID,限制,自ID起,标题title,供应商,产品句柄,产品类型,系列ID,创建时间(最小值),创建时间(最大值),更新时间(最小值),更新时间(最大值),发布时间(最小值),发布时间(最大值),发布状态(已发布,未发布,任意),字段,状态(活跃,已归档,草稿)
获取产品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取产品数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建产品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"product":{"title":"Burton Custom Freestyle","body_html":"<strong>Good snowboard!</strong>","vendor":"Burton","product_type":"Snowboard","status":"draft","variants":[{"price":"99.99","sku":"BOARD-001"}]}}'
更新产品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"product":{"id":{PRODUCT_ID},"title":"Updated Product Title","status":"active"}}'
删除产品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
产品变体
列出产品变体
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}/variants.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取变体
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/variants/{VARIANT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建变体
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}/variants.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"variant":{"option1":"Blue","price":"19.99","sku":"BLUE-001","inventory_management":"shopify"}}'
更新变体
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/variants/{VARIANT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"variant":{"id":{VARIANT_ID},"price":"24.99","compare_at_price":"29.99"}}'
删除变体
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products/{PRODUCT_ID}/variants/{VARIANT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
客户
列出客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
查询参数:ID,限制数量,起始ID,最小创建时间,最大创建时间,最小更新时间,最大更新时间,字段
搜索客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/search.json?query=email:customer@example.com" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
搜索字段:邮箱,电话,名字,姓氏,公司,订单数量,总消费额,国家,州/省
获取客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/{CUSTOMER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取客户数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"customer":{"first_name":"John","last_name":"Doe","email":"john.doe@example.com","phone":"+15551234567","addresses":[{"address1":"123 Main St","city":"Ottawa","province":"ON","country":"CA","zip":"K1A 0B1"}]}}'
更新客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/{CUSTOMER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"customer":{"id":{CUSTOMER_ID},"tags":"vip,wholesale","note":"Important customer"}}'
删除客户
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/{CUSTOMER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
获取客户订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/customers/{CUSTOMER_ID}/orders.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
库存
列出库存水平
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_levels.json?inventory_item_ids={ITEM_ID}" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
查询参数:inventory_item_ids(必填),location_ids,limit,updated_at_min
调整库存水平
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_levels/adjust.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"location_id":{LOCATION_ID},"inventory_item_id":{ITEM_ID},"available_adjustment":5}'
设置库存水平
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_levels/set.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"location_id":{LOCATION_ID},"inventory_item_id":{ITEM_ID},"available":100}'
将库存关联到位置
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_levels/connect.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"location_id":{LOCATION_ID},"inventory_item_id":{ITEM_ID}}'
库存商品
列出库存商品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_items.json?ids={ITEM_IDS}" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取库存商品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_items/{ITEM_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
更新库存商品
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/inventory_items/{ITEM_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"inventory_item":{"id":{ITEM_ID},"cost":"25.00","tracked":true}}'
位置
列出位置
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/locations.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取位置
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/locations/{LOCATION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取位置数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/locations/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取位置的库存水平
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/locations/{LOCATION_ID}/inventory_levels.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
履行
列出订单的履行情况
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/fulfillments.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取履行信息
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/fulfillments/{FULFILLMENT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取履约数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/fulfillments/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建履约
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/fulfillments.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"fulfillment":{"line_items_by_fulfillment_order":[{"fulfillment_order_id":{FULFILLMENT_ORDER_ID}}],"tracking_info":{"number":"1Z999AA10123456784","url":"https://www.ups.com/track?tracknum=1Z999AA10123456784","company":"UPS"}}}'
更新物流追踪
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/fulfillments/{FULFILLMENT_ID}/update_tracking.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"fulfillment":{"tracking_info":{"number":"1Z999AA10123456784","url":"https://www.ups.com/track?tracknum=1Z999AA10123456784","company":"UPS"},"notify_customer":true}}'
取消履约
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/fulfillments/{FULFILLMENT_ID}/cancel.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X POST
履约订单
列出订单的履约订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/fulfillment_orders.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取履约订单
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/fulfillment_orders/{FULFILLMENT_ORDER_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
退款
列出订单的退款
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/refunds.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取退款
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/refunds/{REFUND_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
计算退款
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/refunds/calculate.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"refund":{"shipping":{"full_refund":true},"refund_line_items":[{"line_item_id":{LINE_ITEM_ID},"quantity":1,"restock_type":"return"}]}}'
补货类型:不补货,取消,退货,传统补货
创建退款
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/refunds.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"refund":{"currency":"USD","notify":true,"note":"Customer returned item","shipping":{"full_refund":true},"refund_line_items":[{"line_item_id":{LINE_ITEM_ID},"quantity":1,"restock_type":"return"}],"transactions":[{"parent_id":{TRANSACTION_ID},"amount":"10.00","kind":"refund","gateway":"shopify_payments"}]}}'
退货
列出退货
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/returns.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
查询参数:限制,状态(开放、关闭、已取消、已请求、进行中)
获取退货
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/returns/{RETURN_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建退货
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/returns.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"return":{"order_id":{ORDER_ID},"return_line_items":[{"fulfillment_line_item_id":{FULFILLMENT_LINE_ITEM_ID},"quantity":1,"return_reason":"WRONG_ITEM"}]}}'
退货原因:未知,尺寸过小,尺寸过大,不想要了,与描述不符,发错商品,有缺陷,款式,颜色,其他
交易
列出订单的交易记录
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/transactions.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取交易
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/transactions/{TRANSACTION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取交易数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/transactions/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建交易(捕获)
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/orders/{ORDER_ID}/transactions.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"transaction":{"kind":"capture","amount":"10.00","parent_id":{AUTHORIZATION_ID}}}'
交易类型:授权,捕获,销售,作废,退款
收藏
列出自定义收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/custom_collections.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取自定义收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/custom_collections/{COLLECTION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建自定义收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/custom_collections.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"custom_collection":{"title":"Summer Collection","body_html":"<p>Summer products</p>"}}'
更新自定义收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/custom_collections/{COLLECTION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{"custom_collection":{"id":{COLLECTION_ID},"title":"Updated Collection"}}'
删除自定义收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/custom_collections/{COLLECTION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
列出智能收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/smart_collections.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
获取智能收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/smart_collections/{COLLECTION_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建智能收藏
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/smart_collections.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"smart_collection":{"title":"Sale Items","rules":[{"column":"compare_at_price","relation":"greater_than","condition":"0"}]}}'
规则列:标题,类型,供应商variant_pricetagcompare_at_priceweightinventory_stockvariant_compare_at_pricevariant_weightvariant_inventoryvariant_title规则关系:等于不等于大于小于以...开头variant_inventory,variant_title
Rule relations:equals,not_equals,greater_than,less_than,starts_with以...结尾包含不包含收藏(产品-系列链接)列出收藏查询参数:
产品ID
,
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/collects.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
系列ID,限制,自ID,字段创建收藏删除收藏废弃的结账
列出废弃的结账
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/collects.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"collect":{"product_id":{PRODUCT_ID},"collection_id":{COLLECTION_ID}}}'
查询参数:
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/collects/{COLLECT_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
限制
,
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/checkouts.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
自IDlimit,since_id,创建时间最小值,创建时间最大值,更新时间最小值,更新时间最大值,状态(开启,关闭)
获取废弃购物车数量
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/checkouts/count.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
状态参考
订单状态
| 字段 | 值 |
|---|---|
财务状态 | 待处理,已授权,部分支付,已支付,部分退款,已退款,已作废 |
履行状态 | 空 (未履行),部分,已完成,已重新入库 |
产品状态
| 状态 | 描述 |
|---|---|
活跃 | 可供销售 |
已归档 | 不再可用,已从管理员列表中隐藏 |
草稿 | 未准备好销售 |
退货状态
| 状态 | 描述 |
|---|---|
已请求 | 客户已申请退货 |
处理中 | 退货正在处理 |
待处理 | 退货已接受,等待物品 |
已完成 | 退货已完成 |
已取消 | 退货已取消 |
分页
Shopify 通过链接标头使用基于游标的分页。
使用页面信息
# First request
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products.json?limit=50" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-i
响应包含链接标头:
Link: <https://store.myshopify.com/admin/api/2024-10/products.json?page_info=abc123&limit=50>; rel="next"
# Next page
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/products.json?page_info=abc123&limit=50" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
注意:在使用时页面信息,除了limit和fields外,不能使用其他查询参数。
速率限制
Shopify 使用漏桶算法:
- 桶大小:40 个请求
- 泄漏速率:每秒 2 个请求
- 恢复:满桶恢复约需 20 秒
响应头:
X-Shopify-Shop-Api-Call-Limit:当前使用情况(例如,32/40)Retry-After:等待秒数(针对 429 响应)
最佳实践
- 检查
X-Shopify-Shop-Api-Call-Limit响应头 - 如果接近限制,请在请求之间添加延迟
- 收到429响应时,等待
Retry-After秒 - 对于大型数据集,请使用批量操作
Webhooks
列出Webhooks
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/webhooks.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN"
创建Webhook
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/webhooks.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{"webhook":{"topic":"orders/create","address":"https://example.com/webhooks/orders","format":"json"}}'
常见主题:orders/create,orders/updated,orders/fulfilled,orders/cancelled,products/create,products/update,products/delete,customers/create,customers/update,inventory_levels/update,refunds/create
删除Webhook
curl "https://$SHOPIFY_STORE_DOMAIN/admin/api/2024-10/webhooks/{WEBHOOK_ID}.json" \
-H "X-Shopify-Access-Token: $SHOPIFY_ACCESS_TOKEN" \
-X DELETE
变更日志
v1.0.0
- 初始版本,完整覆盖Admin REST API
- 订单、产品、变体、客户
- 库存管理(库存水平、库存条目、库存位置)
- 配送与配送订单
- 退款、退货、交易
- 产品系列(自定义、智能)与收集
- 弃单(放弃的结账)
- Webhooks管理
- 状态参考表
- 分页与速率限制文档


微信扫一扫,打赏作者吧~