Shopify回传订单

Topic summary

核心问题:Shopify订单回传与发货状态管理

开发者需要通过API获取Shopify订单,完成发货后回传物流信息,并避免重复获取已发货订单。

关键解决方案:

  1. 订单类型区分:不要使用草稿订单(draft orders),应使用正式订单。草稿订单是商家手动创建的定制订单,无法正常履行发货流程。

  2. 测试环境搭建:需创建开发商店(Development Store)来测试,避免购买付费套餐。通过Shopify Partners账户创建开发店铺,可在前台手动下单测试。

  3. API调用流程

    • 获取订单:GET /admin/api/2021-10/orders.json
    • 发货回传:POST /admin/api/2021-10/fulfillments.json(需传入tracking_number、tracking_url、location_id等参数)
    • 筛选已发货订单:使用fulfillment_status=shippedstatus=closed参数
  4. 常见错误

    • "Not Found"错误通常因参数错误,需正确传递fulfillment_order_idline_items
    • 时区问题:API返回时间为UTC+8,需根据实际时区调整查询参数

未解决问题
多位后续开发者遇到相同的参数传递和接口调用问题,讨论仍在持续。

Summarized with AI on November 19. AI used: claude-sonnet-4-5-20250929.

发货回传要用/admin/api/2021-10/fulfillments.json

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吗

1 Like

我现在用 /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”

请教一下这是什么原因?

我是使用的测试帐号,还没有进行审核,商店是开发商店,订单是手动在商店创建的

你发货成功了吗?

你好 我也有一样的疑问,请问解决了吗

你好,请问 你是用什么编辑器编辑的?