1

我正在尝试使用 Shopify API 为订单创建新的履行。这是我发送的示例 XML 请求:

<?xml version="1.0" encoding="UTF-8"?>
<fulfillment>
    <tracking-number>1Z0000000300002879</tracking-number>
    <notify-customer type="boolean">false</notify-customer>
</fulfillment>

POST /admin/orders/12345678/fulfillments.xml 后我得到 200-OK。订单已fulfilled正确更新,但跟踪号字段仍为空白。我更新的每个订单都会发生这种情况;状态是fulfilled,但从未设置跟踪号。想法?

4

2 回答 2

1

{"line_items" => ["order_item_id1", "order_item_id2", "order_item_id3"],

不同于 API 文档,它说 line_items 是 line_item 对象,而不仅仅是订单项目 ID 的字符串。

"fulfillments": [
{
  "created_at": "2012-09-28T11:50:06-04:00",
  "id": 255858046,
  "order_id": 450789469,
  "service": "manual",
  "status": "failure",
  "tracking_company": null,
  "tracking_number": "1Z2345",
  "tracking_url": "http://www.google.com/search?q=1Z2345",
  "updated_at": "2012-09-28T11:50:06-04:00",
  "receipt": {
    "testcase": true,
    "authorization": "123456"
  },
  "line_items": [
    {
      "fulfillment_service": "manual",
      "fulfillment_status": null,
      "grams": 200,
      "id": 466157049,

我正在尝试后者,但必须等到另一个订单进来,因为我得到“无法处理的实体”来重复履行。

不发送任何 line_items 会导致跟踪号被忽略,但订单已完成。

于 2012-10-11T22:36:41.467 回答
-1

履行需要一个 line_items 列表,应使用该跟踪号标记为履行。您没有发送任何内容,因此无法将任何内容标记为已完成。

这是我手头的一个rails示例,它应该可以让您朝着正确的方向前进。

@payload = {"fulfillment" =>
    {"line_items" => ["order_item_id1", "order_item_id2", "order_item_id3"],
    "notify_customer" => true,
    "tracking_number" => order.tracking_number
    }}.to_json
于 2012-09-27T21:49:17.310 回答