注文配送先更新
指定した注文の配送先を設定します。
配送先の氏名、郵便番号、都道府県または州、住所、電話番号を設定できます。
ただし、配送先の国は変更できません。
郵便番号や電話番号は配送先の国に応じて検証し、住所の組み合わせや注文状態により変更できない場合は 422 を返します。
更新すると、ショップおよび購入者へお届け先の変更を知らせるメールを送信します。
更新後の配送先を取得できた場合は 200、更新は成功したものの配送先を取得できない場合は 204 を返します。
204 の場合は同じリクエストを再送しないでください。
5xx の場合は更新の成否を確定できないため、再送せずに GET /api/orders/{unique_key} で状態を確認してください。
リクエスト例
curl
curl -X PUT "https://apiv2.thebase.com/api/orders/<unique_key>/shipping" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"name": {
"first": "太郎",
"last": "山田"
},
"address": {
"zip_code": "0000000",
"prefecture": "東京都",
"address": "サンプル市1-2-3",
"address2": "サンプルビル101",
"tel": "0000000000"
}
}'
パラメータ
unique_key
OrderUniqueKey · path
必須
注文の一意キー(16 桁の半角英数字)。小文字は大文字として扱います。
リクエストボディ application/json
- nameOrderShippingUpdateName必須
- firststring必須1 文字以上 / 255 文字以下配送先の名(1〜255 文字)
- laststring必須1 文字以上 / 255 文字以下配送先の姓(1〜255 文字)
- addressOrderShippingUpdateAddress必須
- zip_codestring必須1 文字以上 / 10 文字以下配送先の郵便番号(1〜10 文字)
- prefecturestring必須1 文字以上 / 40 文字以下配送先の都道府県または州(1〜40 文字)
- addressstring必須1 文字以上 / 255 文字以下配送先の市区町村・番地(1〜255 文字)
- address2string必須1 文字以上 / 255 文字以下配送先の建物名・部屋番号など(1〜255 文字)
- telstring必須1 文字以上 / 15 文字以下 / pattern: ^\+?\d+$配送先の電話番号(15 文字以内)。数字のみ、または先頭に + を付けた番号を指定できます。
レスポンス
200
更新成功。更新後の配送先を返します。
204
更新成功。更新後の配送先を取得できないため、レスポンス本文は返しません。
200 のレスポンスボディ(application/json):
- nameOrderShippingName必須
- firststring必須nullable名。配送先未登録時は null です。
- laststring必須nullable姓。配送先未登録時は null です。
- addressOrderShippingAddress必須
- countrystring必須nullable国名。配送先未登録時は null です。
- country_codestring必須nullable国コード(ISO 3166-1 alpha-2)。未登録または国コードを特定できない場合は null です。
- zip_codestring必須nullable郵便番号。配送先未登録時は null です。
- prefecturestring必須nullable都道府県。配送先未登録時は null です。
- addressstring必須nullable市区町村・番地。配送先未登録時は null です。
- address2string必須nullable建物名・部屋番号など。配送先未登録時は null です。
- telstring必須nullable電話番号。未登録時は null です。
エラー
エラーは 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 が処理を完了するために必要な内部処理が制限時間内に完了しなかった場合に返します。 |