Shopify XML API不更新跟踪号

时间:2012-09-25 15:41:36

标签: xml shopify

我正在尝试使用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,但从未设置跟踪号。想法?

2 个答案:

答案 0 :(得分:1)

{“line_items”=&gt; [“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会导致跟踪编号被忽略但订单已完成。

答案 1 :(得分:-1)

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

这是我手边的一个示例,可以让你朝着正确的方向前进。

@payload = {"fulfillment" =>
    {"line_items" => ["order_item_id1", "order_item_id2", "order_item_id3"],
    "notify_customer" => true,
    "tracking_number" => order.tracking_number
    }}.to_json