GET /items
item:index
なし
5 rps
key | 説明 | 制約など |
---|---|---|
ids | 在庫ID | 整数のみ、カンマ区切りで複数指定可能 |
codes | 在庫コード | カンマ区切りで複数指定可能 |
alias_codes | 代替在庫コード | カンマ区切りで複数指定可能 |
product_ids | カタログID | 整数のみ、カンマ区切りで複数指定可能 |
ia_* | 在庫属性 | - (*1) |
pa_* | 商品属性 | - (*1) |
created_at_from | 作成日から | 2024-04-12 12:08:38 形式 |
created_at_to | 作成日まで | 同上 |
updated_at_from | 更新日から | 同上 |
updated_at_to | 更新日まで | 同上 |
page | ページ | 整数のみ、デフォルト:1 |
limit | 1ページあたりの件数 | 整数のみ、デフォルト:50、最大: 250 |
cursor | ページカーソル | - |
ia_custom_aaa=あいう
pa_asin=404733202X
pa_brand=KADOKAWA
GET /items?codes=ITBC0PV0VJPA
[
{
"id": 23,
"code": "ITBC0PV0VJPA",
"alias_code": null,
"store": {
"id": 1,
"name": "main"
},
"price": 33,
"grade": {
"id": 2,
"name": "中古A"
},
"condition_note": null,
"condition_tags": [
{
"id": 1,
"name": "喫煙あり"
}
],
"note": null,
"stocks": [
{
"location": {
"id": 1,
"type": "DEFAULT",
"name": "デフォルト"
},
"status": "PENDING",
"quantity": 1,
"cost_price": 20
}
],
"attribute": {
"size": "S"
},
"image_urls": [
"https://..."
],
"racks":[
{
"numbers":[
"棚1",
"棚2"
],
"location": {
"id": 1,
"type": "DEFAULT",
"name": "デフォルト"
}
}
],
"product_id": 7,
"created_at": 1673411650,
"updated_at": 1673411650
}
]
key | type | 説明 |
---|---|---|
* | array<object> | 在庫 |
*.id | int | 在庫ID |
*.code | string | 在庫コード |
*.alias_code | string | null | 代替在庫コード |
*.store | object | 所属店舗 |
*.store.id | int | 所属店舗ID |
*.store.name | string | 所属店舗名 |
*.price | int | 価格 |
*.grade | object | グレード |
*.grade.id | int | グレードID |
*.grade.name | string | グレード名 |
*.condition_note | string | null | コンディション詳細 |
*.condition_tags | array<object> | コンディションタグ |
*.condition_tags.*.id | int | コンディションタグID |
*.condition_tags.*.name | string | コンディションタグ名 |
*.note | string | null | 商品メモ |
*.stocks | array<object> | 在庫、location-statusでユニーク |
*.stocks.*.location | object | 在庫ロケーション |
*.stocks.*.location.id | int | 在庫ロケーションID |
*.stocks.*.location.type | string | 在庫ロケーションタイプ |
*.stocks.*.location.name | string | 在庫ロケーション名 |
*.stocks.*.status | string | 在庫ステータス |
*.stocks.*.quantity | int | 在庫数 |
*.stocks.*.cost_price | int | 在庫原価 |
*.attribute | object | null | 在庫属性 |
*.image_urls | array<string> | 在庫画像URL |
*.racks | array<object> | 棚情報 |
*.racks.*.location | object | ロケーション |
*.racks.*.numbers | array<string> | 番号 |
*.product_id | int | 商品ID |
*.created_at | int | null | 作成日時 |
*.updated_at | int | null | 更新日時 |
GET /items/{item_id}
item:show
なし
5 rps
GET /items/23
在庫検索のresponse[0]と同様
POST /items
item:store
store_id (またはX-Store-Idヘッダ)
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
product_id | int | 商品ID | - |
price | int | 価格 | - |
alias_code | ?string | null | 代替在庫コード | 50文字まで |
grade_id | ?int | グレードID | - |
condition_note | ?string | null | コンディション詳細 | - |
condition_tag_ids | ?array<int> | コンディションタグID | - |
note | ?string | null | 商品メモ | - |
attribute | ?object | 在庫属性 | - |
image_urls | ?array<string> | 商品画像URL | (*1) |
racks | ?array<object> | 棚情報 | - |
racks.*.location_id | int | ロケーションID | - |
racks.*.numbers | array<string> | null | 番号 | - |
POST /items
{
"product_id": 2,
"price": 100,
"alias_code": null,
"condition_tag_ids": [1, 2, 3],
"image_urls": ["https://***", "https://***"],
"racks": [
{
"location_id": 1,
"numbers": ["棚1", "棚2"]
}
]
}
在庫取得と同様
PUT /items/{item_id}
item:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
alias_code | ?string | null | 代替在庫コード | 50文字まで |
grade_id | ?int | グレードID | - |
condition_note | ?string | null | コンディション詳細 | - |
condition_tag_ids | ?array<int> | コンディションタグID | - |
note | ?string | null | 商品メモ | - |
attribute | ?object | 在庫属性 | (*1) |
image_urls | ?array<string> | 商品画像URL | (*2) (*3) |
racks | ?array<object> | 棚情報 | - |
racks.*.location_id | int | ロケーションID | - |
racks.*.numbers | array<string> | null | 番号 | - |
PUT /items/23
{
"alias_code": null,
"condition_tag_ids": [1, 2, 3],
"image_urls": ["https://***", "https://***"]
}
在庫取得と同様
POST /items/bulk
item:bulk:store
store_id (またはX-Store-Idヘッダ)
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
* | array<object> | - | 1件以上 1000件まで |
*.* | - | (以下在庫作成と同様) | - |
POST /items/bulk
[
{
"product_id": 2,
"price": 100,
"alias_code": null,
"condition_tag_ids": [1, 2, 3]
}
]
在庫検索と同様
PUT /items/bulk
item:bulk:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
* | array<object> | - | 1件以上 1000件まで |
*.id | int | 在庫ID | - |
*.* | - | (以下在庫更新と同様) | - |
PUT /items/bulk
[
{
"id": 234,
"alias_code": null,
"condition_tag_ids": [1, 2, 3]
}
]
在庫検索と同様
PUT /items/inbounds
item:inbound:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
location_id | int | ロケーションID | - |
status | string | 入庫ステータス | PENDING ACTIVE |
items | array<object> | 入庫在庫 | 1件以上 1000件まで |
items.*.id | int | 在庫ID | - |
items.*.quantity | int | 入庫数量 | 1以上 |
items.*.cost_price | int | 税抜原価小計 | - |
note | ?string | null | 内部メモ | - |
PUT /items/inbounds
{
"location_id": 1,
"status": "ACTIVE",
"items": [
{
"id": 12,
"quantity": 3,
"cost_price": 100
}
]
}
在庫検索と一部同様、差分を下記に示す
key | type | 説明 | 制約など |
---|---|---|---|
*.attribute | - | (削除) | - |
*.image_urls | - | (削除) | - |
*.image_url | string | null | 1枚目画像URL | - |
PUT /items/disposals
item:disposal:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
location_id | int | ロケーションID | - |
status | string | 廃棄ステータス | PENDING ACTIVE |
items | array<object> | 廃棄在庫 | 1件以上 1000件まで |
items.*.id | int | 在庫ID | - |
items.*.quantity | int | 廃棄数量 | 1以上 |
note | ?string | null | 内部メモ | - |
PUT /items/inbounds
{
"location_id": 1,
"status": "ACTIVE",
"items": [
{
"id": 12,
"quantity": 3
}
]
}
在庫入庫と同様
PUT /items/change_locations
item:change_location:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
location_id | int | 移動元ロケーションID | - |
dist_location_id | int | 移動先ロケーションID | - |
status | string | 移動ステータス | PENDING ACTIVE |
items | array<object> | 移動在庫 | 1件以上 1000件まで |
items.*.id | int | 在庫ID | - |
items.*.quantity | int | 移動数量 | 1以上 |
note | ?string | null | 内部メモ | - |
PUT /items/change_locations
{
"location_id": 1,
"dist_location_id": 2,
"status": "ACTIVE",
"items": [
{
"id": 12,
"quantity": 3
}
]
}
在庫入庫と同様
PUT /items/change_prices
item:change_price:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
items | array<object> | 移動在庫 | 1件以上 1000件まで |
items.*.id | int | 在庫ID | - |
items.*.price | int | 変更後価格 | 0以上 |
note | ?string | null | 内部メモ | - |
PUT /items/change_prices
{
"items": [
{
"id": 12,
"price": 200
}
]
}
在庫入庫と同様
PUT /items/activations
item:activation:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
location_id | int | ロケーションID | - |
items | array<object> | 品出し在庫 | 1件以上 1000件まで |
items.*.id | int | 在庫ID | - |
items.*.quantity | int | 数量 | 1以上 |
note | ?string | null | 内部メモ | - |
PUT /items/activations
{
"location_id": 1,
"items": [
{
"id": 12,
"quantity": 3
}
]
}
在庫入庫と同様
GET /items/change_stores
item:change_store:index
なし
5 rps
key | 説明 | 制約など |
---|---|---|
ids | ケースID | 整数のみ、カンマ区切りで複数指定可能 |
statuses | ステータス | カンマ区切りで複数指定可能 |
page | ページ | 整数のみ、デフォルト:1 |
limit | 1ページあたりの件数 | 整数のみ、デフォルト:50、最大: 250 |
cursor | ページカーソル | - |
GET /items/change_stores
[
{
"id": 123,
"store": {
"id": 1,
"name": "main"
},
"status": "IN_PROGRESS",
"location": {
"id": 1,
"type": "DEFAULT",
"name": "デフォルト"
},
"item_status": "ACTIVE",
"src_store": {
"id": 1,
"name": "main"
},
"dist_store": {
"id": 2,
"name": "branch"
},
"note": "サンプル",
"created_staff": {
"id": 1,
"name": "山田 太郎"
},
"issued_staff": null,
"done_staff": null,
"details": [
{
"id": 456,
"src_item": {
"id": 23,
"code": "ITBC0PV0VJPA",
"alias_code": null,
"store": {
"id": 1,
"name": "main"
},
"price": 33,
"grade": {
"id": 2,
"name": "中古A"
},
"condition_note": null,
"condition_tags": [
{
"id": 1,
"name": "喫煙あり"
}
],
"note": null,
"stocks": [
{
"location": {
"id": 1,
"type": "DEFAULT",
"name": "デフォルト"
},
"status": "PENDING",
"quantity": 1,
"cost_price": 20
}
],
"image_url": "https://...",
"racks": [],
"product_id": 7,
"created_at": 1673411650,
"updated_at": 1673411650
},
"dist_item": null,
"issued_quantity": 1,
"received_quantity": 0,
"cost_price": 20
}
],
"created_at": 1673411650,
"issued_at": null,
"done_at": null
}
]
key | type | 説明 |
---|---|---|
* | array<object> | 在庫店舗変更ケース |
*.id | int | ID |
*.store | object | 店舗 |
*.store.id | int | 店舗ID |
*.store.name | string | 店舗名 |
*.status | string | ステータス |
*.location | object | ロケーション |
*.location.id | int | ロケーションID |
*.location.type | string | ロケーションタイプ |
*.location.name | string | ロケーション名 |
*.item_status | string | 在庫ステータス (*1) |
*.src_store | object | 移動元店舗情報 |
*.src_store.id | int | 移動元店舗ID |
*.src_store.name | string | 移動元店舗名 |
*.dist_store | object | 移動先店舗情報 |
*.dist_store.id | int | 移動先店舗ID |
*.dist_store.name | string | 移動先店舗名 |
*.created_staff | object | null | 作成担当者 |
*.created_staff.id | int | 作成担当者ID |
*.created_staff.name | string | 作成担当者名 |
*.issued_staff | object | null | 出庫担当者 |
*.issued_staff.id | int | 出庫担当者ID |
*.issued_staff.name | string | 出庫担当者名 |
*.done_staff | object | null | 完了担当者 |
*.done_staff.id | int | 完了担当者ID |
*.done_staff.name | string | 完了担当者名 |
*.note | string | null | 備考 |
*.details | array<object> | 詳細 |
*.details.*.id | int | 詳細ID |
*.details.*.src_item | object | 移動元在庫 (在庫入庫と同様) |
*.details.*.dist_item | object | null | 移動先在庫 (在庫入庫と同様) |
*.details.*.issued_quantity | int | 出庫数量 |
*.details.*.received_quantity | int | 入庫数量 |
*.details.*.cost_price | int | コスト |
*.created_at | int | null | 作成日時 |
*.issued_at | int | null | 出庫日時 |
*.done_at | int | null | 完了日時 |
IN_PROGRESS
処理中ISSUED
出庫済みRECEIVED
入庫済みCANCELED
キャンセルGET /items/change_stores/{case_id}
item:change_store:show
なし
5 rps
GET /items/change_stores/123
在庫店舗変更ケース検索のresponse[0]と同様
POST /items/change_stores
item:change_store:store
store_id (またはX-Store-Idヘッダ)
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
location_id | int | ロケーションID | - |
item_status | string | 在庫ステータス | PENDING ACTIVE |
src_store_id | int | 移動元店舗ID | - |
dist_store_id | int | 移動先店舗ID | - |
note | ?string | null | 備考 | - |
details | array<object> | 詳細情報 | 1件以上 1000件まで |
details.*.src_item_id | int | 移動元在庫ID | - |
details.*.issued_quantity | ?int | 出庫数量 | 1以上 |
details.*.received_quantity | ?int | 入庫数量 | 0以上 |
POST /items/change_stores
{
"staff_id": 1,
"location_id": 1,
"item_status": "ACTIVE",
"src_store_id": 1,
"dist_store_id": 2,
"note": null,
"details": [
{
"src_item_id": 23,
"issued_quantity": 1,
"received_quantity": 0
}
]
}
在庫店舗変更ケース取得と同様
PUT /items/change_stores/{case_id}
item:change_store:update
なし
2 rps
在庫店舗変更ケース作成との差分のみ記載
key | type | 説明 | 制約など |
---|---|---|---|
details.*.action | string | アクション | CREATE UPDATE DELETE |
details.*.id | ?int (*2) | 詳細ID | - |
details.*.src_item_id | ?int (*1) | 移動元在庫ID | - |
details.*.issued_quantity | ?int | 出庫数量 | 1以上 |
details.*.received_quantity | ?int | 入庫数量 | 0以上 |
CREATE
の場合必須UPDATE
の場合必須PUT /items/change_stores/123
{
"note": null,
"details": [
{
"action": "UPDATE",
"id": 456,
"issued_quantity": 2,
"received_quantity": 1
},
{
"action": "CREATE",
"src_item_id": 24,
"issued_quantity": 1,
"received_quantity": 0
}
]
}
在庫店舗変更ケース取得と同様
DELETE /items/change_stores/{case_id}
item:change_store:destroy
なし
2 rps
DELETE /items/change_stores/123
(なし)
PUT /items/change_stores/{case_id}/status
item:change_store:status:update
なし
2 rps
key | type | 説明 | 制約など |
---|---|---|---|
staff_id | ?int | null | スタッフID | - |
status | string | ステータス | IN_PROGRESS ISSUED RECEIVED CANCELED のいずれか |
PUT /items/change_stores/123/status
{
"staff_id": 1,
"status": "ISSUED"
}
在庫店舗変更ケース取得と同様
GET /items/attributes
item:attribute:index
なし
5 rps
key | 説明 | 制約など |
---|---|---|
ids | 在庫ID | 整数のみ、カンマ区切りで複数指定可能 |
category_id | カテゴリID | - |
page | ページ | 整数のみ、デフォルト:1 |
limit | 1ページあたりの件数 | 整数のみ、デフォルト:50、最大: 250 |
GET /items/attributes?ids=1,2
[
{
"id": 1,
"key": "custom_huga",
"label": "フガ",
"type": "TEXT",
"sort": 0,
"is_required": true,
"options": []
}
]
key | type | 説明 |
---|---|---|
* | array<object> | 在庫属性 |
*.key | string | 在庫属性キー |
*.label | string | 在庫属性名 |
*.type | string | 属性タイプ |
*.sort | int | 表示順 |
*.is_required | boolean | 必須項目かどうか |
*.options | array<string> | 選択肢 |