佐川急便はシステムの仕様上、読み込んだ送り状のデータは登録から1週間しか保持できないそうで、「配達予定日」が1週間以上先の荷物は持ち帰ってもらえません。そうすると、倉庫で荷造りして配送予定日のギリギリまで保持しておくか、またはネクストエンジンのステータスを「印刷待ち」にせずに「確認待ち」などで保持しておいて、着日が近くなったら倉庫に出荷指示を送るか、のいずれかが現実的でしょう。
こういう機械的にできる業務を、人手で対応すると漏れや忘れが発生し、トラブルの原因となります。かくいう私が昔ネットショップに勤務していた頃、こういう受注業務を手作業でしていて、何度もミスしました。
APIで自動化できる選択肢を知らないと、こういうミスをした際には「ミスをした自分が悪い」と思ってしまいがちですが、日々何十件とか100件もの受注業務があるネットショップなら、人間の限られた認知能力を頼りにして煩雑な受注業務をすること自体が誤っています。
- システム実行日と配達希望日を比較する
- 「配達希望日:receive_order_hope_delivery_date」が一週間以上先である場合に、作業用欄、受注分類タグなどで処理する
- 実行して一週間以内なら、2を解除する
こういったツ−ルが都合よく存在すればいいのですが、ネットショップごとに業務オペレーションやシステム、倉庫や運送会社は異なるので、自社の要件にピンポイントであうシステムやツールはまずありません。そのため、自動化を進めるにはAPIを活用したシステムが欠かせません。
ネットショップの貴重な人員の工数を、もっと大事な業務にあてられます。企業は人にしかできないことに専念しないと、生き残りは難しい時代です。
https://developer.next-engine.com/api/api_v1_receiveorder_base/bulkupdate 受注の更新はこの一括更新を使います。
更新データを用意して、変数に格納する。ネクストエンジンの仕様でreceive_order_last_modified_dateが一致していないと更新できないので注意。
<?xml version="1.0" encoding="utf-8"?> <root> <receiveorder receive_order_id="1" receive_order_last_modified_date="2018-04-13 10:38:28"> <receiveorder_base> <receive_order_shop_cut_form_id>12345-6789</receive_order_shop_cut_form_id> <receive_order_date>2014-05-01 00:00:00</receive_order_date> <receive_order_worker_text>一週間以上先の注文</receive_order_worker_text> </receiveorder_base> </receiveorder> </root>
endpoint = 'https://api.next-engine.org/api_v1_receiveorder_base/update' header = { 'Content-Type': 'application/x-www-form-urlencoded' } #受注詳細で更新する項目のみを最小限でxmlで用意する xml_data = '' #上記xml request_data = { 'access_token': 'hogehoge' , 'refresh_token': 'hogehoge', 'wait_flag': '1', 'receive_order_id': 'hogehoge', 'receive_order_last_modified_date': '2025-03-31 16:57:17', 'data': xml_data } response = requests.post(endpoint, headers=header, data=request_data) return response