receive_order_last_modified_dateが更新されています。再度受注伝票を検索してAPIを実行して下さい

4 個の投稿 / 0 new
最終投稿
#1 2019/11/10 (日) 12:25
高見沢 徳明

receive_order_last_modified_dateが更新されています。再度受注伝票を検索してAPIを実行して下さい

お世話になっております。受注伝票のステータスを印刷待ちから出荷済みに変更すべく
https://developer.next-engine.com/api/api_v1_receiveorder_base/shipped
を元にAPIをコールしているのですが、掲題のエラーが表示されます。こちらも拝見しましたが、再度検索するという意味合いがよくわかりません。
https://developer.next-engine.com/questions/1267

tmp = (NeAPI::Master.new(access_token: spree_next_engine_integrate.access_token, refresh_token: spree_next_engine_integrate.refresh_token).receiveorder_base_search(query: {"receive_order_shop_cut_form_id-eq": r['receive_order_shop_cut_form_id']}))
のようなソースを挿入しても特に変わらないです。

ちなみにソースコードはRubyのSDKを用いて以下のようにしています。

spree_next_engine_integrate = SpreeNextEngineIntegrate.find(1) # AccessTokenとRefreshTokenを格納しているモデル
result = (NeAPI::Master.new(access_token: spree_next_engine_integrate.access_token, refresh_token: spree_next_engine_integrate.refresh_token).receiveorder_base_search(query: {"receive_order_order_status_id-eq": 20})) # waiting for printing
result.each do |r|
order = Spree::Order.find_by_number(r['receive_order_shop_cut_form_id'])
if order.present?
obj = (NeAPI::Master.new(access_token: spree_next_engine_integrate.access_token, refresh_token: spree_next_engine_integrate.refresh_token))
params = {receive_order_id: r['receive_order_shop_cut_form_id'], receive_order_last_modified_date: Time.now.strftime('%Y-%m-%d %H:%M:%S')}
status = obj.post(method: 'shipped', model: 'receiveorder_base', query: nil, fields: nil, get_key: nil, params: params)
spree_next_engine_integrate.update_attributes(access_token: status.access_token, refresh_token: status.refresh_token)
end

こちらは何が問題なのでしょうか?

2019/11/15 (金) 14:08

Re:receive_order_last_modified_dateが更新されています。再度受注伝票を検索してAPIを実行して

receive_order_last_modified_dateは伝票の状態の遷移や変更により、常に変わる可能性があります。
「受注伝票検索」にて最新のreceive_order_last_modified_dateを取得いただき、その値にて再度出荷確定処理を行ってください。

2019/11/15 (金) 15:48
高見沢 徳明

receive_order_last_modified_dateの値

ご回答ありがとうございます。
そうしますと、receive_order_last_modified_dateの値は任意のものではなく、最新の現在の値を取得してそれをそのまま設定する必要があるということですね?

2019/11/16 (土) 08:34
高見沢 徳明

動きました!

> eceive_order_last_modified_dateの値は任意のものではなく、最新の現在の値を取得してそれをそのまま設定
こちらでエラー無く動作することを確認しました。ありがとうございました。