受注伝票一括同梱
リクエストURL
Section titled “リクエストURL”ホスト
https://api.next-engine.org
エンドポイント
/api_v1_receiveorder_base/bundle
受注伝票の同梱(複数伝票を1配送にまとめる)を実行する。複数の同梱ジョブを1リクエストで一括処理できる。
同梱先ごとに「どの受注伝票をまとめるか」を指定する。楽観ロック(最終更新日一致)により、他操作との競合を防ぐ。
事前に bundle_candidate_groups で同梱可能グループを確認してから実行することを推奨する。
必要なアクセス権限
Section titled “必要なアクセス権限”受注情報更新
リファレンス内容
Section titled “リファレンス内容”入力パラメータ
Section titled “入力パラメータ”| パラメータ | 値 | 省略 | 備考 |
|---|---|---|---|
access_token | access_token取得により取得した値 | 必須(SDKの場合不要) | |
refresh_token | access_token取得により取得した値 | 可能(SDKの場合不要) | |
wait_flag | 1:メイン機能過負荷でも可能な限りエラーにせず実行 1以外:メイン機能過負荷の場合、003002のエラーを返却 | 可能(省略時は1以外とする) | 詳細は パラメータ共通事項「待機フラグについて」を参照して下さい |
data | 同梱ジョブの配列(JSON文字列) | 必須 | 下記「data の構造」参照 |
receive_order_recalculate_flag | 再計算フラグ | 可能 | "1"(再計算する)または "0"。省略時は "1" |
data の構造
Section titled “data の構造”data は JSON 文字列にエンコードされた配列。各要素が1同梱ジョブ(同梱先1件 + 同梱元N件)を表す。
[ { "receive_order_id": "同梱先の受注伝票番号(文字列)", "receive_order_last_modified_date": "同梱先の最終更新日時 (YYYY-MM-DD HH:MM:SS)", "bundles": [ { "receive_order_id": "同梱元の受注伝票番号(文字列)", "receive_order_last_modified_date": "同梱元の最終更新日時 (YYYY-MM-DD HH:MM:SS)" } ] }]receive_order_last_modified_date は楽観ロック用。DB の最終更新日と一致しない受注伝票はスキップされる。
data 配列の要素数は 1〜100 件。
出力フィールド
Section titled “出力フィールド”| 項目名 | フィールド名 | データ型 | 備考 |
|---|---|---|---|
| 処理結果 | result | string | 成功時は "success" |
| メッセージ | message | string | |
| ジョブ結果一覧 | results | 配列 | 各ジョブの処理結果。下記参照 |
| アクセストークン | access_token | string | |
| アクセストークン有効期限 | access_token_end_date | string | |
| リフレッシュトークン | refresh_token | string | |
| リフレッシュトークン有効期限 | refresh_token_end_date | string |
results の各要素
Section titled “results の各要素”| 項目名 | フィールド名 | データ型 | 備考 |
|---|---|---|---|
| 同梱先の受注伝票番号 | receive_order_id | integer | |
| 同梱成功した受注伝票番号 | bundled_receive_order_ids | integer[] | 同梱元として処理された受注伝票番号の配列 |
| スキップされた受注伝票番号 | skipped_receive_order_ids | integer[] | 楽観ロック不一致などでスキップされた番号の配列 |
| スキップ理由 | skipped_receive_order_reasons | 配列 | スキップされた受注ごとの理由。下記参照 |
skipped_receive_order_reasons の各要素
Section titled “skipped_receive_order_reasons の各要素”| フィールド名 | データ型 | 備考 |
|---|---|---|
receive_order_id | integer | スキップされた受注伝票番号 |
reason_message | string | スキップ理由のメッセージ |
リクエスト例
Section titled “リクエスト例”curl -X POST 'https://api.next-engine.org/api_v1_receiveorder_base/bundle' \ -d 'access_token=XXXX' \ -d 'wait_flag=1' \ -d 'receive_order_recalculate_flag=1' \ --data-urlencode 'data=[{"receive_order_id":"72057","receive_order_last_modified_date":"2026-04-01 17:46:04","bundles":[{"receive_order_id":"72056","receive_order_last_modified_date":"2026-04-01 17:46:04"}]}]'data パラメータは JSON 文字列なので --data-urlencode でエンコードする。
レスポンス例(全件成功)
Section titled “レスポンス例(全件成功)”{ "result": "success", "results": [ { "receive_order_id": 72057, "bundled_receive_order_ids": [72056], "skipped_receive_order_ids": [], "skipped_receive_order_reasons": [] } ], "access_token": "XXXX", "access_token_end_date": "2026-04-01 18:00:00", "refresh_token": "XXXX", "refresh_token_end_date": "2026-04-08 18:00:00"}レスポンス例(エラー:全同梱元の楽観ロック不一致)
Section titled “レスポンス例(エラー:全同梱元の楽観ロック不一致)”同梱元がすべてスキップ対象になった場合はレスポンスではなくエラーになる(コード 028013)。
{ "result": "error", "code": "028013", "message": "同梱元のreceive_order_last_modified_dateがDBの最終更新日と一致する伝票が1件もありません。", "access_token": "XXXX", "access_token_end_date": "2026-04-01 18:00:00", "refresh_token": "XXXX", "refresh_token_end_date": "2026-04-08 18:00:00"}レスポンス例(一部スキップ)
Section titled “レスポンス例(一部スキップ)”{ "result": "success", "results": [ { "receive_order_id": 72057, "bundled_receive_order_ids": [72056], "skipped_receive_order_ids": [72055], "skipped_receive_order_reasons": [ { "receive_order_id": 72055, "reason_message": "同梱元のreceive_order_last_modified_dateがDBの最終更新日と一致しません。" } ] } ], "access_token": "XXXX", "access_token_end_date": "2026-04-01 18:00:00", "refresh_token": "XXXX", "refresh_token_end_date": "2026-04-08 18:00:00"}エラーコード
Section titled “エラーコード”このエンドポイント固有のエラーコードを以下に示す。共通エラーコードについてはメッセージコード一覧を参照。
| コード | メッセージ | リカバリ |
|---|---|---|
028001 | 同梱先の受注伝票が存在しません。receive_order_id=を確認してください。 | × |
028002 | 同梱元のreceive_order_idが指定されていません。 | × |
028003 | 指定した同梱元の受注伝票がすべて存在しません。 | × |
028004 | POSTパラメータにdataが指定されていない、または値が空です。 | × |
028005 | ジョブまたはbundles要素に必須フィールドが指定されていません。 | × |
028006 | receive_order_idは数字のみで指定してください。 | × |
028007 | dataのreceive_order_last_modified_dateはYYYY-MM-DD HH:MM:SS形式で指定してください。 | × |
028008 | 同梱元のreceive_order_idに同梱先と同じ値が指定されています。 | × |
028009 | 同一ジョブ内で同梱元のreceive_order_idが重複しています。 | × |
028010 | 発注計算バッチ実行中のため、処理を実行できません。 | ○ |
028011 | 棚卸中のため、処理を実行できません。 | ○ |
028012 | 同梱先の受注伝票が同梱条件を満たしていません。 | × |
028013 | 同梱元のreceive_order_last_modified_dateがDBの最終更新日と一致する伝票が1件もありません。 | × |
028014 | 同梱先のreceive_order_last_modified_dateがDBの最終更新日と一致しません。 | × |
028015 | 同梱先・同梱元の組み合わせが同梱条件を満たしていません。 | × |
028016 | 引当バッチ実行中のため、処理を実行できません。 | ○ |
028017 | dataの値をJSONとして解析できませんでした。 | × |
028018 | dataにはJSON配列を指定してください。 | × |
028019 | 同梱先ジョブ数が上限(100件)を超えています。 | × |
028020 | 一括同梱の一部または全ジョブが失敗した場合に表示されます。 | × |
028021 | 同梱処理中に例外が発生したため、処理を行いませんでした。 | × |