注文配送希望日時更新

指定した注文の配送希望日と配送希望時間帯を設定します。

配送希望日や配送希望時間帯は、該当する項目に null を指定すると解除できます。 選択できない日付や時間帯を指定した場合や、注文状態・決済手段により変更できない場合は 422 を返します。

更新すると、ショップおよび購入者へ配送希望日時の変更を知らせるメールを送信します。

更新後の配送情報を取得できた場合は 200、更新は成功したものの配送情報を取得できない場合は 204 を返します。 204 の場合は同じリクエストを再送しないでください。 5xx の場合は更新の成否を確定できないため、再送せずに GET /api/orders/{unique_key} で状態を確認してください。

PUT /api/orders/{unique_key}/delivery
スコープ orders.readorders.update

リクエスト例

curl
curl -X PUT "https://apiv2.thebase.com/api/orders/<unique_key>/delivery" \
  -H "Authorization: Bearer <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
  "delivery_date": "string",
  "delivery_time_zone": "string"
}'

パラメータ

unique_key OrderUniqueKey · path 必須
注文の一意キー(16 桁の半角英数字)。小文字は大文字として扱います。

リクエストボディ application/json

  • delivery_datestring (date)必須nullable
    配送希望日(YYYY-MM-DD)。希望日を解除する場合は null です。
  • delivery_time_zonestring必須nullablepattern: ^(?:[01]\d|2[0-3])(?:[01]\d|2[0-3])$
    配送希望時間帯(開始時刻と終了時刻を連結した 4 桁。例: '1214')。時間帯を解除する場合は null です。

レスポンス

200 更新成功。更新後の配送情報を返します。
204 更新成功。更新後の配送情報を取得できないため、レスポンス本文は返しません。

200 のレスポンスボディ(application/json):

  • shipping_methodstring必須nullable
    注文全体に設定された配送方法名。サイズ別配送(shipping_lines)利用時は null です。
  • delivery_company_idinteger必須
    注文全体の配送業者 ID。未指定は 0 です。
  • tracking_numberstring必須nullable
    注文全体の伝票番号
  • delivery_datestring (date)必須nullable
    配送希望日(YYYY-MM-DD)。未指定は null です。
  • delivery_time_zonestring必須nullable
    配送希望時間帯(4 桁。例: '1214' = 12 時-14 時)。未指定は null です。
  • dispatched_atstring (date-time)必須nullable
    最終発送日時(RFC 3339, 秒精度 UTC)。未発送は null です。
  • dispatchesOrderDispatch[]必須
    部分発送の履歴。古い順に並びます。
    • idinteger必須
      発送履歴 ID
    • delivery_company_idinteger必須nullable
      配送業者 ID。未指定は null です。
    • tracking_numberstring必須nullable
      追跡番号。未指定は null です。
    • commentstring必須nullable
      発送コメント
    • dispatched_atstring (date-time)必須
      発送日時(RFC 3339, 秒精度 UTC)
    • order_line_idsinteger[]必須
      この発送に含まれる明細 ID の配列。部分発送に対応するため、複数の明細 ID を含む場合があります。

エラー

エラーは application/problem+json の Problem 形式で返します。 認証・スコープ・予期しない内部エラーなど、すべてのエンドポイントに共通のエラーと 構造・判別方法は エラーレスポンス を参照してください。

このエンドポイントが返すその他のエラーは次のとおりです。

400 /errors/request/malformed-body リクエストボディをこのエンドポイントが要求する形式として解釈できない場合に返します。
400 /errors/orders/invalid-body リクエストボディがエンドポイントのスキーマを満たさない場合に返します。
400 /errors/request/invalid-params 1 つ以上のパスパラメータがエンドポイントのスキーマを満たさない場合に返します。
404 /errors/orders/not-found 指定した注文が存在しない、または呼び出し元から参照できない場合に返します。
413 /errors/request/body-too-large JSON リクエストボディが 1 MiB の上限を超える場合に返します。
415 /errors/request/unsupported-media-type JSON 形式のリクエストボディを要求するエンドポイントに、対応していない Content-Type が指定された、または Content-Type が指定されていない場合に返します。
422 /errors/orders/update-rejected 注文状態、決済手段、指定値、更新回数などの業務ルールにより、注文内容、メールアドレス、配送先、配送希望日時、またはショップメモを更新できない場合に返します。
502 /errors/internal/bad-gateway BASE API が処理を完了するために必要な内部処理で不整合が発生した場合に返します。
504 /errors/internal/gateway-timeout BASE API が処理を完了するために必要な内部処理が制限時間内に完了しなかった場合に返します。