通过Shopify API将订单状态从Unfulfilled改为Fulfilled遇400错误求助
解决Shopify API修改订单状态为Fulfilled时的400错误
问题根源
你的请求体缺少Shopify API要求的外层fulfillment包裹对象,这是触发Required parameter missing or invalid错误的核心原因。Shopify创建履约单的接口要求所有参数必须嵌套在fulfillment根键下,否则API无法识别传入的参数结构。
修正后的代码示例
const fulfillmentData = { fulfillment: { // 必须添加这个外层包裹 message: null, notify_customer: true, tracking_info: { number: trackingNumber, url: `https://company/EU/en/parcel-tracking?match=${trackingNumber}`, company: "company" }, line_items: currentOrder.line_items.map(lineItem => ({ id: lineItem.id, quantity: lineItem.quantity, })), location_id: locationId } };
额外排查点
如果修正后仍报错,建议检查以下内容:
- 确认
location_id是当前店铺的有效仓库ID,且该仓库有权处理订单内的商品 - 核对
line_items中的id是否为订单返回的line_item.id(注意不是商品的variant_id) - 验证
tracking_info.url是符合标准格式的完整URL - 确保请求头包含
Content-Type: application/json,且API认证信息(密钥/OAuth令牌)有效
内容的提问来源于stack exchange,提问作者Raul VT
相关产品推荐
相关产品推荐

