在庫一括更新
PATCH /stock/bulk
PATCH
/stock/bulk
在庫情報を一括更新します。
在庫数は、入力された値と同じになるよう更新します。
※ 在庫の更新処理は非同期で実行されます。処理完了後、指定されたコールバックURLにWebhook通知されます。
※ 在庫は1リクエストにつき100件(店舗)まで登録できます。
対象プラン
- スタンダード
- プレミアム
- プレミアムプラス
- フードビジネス
- リテールビジネス
Authorizations
Section titled “Authorizations ”Request Body
Section titled “Request Body ”object
stock
required
在庫情報
Array<object>
object
productId
required
商品ID
商品ID
※ ユーザーアクセストークンを利用する場合でも、ユーザーの所属する店舗で販売しているかに関わらず商品IDを指定できます。
string format: int
storeId
required
店舗ID
店舗ID
※ ユーザーアクセストークンを利用する場合、ユーザーの所属する店舗IDを指定してください。
string format: int
stockAmount
required
在庫数
在庫数
string format: int
stockHistory
在庫変動履歴
object
memo
メモ
在庫変動履歴に設定するメモ
string
callbackUrl
required
処理完了通知URL
処理が完了した際にその結果をWebhook通知するURL
string format: string
Example
{ "stock": [ { "productId": "1", "storeId": "123456789", "stockAmount": "123456789", "stockHistory": { "memo": "string" } } ], "callbackUrl": "string"}
Responses
Section titled “ Responses ”処理受付完了
object
requestId
問い合わせ用ID:弊社への問い合わせの際にご利用ください
integer
callbackUrl
処理完了通知URL:処理が完了した際にその結果をWebhook通知するURL
Webhook通知について
■ Request Header:key | value |
---|---|
Content-Type | application/json;charset=UTF-8 |
Array of Objects
key | value | |
---|---|---|
requestId | レスポンス時に返却したリクエストID (Integer) | |
処理結果(Array) | id | 在庫変動履歴ID:数字12桁以内(String) |
productId | 商品ID:数字15桁以内(String) | |
storeId | 店舗ID:数字15桁以内(String) |
Content-Type: application/json;charset=UTF-8
{
"requestId":700,
"result":[
{
"id":"1234"
"productId":"567"
"storeId":"8"
},
{
"id":"1235"
"productId":"678"
"storeId":"9"
}
]
}
■ Request Body (更新失敗):
key | value |
---|---|
requestId | レスポンス時に返却したリクエストID (Integer) |
message | エラーメッセージ (String) |
Content-Type: application/json;charset=UTF-8
{
"requestId":700,
"message":"[stock][2行目]商品IDが存在しません。"
}
■ 更新失敗時のエラーメッセージの詳細:
※ Webhook通知では、既存データを参照した上での結果を返します
※「 [ 大項目 ] [ 何番目のオブジェクトで発生したか ] エラーメッセージ 」の形式で返されます
※「大項目」は下記のリクエストボディの項目と対応します
stock | 在庫項目 |
※「エラーメッセージ」の一覧は下記です
ケース | エラーメッセージ |
---|---|
存在しない商品IDを指定した場合 | 商品IDが存在しません。 |
存在しない店舗IDを指定した場合 | 店舗IDが存在しません。 |
string
Example
{ "requestId": 700, "callbackUrl": "string"}
- 商品IDと店舗IDの組み合わせがリクエスト内で重複している場合
- リクエスト上限数が超えている場合
- 在庫情報が1件も送られてこなかった場合
- リクエスト内の全ての在庫情報で指定しているフィールドが揃っていない場合
- リクエスト内の全ての在庫変動履歴で指定しているフィールドが揃っていない場合
object
type
required
string
title
required
string
detail
string
status
integer
Examples
{ "type": "about:blank", "title": "Bad Request", "detail": "指定された商品IDと店舗IDの組み合わせが重複しています。(商品ID:店舗ID-{商品ID}:{店舗ID})", "status": 400}
{ "type": "about:blank", "title": "Bad Request", "detail": "リクエストの上限数が超えています。上限数-{上限数}", "status": 400}
{ "type": "about:blank", "title": "Bad Request", "detail": "在庫情報は1つ以上指定してください。", "status": 400}
{ "type": "about:blank", "title": "Bad Request", "detail": "全ての在庫情報のjsonキーを揃えてください。", "status": 400}
{ "type": "about:blank", "title": "Bad Request", "detail": "全ての在庫変動履歴のjsonキーを揃えてください。", "status": 400}