发货回传要用/admin/api/2021-10/fulfillments.json
Topic summary
核心问题:Shopify订单回传与发货状态管理
开发者需要通过API获取Shopify订单,完成发货后回传物流信息,并避免重复获取已发货订单。
关键解决方案:
-
订单类型区分:不要使用草稿订单(draft orders),应使用正式订单。草稿订单是商家手动创建的定制订单,无法正常履行发货流程。
-
测试环境搭建:需创建开发商店(Development Store)来测试,避免购买付费套餐。通过Shopify Partners账户创建开发店铺,可在前台手动下单测试。
-
API调用流程:
- 获取订单:
GET /admin/api/2021-10/orders.json - 发货回传:
POST /admin/api/2021-10/fulfillments.json(需传入tracking_number、tracking_url、location_id等参数) - 筛选已发货订单:使用
fulfillment_status=shipped或status=closed参数
- 获取订单:
-
常见错误:
- "Not Found"错误通常因参数错误,需正确传递
fulfillment_order_id和line_items - 时区问题:API返回时间为UTC+8,需根据实际时区调整查询参数
- "Not Found"错误通常因参数错误,需正确传递
未解决问题:
多位后续开发者遇到相同的参数传递和接口调用问题,讨论仍在持续。
shopify的token有效期是多久?
您好,有个问题需要请教您,请问现在方便吗?
可以的,你说
您好 我现在也执行到这一步,遇到了和您一样的问题,前面的步骤和您一样也是调用/admin/api/2022-10/orders.json获取订单信息,然后调用/admin/api/2022-10/fulfillments.json这个接口进行发货,我有三个值,不知道传的对不对,tracking_info->number 这个不知道从哪里获取;
line_items_by_fulfillment_order->fulfillment_order_id,这个是订单信息接口里的订单id吗;
line_items_by_fulfillment_order->fulfillment_order_line_item->id 这是订单接口中line_item下的id吗
我现在用 /admin/api/2022-10/fulfillments.json 这个接口进行发货,这是我的代码
$fulfillment = new \Shopify\Rest\Admin2022_10\Fulfillment($offlineSession);
$fulfillment->message = "The package was shipped this morning.";
$fulfillment->notify_customer = false;
$fulfillment->tracking_info = [
"number" => 9400111202565851502441,
"url" => "https://www.usps.com",
"company" => "USPS"
];
$fulfillment->line_items_by_fulfillment_order = [
[
"fulfillment_order_id" => $orderId,
// 'fulfillment_order_line_items' => [
// [
// 'id' => 13646186512706,
// 'quantity' => 1
// ]
// ]
]
];
$fulfillment->save(true);
但是调用返回错误
REST request failed: “Not Found”
请教一下这是什么原因?
我是使用的测试帐号,还没有进行审核,商店是开发商店,订单是手动在商店创建的
你发货成功了吗?
你好 我也有一样的疑问,请问解决了吗
你好,请问 你是用什么编辑器编辑的?