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