shopify_api gem を介して注文の項目をフルフィルメントする際に問題があります。単一の品目を履行すると、注文のすべての品目が履行されます。私はそれを調べましたが、人々はヘッダーの設定について何か言っています。明確にしてください。
私がしていることは
order = ShopifyAPI::Order.find(order_id)
この注文に複数の品目があるとします
f = ShopifyAPI::Fulfillment.new(:params => { :order_id => order.id, :line_items => [ {"id" => order.line_items.first.id} ] })
f.prefix_options = { :order_id => order.id }
f.save
このコードは、注文のすべての項目を処理し、処理ステータスを処理済として設定しますが、これは望ましくありません。
以下は、ヘッダー、フルフィルメント オブジェクト、および tcpdump の詳細です。
Shopify ヘッダー
(rdb:1) p ShopifyAPI::Fulfillment.headers
{"User-Agent"=>"ShopifyAPI/3.0.1 ActiveResource/3.1.1 Ruby/1.9.2", "X-Shopify-Access-Token"=>"be9d4adaa35e7f82b720a3567250424c"}
フルフィルメント オブジェクト
#<ShopifyAPI::Fulfillment:0xca2086c @attributes={"params"=>#<ShopifyAPI::Fulfillment::Params:0xca20b00 @attributes={"order_id"=>138494648, "notify_customer"=>true, "tracking_number"=>"12345678", "line_items"=>[#<ShopifyAPI::LineItem:0xca28904 @attributes={"id"=>225568082}, @prefix_options={}, @persisted=false>]}, @prefix_options={}, @persisted=false>}, @prefix_options={:order_id=>138494648}, @persisted=false>
tcpdump の出力
10:07:14.498936 IP localhost.localdomain.34941 > localhost.localdomain.domain: 50737+ AAAA? olson-pfeffer-and-ratke1494.myshopify.com。(59) E..W..@.@.D........}.5.CV1...........olson-pfeffer-and-ratke1494 myshopify.com ..... 10:07:14.655477 IP localhost.localdomain.domain > localhost.localdomain.34941: 50737 1/1/0 CNAME ショップ.shopify.com. (160) E.....@.@.1.......X. :....< 10:07:14.655650 IP localhost.localdomain.36871 > localhost.localdomain.domain: 39864+ A? olson-pfeffer-and-ratke1494.myshopify.com。(59) E..W..@.@.D.........5.CV........olson-pfeffer-and-ratke1494 myshopify. com..... 10:07:14.948404 IP localhost.localdomain.domain > localhost.localdomain.36871: 39864 5/4/4 CNAME ショップ.shopify.com.、A 204.93.213.40、A 204.93.213.41、A 204.93 .213.42、A 204.93.213.44 (301) E..I..@.@.;........5...5.H............ .
......@.................................q.q../#........).....!.6k..
10:07:16.340185 IP6 geek-laptop.46193 > geek-laptop.46193: UDP, length 16
……@………………qq..G…… ....!.6k.. 10:07:16.350974 IP6 geek-laptop.46193 > geek-laptop.46193: UDP、長さ 924 `......@............ ...................qq.tk....)... ............. ................................................................... …………「……」……f . ................................................................... ................................................................... ................................................................... .................................................c .. ................................................................... ...................................................2 ... ................................................................... ...................................................w .... ................................................................... ………………………………………………………………………………………………………………………………………… ...................................................................................................... ...................8