BigCommerce API更新订单状态需要什么权限范围?
你执行的更新订单状态请求:
curl -X PUT \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Auth-Client: <auth client>" \ -H "X-Auth-Token: <auth token>" \ -H "X-Custom-Auth-Header: <auth header>" \ https://api.bigcommerce.com/stores/<store hash>/v2/orders/14222 \ -d '{"status_id":2}'
接口返回错误:
{"status":403,"title":"You don't have a required scope to access the endpoint","type":"https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes","errors":{}}
触发该403权限错误的常见原因如下:
- 权限粒度不匹配:BigCommerce API的权限按操作粒度独立分配,即便你使用的授权信息可正常调用其他接口,也不代表包含订单修改权限。更新订单状态需要对应API账号勾选
modify orders权限范围,该权限和订单查询、商品管理等其他接口权限相互独立,需单独配置。 - 版本适配问题:你当前调用的是V2版本订单接口,部分店铺的API权限区分V2/V3版本,如果你的
modify orders权限仅配置给了V3版本接口,调用V2接口就会触发权限不足。你可以尝试将请求路径替换为V3版本验证:https://api.bigcommerce.com/stores/<store hash>/v3/orders/14222,请求体参数无需修改。 - 订单状态限制:部分订单状态不允许二次修改,比如已完成、已退款、已取消的订单,即便你有订单修改权限,修改这类订单的状态也会被平台拦截返回403错误,你可以先调用订单查询接口确认订单14222的当前状态是否支持编辑。
- 自定义鉴权校验失败:你请求中携带了
X-Custom-Auth-Header自定义头,如果店铺侧配置了该头的校验规则,头值不符合要求时也会触发权限类错误,你可以对比其他正常接口的该头取值是否和本次请求一致。
内容的提问来源于stack exchange,提问作者RandySK
相关产品推荐
相关产品推荐

