並び順の変更

指定した商品を、ショップの商品一覧の中で移動します。

移動先は move_to で指定できます。

  • first:一覧の先頭
  • last:一覧の末尾
  • before / after:neighbor_item_id で指定した商品の直前 / 直後

1 回のリクエストで移動できるのは 1 商品です。 何番目かを表す数値での指定はできません。 neighbor_item_id には、移動する商品自身を指定できません。

並び替えで扱えるのは、表示順の先頭 10000 件までです。 それより後ろの商品を neighbor_item_id に指定すると、存在していても見つからない扱いになります。 10000 件を超える商品が並ぶショップでは、last を指定しても一覧の途中に移動する場合があります。

変更後の並び順は、GET /api/items に order=list_order を指定して確認することができます。

PUT /api/items/{id}/list_order
スコープ items.readitems.update

リクエスト例

curl
curl -X PUT "https://apiv2.thebase.com/api/items/123/list_order" \
  -H "Authorization: Bearer <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
  "move_to": "first"
}'

パラメータ

id string · path 必須
並び順を変更する商品の ID(1 以上の整数を文字列で表したもの)

リクエストボディ application/json

move_to の値により分岐します。

ItemListOrderEndInput
  • move_to"first" | "last"必須
    移動先。first=一覧の先頭、last=一覧の末尾。基準の商品は指定しません。
ItemListOrderRelativeInput
  • move_to"before" | "after"必須
    移動先。before= neighbor_item_id の商品の直前、after= neighbor_item_id の商品の直後。
  • neighbor_item_idinteger必須≥ 0 / ≤ 2147483647
    移動先の基準にする商品の ID。並び順を変更する商品自身は指定できません。

レスポンス

204 変更成功。レスポンス body は持ちません。

エラー

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

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

400 /errors/request/malformed-body リクエストボディをこのエンドポイントが要求する形式として解釈できない場合に返します。
400 /errors/request/invalid-params 1 つ以上のパスパラメータがエンドポイントのスキーマを満たさない場合に返します。
400 /errors/items/invalid-body リクエストボディがエンドポイントのスキーマを満たさない場合に返します。
404 /errors/items/not-found 指定した商品が存在しない、または呼び出し元から参照できない場合に返します。1 リクエストで複数の商品を指定するエンドポイント(並び順の変更など)では、そのいずれかが参照できない場合に返します。
413 /errors/request/body-too-large JSON リクエストボディが 1 MiB の上限を超える場合に返します。
415 /errors/request/unsupported-media-type JSON 形式のリクエストボディを要求するエンドポイントに、対応していない Content-Type が指定された、または Content-Type が指定されていない場合に返します。
422 /errors/items/invalid-list-order 並び順の変更の指定が成立しない場合に返します。移動する商品自身を移動先の基準(neighbor_item_id)に指定した場合が該当します。
422 /errors/items/write-rejected 商品の作成・編集・削除を業務ルールにより実行できない場合に返します (型整合性違反、種別不可変、ドメイン制約違反など)。細分化された Problem type に対応しない理由のときに返します。
502 /errors/internal/bad-gateway BASE API が処理を完了するために必要な内部処理で不整合が発生した場合に返します。
504 /errors/internal/gateway-timeout BASE API が処理を完了するために必要な内部処理が制限時間内に完了しなかった場合に返します。