跳转到主要内容

故障排查指南

API 错误格式

所有 ORBEXA API 端点返回统一的 JSON 错误结构:
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "描述具体错误原因的可读文本",
    "details": {}
  }
}
code 字段是机器可读的错误标识,适用于程序化处理。message 字段提供人类可读的说明。details 对象为可选项,在可用时提供额外上下文,例如哪些字段未通过校验。

认证错误

错误码HTTP 状态原因解决方案
UNAUTHORIZED401API 密钥缺失或无效检查 X-API-Key 请求头是否包含控制台中的有效密钥
EXPIRED_API_KEY401API 密钥已过期在控制台”设置 > API 密钥”中生成新密钥
SESSION_EXPIRED401登录会话已超时重新登录以获取新会话
FORBIDDEN403当前用户权限不足确认账户角色是否具备访问目标资源的权限

常见认证陷阱

  • 请求头格式错误 — 确保使用正确的请求头格式。API 密钥使用 X-API-Key 头,而 OAuth 令牌使用 Authorization: Bearer 方式。
  • 密钥中含有空白字符 — 从控制台复制 API 密钥时可能引入前导或尾随空格,使用前请确保已清除多余空白。
  • 密钥已被吊销 — 已吊销的密钥会立即返回 UNAUTHORIZED。如果密钥被团队成员吊销,请生成替代密钥。

数据校验错误

错误码HTTP 状态原因解决方案
VALIDATION_ERROR400请求体或查询参数未通过格式校验查看 details 字段获取具体的字段级错误
INVALID_DOMAIN400域名格式不符合预期确保域名为有效主机名,不含协议前缀(如应为 example.com 而非 https://example.com
MISSING_REQUIRED_FIELD400缺少必填参数按照 API 参考文档 补全所有必填字段
XSS_DETECTED400输入包含潜在危险的 HTML 或脚本内容移除输入字段中的 HTML 标签和脚本元素
FIELD_TOO_LONG400字符串字段超出最大长度限制将值缩短至文档规定的长度以内

调试校验失败

收到 VALIDATION_ERROR 时,details 对象包含字段级错误数组:
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Request validation failed",
    "details": {
      "fields": [
        { "field": "price", "message": "Must be a positive number" },
        { "field": "currency", "message": "Must be a valid ISO 4217 currency code" }
      ]
    }
  }
}
逐一检查 fields 数组中的每条记录,修正对应值后重试。

速率限制

概述

ORBEXA 通过速率限制保障平台的公平使用和稳定运行。超出限制时,API 返回 HTTP 状态 429 和错误码 RATE_LIMIT_EXCEEDED

各端点类型的速率限制

端点类别限额窗口
UCP 端点100 次每分钟
API 端点60 次每分钟
认证端点10 次每分钟
Webhook 端点200 次每分钟
WordPress 插件每 IP 3 次每分钟

Retry-After 响应头

被限速时,响应包含 Retry-After 头,指示等待秒数:
HTTP/1.1 429 Too Many Requests
Retry-After: 30

指数退避策略

对于自动化集成,建议实施指数退避:
  1. 收到第一个 429 响应后,等待 Retry-After 指定的时长(未提供时默认等待 1 秒)
  2. 重试仍返回 429 时,等待时间翻倍
  3. 持续翻倍,直到上限 60 秒
  4. 连续 5 次失败后,记录错误并触发监控告警

Webhook 故障排查

签名无效

{
  "success": false,
  "error": {
    "code": "INVALID_SIGNATURE",
    "message": "Webhook signature verification failed"
  }
}
HTTP 状态:400 原因:请求头中的 HMAC 签名与根据请求体和 Webhook 密钥计算出的预期值不匹配。

各平台的签名请求头

不同平台使用不同的签名头和编码方式:
平台签名头算法
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256 (Base64)
WooCommerceX-WC-Webhook-SignatureHMAC-SHA256 (Base64)
StripeStripe-SignatureHMAC-SHA256 (Hex)
ORBEXAX-OTR-SignatureHMAC-SHA256 (Hex)

常见 Webhook 故障

