コンテンツにスキップ

受注伝票一括同梱

ホスト

https://api.next-engine.org

エンドポイント

/api_v1_receiveorder_base/bundle

受注伝票の同梱(複数伝票を1配送にまとめる)を実行する。複数の同梱ジョブを1リクエストで一括処理できる。

同梱先ごとに「どの受注伝票をまとめるか」を指定する。楽観ロック(最終更新日一致)により、他操作との競合を防ぐ。

事前に bundle_candidate_groups で同梱可能グループを確認してから実行することを推奨する。

受注情報更新

パラメータ省略備考
access_tokenaccess_token取得により取得した値必須(SDKの場合不要)
refresh_tokenaccess_token取得により取得した値可能(SDKの場合不要)
wait_flag1:メイン機能過負荷でも可能な限りエラーにせず実行 1以外:メイン機能過負荷の場合、003002のエラーを返却可能(省略時は1以外とする)詳細は パラメータ共通事項「待機フラグについて」を参照して下さい
data同梱ジョブの配列(JSON文字列)必須下記「data の構造」参照
receive_order_recalculate_flag再計算フラグ可能"1"(再計算する)または "0"。省略時は "1"

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 件

項目名フィールド名データ型備考
処理結果resultstring成功時は "success"
メッセージmessagestring
ジョブ結果一覧results配列各ジョブの処理結果。下記参照
アクセストークンaccess_tokenstring
アクセストークン有効期限access_token_end_datestring
リフレッシュトークンrefresh_tokenstring
リフレッシュトークン有効期限refresh_token_end_datestring
項目名フィールド名データ型備考
同梱先の受注伝票番号receive_order_idinteger
同梱成功した受注伝票番号bundled_receive_order_idsinteger[]同梱元として処理された受注伝票番号の配列
スキップされた受注伝票番号skipped_receive_order_idsinteger[]楽観ロック不一致などでスキップされた番号の配列
スキップ理由skipped_receive_order_reasons配列スキップされた受注ごとの理由。下記参照

skipped_receive_order_reasons の各要素

Section titled “skipped_receive_order_reasons の各要素”
フィールド名データ型備考
receive_order_idintegerスキップされた受注伝票番号
reason_messagestringスキップ理由のメッセージ
Terminal window
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 でエンコードする。

{
"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"
}

このエンドポイント固有のエラーコードを以下に示す。共通エラーコードについてはメッセージコード一覧を参照。

コードメッセージリカバリ
028001同梱先の受注伝票が存在しません。receive_order_id=を確認してください。×
028002同梱元のreceive_order_idが指定されていません。×
028003指定した同梱元の受注伝票がすべて存在しません。×
028004POSTパラメータにdataが指定されていない、または値が空です。×
028005ジョブまたはbundles要素に必須フィールドが指定されていません。×
028006receive_order_idは数字のみで指定してください。×
028007dataの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引当バッチ実行中のため、処理を実行できません。
028017dataの値をJSONとして解析できませんでした。×
028018dataにはJSON配列を指定してください。×
028019同梱先ジョブ数が上限(100件)を超えています。×
028020一括同梱の一部または全ジョブが失敗した場合に表示されます。×
028021同梱処理中に例外が発生したため、処理を行いませんでした。×