用途:该技能用于调试复杂的 Shopify API 问题,包括限流(THROTTLED)、502 错误、Webhook 投递中断、响应缓慢(超过 5 秒)、数据不一致以及间歇性失败,通过系统化隔离找到故障点。
主要能力:
- GraphQL 成本分析:当查询意外被限流时,在请求中添加 Shopify-GraphQL-Cost-Debug: 1,响应中的 extensions.cost 会说明查询为何开销高。requestedQueryCost 会沿嵌套连接逐层相乘,例如 50 个产品 × 20 个变体 × (1 + 5 个元字段),即使实际数据很小成本也可能很高。
- 请求追踪:每个 Shopify 响应都带 X-Request-Id,可捕获用于向官方支持升级。示例:curl -v -X POST "https://$STORE/admin/api/2025-04/graphql.json" -H "X-Shopify-Access-Token: $TOKEN" -H "Content-Type: application/json" -d '{"query": "{ shop { name } }"}' 2>&1 | tee /tmp/shopify-debug.txt,再用 grep -i "x-request-id" /tmp/shopify-debug.txt 获取。
- Webhook 投递检查:在 Partner Dashboard 查看投递状态,或通过 API 查询订阅健康情况。
- GraphQL 内省:通过 __type 查询字段列表或 __schema 查询可用 mutation,判断当前 API 版本是否支持某字段或操作。
- 逐层隔离:独立测试 DNS、TCP、TLS、HTTP、GraphQL 与限流状态,定位网络层故障。
- 间歇性故障调试:用调试记录器封装 Shopify 调用,捕获耗时、成本与错误数据以分析模式。
前置条件:可访问 Shopify 管理员与 Partner Dashboard,熟悉 GraphQL 与 HTTP 调试,环境中有 curl 和 jq。
输出:查询成本拆解(找出高开销字段)、供官方支持使用的请求 ID、Webhook 投递健康验证、逐层隔离得到的故障点、含时间模式的调试日志。
限制:具体故障处理与完整脚本(如 Webhook 状态查询、逐层诊断脚本、TypeScript 调试实现)在资料中仅给出引用名称,未提供完整内容;其他未提及的功能、收费、价格与效果暂未提供。