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"],

line_items は注文商品 ID の単なる文字列ではなく line_item オブジェクトであると述べている API ドキュメントとは異なります。

"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 に答える