属性
属性検索
概要
基本情報
- リクエストパス:
GET /attributes
- スコープ:
attribute:index
- 店舗IDの指定:
必要なし
- 基本制限レート:
5 rps
query
| key |
説明 |
制約など |
| ids |
属性ID |
整数のみ、カンマ区切りで複数指定可能 |
| subject |
対象 |
- |
| has_options |
選択肢の有無で絞り込み |
true または false |
| is_required |
必須項目で絞り込み |
true または false |
| is_pinned |
表示固定で絞り込み |
true または false |
| sc_category_id |
カテゴリIDで絞り込み |
整数のみ (*1) |
| page |
ページ |
整数のみ、デフォルト:1 |
| limit |
1ページあたりの件数 |
整数のみ、デフォルト:50、最大: 250 |
- *1)
sc_category_idはproduct(商品)・item(在庫)の属性のみが対象です。
例
GET /attributes?subject=product&ids=1,2
[
{
"id": 1,
"subject": "product",
"key": "asin",
"label": "ASIN",
"description": "Amazon Standard Identification Number",
"type": "single_text",
"is_multiple": false,
"has_options": false,
"sort": 0,
"is_required": false,
"is_pinned": true,
"scope": null,
"mapping": { "leaves_key": "asin" },
"constraints": [
{ "name": "regex", "value": "^[A-Z]{2}[0-9]{3}$" }
]
}
]
| key |
type |
説明 |
| * |
array<object> |
属性 |
| *.id |
int |
属性ID |
| *.subject |
string |
対象 |
| *.key |
string |
属性キー |
| *.label |
string |
属性名 |
| *.description |
string | null |
属性の説明文 |
| *.type |
string |
属性タイプ |
| *.is_multiple |
boolean |
複数値か |
| *.has_options |
boolean |
選択肢を持つか (*1) |
| *.sort |
int |
表示順 |
| *.is_required |
boolean |
必須か |
| *.is_pinned |
boolean |
表示を固定するか |
| *.scope |
object | null |
絞込条件 |
| *.scope.category_ids |
?array<int> | null |
対象カテゴリID (*2) |
| *.mapping |
object | null |
外部連携キー |
| *.mapping.leaves_key |
?string | null |
商品DB連携キー (*3) |
| *.constraints |
array<object> | null |
値の制約 |
| *.constraints.*.name |
string |
種別 |
| *.constraints.*.value |
?any |
制約値 |
-
*1) trueの属性の選択肢は属性選択肢検索で取得できます。
-
*2) product(商品)・item(在庫)の属性のみ設定されます。
-
*3) product(商品)の属性のみ設定されます。
-
対象(subject)
product 商品
item 在庫
member 会員
bas 店頭買取
big 一般仕入
bad 宅配買取
bap 質入れ
bac 委託仕入
sas 店頭販売
sig 一般販売
ec_order EC受注
item_change_price 在庫価格変更
item_activation 在庫品出し
item_change_store 在庫店間移動
item_change_location 在庫店内移動
item_inbound 在庫入庫
item_disposal 在庫廃棄
item_transfer 在庫振替
-
属性タイプ(type)
single_text 単一行テキスト
multi_text 複数行テキスト
numeric 数値
date 日付 (YYYY-MM-DD形式)
date_time 日時 (YYYY-MM-DD HH:mm:ss形式)
boolean 真偽値
json JSON
image 画像
属性作成
概要
基本情報
- リクエストパス:
POST /attributes
- スコープ:
attribute:store
- 店舗IDの指定:
必要なし
- 基本制限レート:
2 rps
body
| key |
type |
説明 |
制約など |
| subject |
string |
対象 |
必須。属性検索の対象(subject)一覧を参照 |
| key |
string |
属性キー |
必須。custom_ で始まる半角英小文字・数字・アンダースコア、最大50文字。対象内で一意 |
| label |
string |
属性名 |
必須。最大50文字 |
| description |
?string | null |
属性の説明文 |
- |
| type |
string |
属性タイプ |
必須。属性検索の属性タイプ(type)一覧を参照 |
| is_multiple |
?boolean |
複数値か |
デフォルト: false |
| has_options |
?boolean |
選択肢を持つか |
デフォルト: false |
| sort |
?int |
表示順 |
- |
| is_required |
?boolean |
必須か |
デフォルト: false |
| is_pinned |
?boolean |
表示を固定するか |
デフォルト: false |
| scope |
?object | null |
絞込条件 |
product・item の属性のみ指定可能 |
| scope.category_ids |
?array<int> | null |
対象カテゴリID |
存在するカテゴリIDのみ |
| mapping |
?object | null |
外部連携キー |
product の属性のみ指定可能 |
| mapping.leaves_key |
?string | null |
商品DB連携キー |
最大50文字。product の属性内で一意 |
| constraints |
?array<object> | null |
値の制約 |
- |
| constraints.*.name |
string |
種別 |
jan、asin、in_options、regex のいずれか (*1) |
| constraints.*.value |
?any |
制約値 |
regex の場合は必須 (正規表現文字列)、それ以外は指定不可 |
- *1) 制約の種別(
constraints.*.name)
jan JANコードとして妥当な値のみ許可する
asin ASINとして妥当な値のみ許可する
in_options 属性選択肢に登録された値のみ許可する
regex value に指定した正規表現に一致する値のみ許可する
例
POST /attributes
{
"subject": "product",
"key": "custom_color",
"label": "カラー",
"description": "商品の色",
"type": "single_text",
"is_multiple": false,
"has_options": true,
"sort": 10,
"is_required": false,
"is_pinned": true,
"scope": { "category_ids": [1, 2] },
"mapping": { "leaves_key": null },
"constraints": [
{ "name": "in_options" }
]
}
{
"id": 100,
"subject": "product",
"key": "custom_color",
"label": "カラー",
"description": "商品の色",
"type": "single_text",
"is_multiple": false,
"has_options": true,
"sort": 10,
"is_required": false,
"is_pinned": true,
"scope": { "category_ids": [1, 2] },
"mapping": { "leaves_key": null },
"constraints": [
{ "name": "in_options" }
]
}
属性更新
概要
- 属性を更新する
subject(対象)・key(属性キー)・type(属性タイプ)・is_multiple(複数値か) は変更できません
基本情報
- リクエストパス:
PUT /attributes/{attribute_id}
- スコープ:
attribute:update
- 店舗IDの指定:
必要なし
- 基本制限レート:
2 rps
path
| key |
説明 |
制約など |
| attribute_id |
属性ID |
整数のみ |
body
| key |
type |
説明 |
制約など |
| label |
?string |
属性名 |
最大50文字 (*1) |
| description |
?string | null |
属性の説明文 |
- |
| has_options |
?boolean |
選択肢を持つか |
- |
| sort |
?int |
表示順 |
- |
| is_required |
?boolean |
必須か |
- |
| is_pinned |
?boolean |
表示を固定するか |
- |
| scope |
?object | null |
絞込条件 |
product・item の属性のみ指定可能 (*1) |
| scope.category_ids |
?array<int> | null |
対象カテゴリID |
存在するカテゴリIDのみ |
| mapping |
?object | null |
外部連携キー |
product の属性のみ指定可能 (*1) |
| mapping.leaves_key |
?string | null |
商品DB連携キー |
最大50文字。product の属性内で一意 |
| constraints |
?array<object> | null |
値の制約 |
(*1) |
| constraints.*.name |
string |
種別 |
jan、asin、in_options、regex のいずれか |
| constraints.*.value |
?any |
制約値 |
regex の場合は必須 (正規表現文字列)、それ以外は指定不可 |
- *1) システム定義の属性(属性キーが
custom_ で始まらないもの)では description・has_options・sort・is_required・is_pinned のみ更新されます。それ以外の項目は無視されます。
例
PUT /attributes/100
{
"label": "色",
"is_pinned": false,
"scope": { "category_ids": [1, 2, 3] }
}
{
"id": 100,
"subject": "product",
"key": "custom_color",
"label": "色",
"description": "商品の色",
"type": "single_text",
"is_multiple": false,
"has_options": true,
"sort": 10,
"is_required": false,
"is_pinned": false,
"scope": { "category_ids": [1, 2, 3] },
"mapping": { "leaves_key": null },
"constraints": [
{ "name": "in_options" }
]
}
属性削除
概要
- ユーザー定義の属性を削除する
- システム定義の属性(属性キーが
custom_ で始まらないもの)は削除できません
- 商品(
product)・在庫(item)・会員(member)の属性は、その属性の値が登録されているデータが1件でも存在する場合は削除できません
- 属性に紐づく選択肢はあわせて削除されます
基本情報
- リクエストパス:
DELETE /attributes/{attribute_id}
- スコープ:
attribute:destroy
- 店舗IDの指定:
必要なし
- 基本制限レート:
2 rps
path
| key |
説明 |
制約など |
| attribute_id |
属性ID |
整数のみ |
例
DELETE /attributes/100
(なし)
属性選択肢検索
概要
基本情報
- リクエストパス:
GET /attributes/{attribute_id}/options
- スコープ:
attribute:option:index
- 店舗IDの指定:
必要なし
- 基本制限レート:
5 rps
path
| key |
説明 |
制約など |
| attribute_id |
属性ID |
整数のみ |
query
| key |
説明 |
制約など |
| q |
選択肢値の部分一致検索 |
- |
| page |
ページ |
整数のみ、デフォルト:1 |
| limit |
1ページあたりの件数 |
整数のみ、デフォルト:50、最大: 250 |
例
GET /attributes/1/options?q=赤
[
{
"id": 10,
"value": "赤",
"sort": 0
}
]
| key |
type |
説明 |
| * |
array<object> |
選択肢 |
| *.id |
int |
選択肢ID |
| *.value |
string |
選択肢値 |
| *.sort |
int |
表示順 |
属性選択肢更新
概要
- 指定した属性の選択肢を一括で作成・更新・削除する
- 1回のリクエストで指定した内容はすべて同一トランザクションで処理され、いずれかが失敗した場合はすべて取り消されます
基本情報
- リクエストパス:
PUT /attributes/{attribute_id}/options
- スコープ:
attribute:option:update
- 店舗IDの指定:
必要なし
- 基本制限レート:
2 rps
path
| key |
説明 |
制約など |
| attribute_id |
属性ID |
整数のみ |
body
| key |
type |
説明 |
制約など |
| * |
array<object> |
- |
1件以上、最大1000件 |
| *.action |
string |
CREATE、UPDATE、UPSERT、DELETE のいずれか (*1) |
必須 |
| *.id |
?int |
選択肢ID。UPDATE、DELETE 時は必須 |
整数のみ |
| *.value |
?string |
選択肢値。CREATE、UPSERT 時は必須 |
最大100文字。属性内で一意 |
| *.sort |
?int |
表示順 |
整数のみ |
- *1)
action
CREATE 選択肢を新規作成する。同じ値がすでに存在する場合はエラー
UPDATE 選択肢IDを指定して値・表示順を更新する
UPSERT 値が一致する選択肢があれば表示順を更新し、なければ新規作成する
DELETE 選択肢IDを指定して削除する
例
PUT /attributes/100/options
[
{ "action": "CREATE", "value": "赤", "sort": 0 },
{ "action": "UPDATE", "id": 10, "value": "青", "sort": 1 },
{ "action": "UPSERT", "value": "緑", "sort": 2 },
{ "action": "DELETE", "id": 11 }
]