密钥轮换不同步:如果在平台侧更换了 Webhook 密钥但未同步更新 ORBEXA(或反之),所有签名验证都会失败。请确保双方密钥完全一致。 编码格式不匹配:部分平台使用 Base64 编码签名,另一些使用十六进制编码。请确认验证逻辑与具体平台使用的编码格式一致。 请求体格式差异:Webhook 签名基于原始请求体计算。如果接收端先解析 JSON 再重新序列化后才进行验证,签名将无法匹配。请始终对原始字节流进行验证。 投递重试:ORBEXA 对投递失败的 Webhook 最多重试 3 次,间隔逐次递增。如果端点短暂不可用,恢复后可能收到同一事件的多次投递,请使用事件 ID 进行去重处理。

平台集成连接问题

Shopify OAuth

问题原因解决方案
state 参数无效OAuth state 令牌已过期或被篡改从 ORBEXA 控制台重新发起连接流程
令牌交换失败Shopify API 在令牌交换时返回错误确认 Shopify 店铺地址正确且店铺处于活跃状态
API 凭证缺失未授权必要的 Shopify API 权限范围断开后重新连接,确保批准所有请求的权限
店铺未找到Shopify 店铺地址无法解析确认店铺子域名正确(如 yourstore.myshopify.com

WooCommerce REST API

问题原因解决方案
API 密钥不匹配Consumer Key 或 Secret 不正确在 WooCommerce 后台”设置 > 高级 > REST API”中重新生成 API 密钥
REST API 未启用WooCommerce REST API 被禁用或被屏蔽在 WooCommerce 设置中启用 REST API,同时检查固定链接是否设置为”朴素”模式
SSL 证书错误WooCommerce 店铺使用自签名或过期证书在服务器上安装有效的 SSL 证书

连接状态说明

状态含义
已连接(绿色)集成正常,最近一次同步成功
警告(黄色)集成已连接,但最近同步遇到非致命错误
已断开(红色)集成失去连接,可能需要重新认证
待配置(灰色)集成设置尚在进行中

同步失败

平台 API 速率限制

外部平台有各自的速率限制。当 ORBEXA 在同步过程中遇到平台速率限制时:
  • 同步自动暂停,等待平台冷却期后自动重试
  • 如果速率限制持续超过 10 分钟,同步标记为部分完成,日志中记录中断位置

服务不可用 (503)

同步过程中收到 503 响应,表示平台或下游服务暂时不可用。 解决方案:等待几分钟后手动触发同步。如果问题持续超过 30 分钟,请检查平台的状态页面了解是否有已知故障。

部分同步处理

同步部分完成时:
  • 已成功处理的商品会被提交并立即生效
  • 失败的条目会在日志中记录具体错误详情
  • 下次同步(无论是自动还是手动)仅重新处理失败的条目

重试机制

自动同步重试遵循以下时间表:
  1. 第一次重试:失败后 5 分钟
  2. 第二次重试:第一次重试后 15 分钟
  3. 第三次重试:第二次重试后 60 分钟
  4. 三次重试均失败后,同步标记为失败并发送通知

数据导入错误

CSV 导入校验

CSV 导入器在处理前逐行校验,常见问题包括:
错误原因解决方案
缺少必填列CSV 文件缺少 titleprice 列头确保 CSV 至少包含 titleprice
价格值无效价格字段包含非数字字符或为负数使用正数小数,不含货币符号(如 29.99
库存为负库存数量低于零将库存设为 0 或正整数
币种代码无效币种值不是有效的 ISO 4217 代码使用标准三字母代码,如 USDEURGBP
行数据过长字段值超出最大长度描述不超过 10,000 字符,标题不超过 500 字符

必填字段与格式要求

字段是否必填格式最大长度
title文本字符串500 字符
price正数小数
currency否(默认使用账户币种)ISO 4217 三字母代码3 字符
description文本字符串(不允许 HTML)10,000 字符
inventory否(默认为 0)非负整数
image_url有效的 HTTPS 地址2,000 字符
category文本字符串200 字符
sku字母数字字符串100 字符

域名验证问题

CNAME 未传播

现象:域名状态长时间停留在”待验证”。 解决方案
  • DNS 传播根据服务商和 TTL 设置不同,可能需要 48 小时
  • 使用 DNS 查询工具确认 CNAME 记录是否正确创建
  • 确保同一主机名下不存在冲突的 A 或 AAAA 记录

DNS 记录错误

现象:域名验证失败,提示”记录不匹配”。 解决方案
  • 确认 CNAME 目标值与 ORBEXA 控制台中显示的值完全一致
  • 检查 DNS 记录中是否有多余的尾部点号或其他字符
  • 部分服务商会自动追加区域名称,请核实完整记录值

SSL 证书待签发

现象:域名显示”已验证”但 HTTPS 无法正常访问。 解决方案
  • DNS 验证通过后,SSL 证书会自动签发
  • 证书签发通常在 15 分钟内完成
  • 若超过 1 小时仍未签发,请移除域名后重新添加以重启流程

商务交易错误

错误码HTTP 状态原因解决方案
CHECKOUT_FAILED400结算会话创建失败检查所有必填结算字段是否已提供且商品有库存
NEGATIVE_PRICE422商品价格为负数在目录中将商品价格修正为正数
INVALID_CURRENCY422币种代码不是有效的 ISO 4217 代码使用标准三字母币种代码(如 USDEURJPY
PRODUCT_NOT_FOUND404引用的商品 ID 不存在核实商品 ID,确认商品未被删除
OUT_OF_STOCK409请求数量超过可用库存减少数量或等待补货

错误码速查表

错误码HTTP触发场景处理方式
UNAUTHORIZED401API 密钥无效或缺失检查请求头中的 API 密钥
EXPIRED_API_KEY401密钥已过期在控制台生成新密钥
SESSION_EXPIRED401登录超时重新登录
FORBIDDEN403角色权限不足联系账户所有者获取权限
VALIDATION_ERROR400请求体格式错误查看 details.fields 获取详情
INVALID_DOMAIN400域名格式错误去掉协议前缀和路径
MISSING_REQUIRED_FIELD400缺少必填参数按 API 文档补全字段
XSS_DETECTED400输入含危险内容移除 HTML 和脚本标签
FIELD_TOO_LONG400字段值超长缩短字段值
RATE_LIMIT_EXCEEDED429请求过于频繁Retry-After 头等待
SCAN_IN_PROGRESS409重复扫描请求等待当前扫描完成
DOMAIN_NOT_FOUND404无扫描结果先提交扫描请求
INVALID_SIGNATURE400Webhook HMAC 不匹配确认双方密钥一致
CHECKOUT_FAILED400结算创建失败校验所有结算参数
NEGATIVE_PRICE422价格为负修正商品价格
INVALID_CURRENCY422非 ISO 4217 币种使用标准币种代码
PRODUCT_NOT_FOUND404商品 ID 不存在核实商品 ID
OUT_OF_STOCK409库存不足减少数量或补货

获取帮助

控制台通知

全局性问题和计划维护窗口会通过控制台通知系统发布。在排查个别错误前,请先检查导航栏上的通知铃铛图标是否有活跃告警。

协议端点状态

控制台首页的端点状态面板实时显示 UCP、ACP 和 MCP 端点的健康情况。如果某个端点显示”降级”或”离线”,问题可能是平台层面的,而非您的账户所独有。

诊断清单

联系技术支持时,请准备以下信息以加快问题定位:
  1. 错误码和 HTTP 状态 — 来自 API 响应
  2. 请求时间戳 — 请注明时区
  3. 端点地址 — 返回错误的 API 路径
  4. 请求体 — 请脱敏 API 密钥等敏感信息
  5. 账户邮箱 — 关联 ORBEXA 控制台的邮箱地址

支持渠道

  • 知识库 — 浏览 ORBEXA 知识库 获取详细指南
  • 控制台帮助 — 使用控制台内置的帮助组件获取上下文指引
  • 邮件支持 — 通过控制台页脚中的邮箱地址联系技术支持团队
  • 状态页面 — 实时监控平台健康状况和故障更新

完整的 API 端点目录和认证详情请参阅第8章:API 参考与速率限制。控制台功能详解请参阅第9章:商家控制台