商品一括削除
const url = 'https://api.smaregi.dev/TARGET-CONTRACT-ID/pos/products/bulk_delete';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"products":[{"productId":"123456789012345"}],"callbackUrl":"https://example.com"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.smaregi.dev/TARGET-CONTRACT-ID/pos/products/bulk_delete \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "products": [ { "productId": "123456789012345" } ], "callbackUrl": "https://example.com" }'商品情報を一括削除します。
※ 商品の削除処理は非同期で実行されます。処理完了後、指定されたコールバックURLにWebhook通知されます。
※ 商品は1リクエストにつき100件まで削除できます。
※ 存在しない商品ID、またはすでに削除済みの商品IDが指定された場合、受付時点でエラーになります。ジョブは登録されず、Webhook通知は行われません。
対象プラン
- スタンダード
- プレミアム
- プレミアムプラス
- フードビジネス
- リテールビジネス
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
削除対象の商品ID一覧
object
商品ID:数字15桁以内。
※ ユーザーアクセストークンを利用する場合、ユーザーの所属する店舗で販売している商品IDを指定してください。
処理が完了した際にその結果をWebhook通知するURL
Example
{ "products": [ { "productId": "123456789012345" } ], "callbackUrl": "https://example.com"}Responses
Section titled “Responses”処理受付完了
object
問い合わせ用ID:弊社への問い合わせの際にご利用ください
処理完了通知URL:処理が完了した際に、その結果をWebhook通知するURL
Webhook通知について
Request Header:
| key | value |
|---|---|
| Content-Type | application/json;charset=UTF-8 |
Request Body (削除処理完了):
Object
| key | value |
|---|---|
| requestId | レスポンス時に返却したリクエストID (Integer) |
| result | 処理結果 (Array of Objects) |
| result[].productId | 商品ID:1以上15桁以内の数値文字列 (String) |
| result[].status | 商品ごとの処理結果:deleted=削除成功、already_deleted=削除済み、not_found=存在なし、failed=予期せぬエラー (String) |
| result[].message | 商品ごとの処理結果メッセージ。メッセージがない場合は空文字 (String) |
リクエスト例:
{
"requestId": 700,
"result": [
{
"productId": "123",
"status": "deleted",
"message": ""
},
{
"productId": "456",
"status": "already_deleted",
"message": "削除済みです。"
},
{
"productId": "789",
"status": "failed",
"message": "予期せぬエラーが発生しました。"
}
]
}
Request Body (ジョブ実行失敗):
Object
※ システムエラーにより非同期ジョブ全体を継続できず、商品ごとの削除処理および処理結果の生成を行えない場合に通知されます。
※ 商品単位の失敗は、本形式ではなく result を含む削除処理完了Webhookで通知されます。
| key | value |
|---|---|
| requestId | レスポンス時に返却したリクエストID (Integer) |
| message | エラーメッセージ (String) |
リクエスト例:
{
"requestId": 700,
"message": "エラーメッセージ"
}
※ 存在しない商品ID、またはすでに削除済みの商品IDが指定された場合は受付時点でエラーになるため、ジョブは登録されず、callbackUrlへのWebhook通知は行われません。
商品ごとの処理結果メッセージ:
※ Webhook通知では、既存データを参照した上での結果を返します
| ケース | status | message |
|---|---|---|
| 削除した場合 | deleted | 空文字 |
| 受付後に別処理で削除された場合、または内部処理を再実行した場合 | already_deleted | 削除済みです。 |
| 受付後から内部処理までの間に商品が存在しなくなった場合 | not_found | 商品IDが存在しません。 |
| 予期せぬエラーが発生した場合 | failed | 予期せぬエラーが発生しました。 |
商品ごとの処理結果:
| resultの内容 | 処理結果 |
|---|---|
| すべて deleted または already_deleted | 全件成功 |
| deleted または already_deleted と、not_found または failed が混在 | 一部成功・一部失敗 |
| すべて not_found または failed | 全件失敗 |
※ 商品ごとに処理を行うため、一部の商品で処理に失敗しても、その他の商品に対して完了した削除処理は取り消されません。
※ already_deleted および not_found は、受付後の状態変更や内部処理の再実行時に返却される場合があります。受付時点ですでに削除済み、または存在しない商品IDが含まれている場合、受付時にエラーになります。
Example
{ "requestId": 700, "callbackUrl": "https://example.com"}- 処理完了通知URLで指定されたURLのフォーマットが正しくない場合
- リクエスト上限数を超えている場合
- 商品情報が1件も送られてこなかった場合
- 同一の商品IDを重複して指定した場合
- 商品IDに数値文字列でない値を指定した場合
- 商品IDに16桁以上の値を指定した場合
- 存在しない商品ID、またはすでに削除済みの商品IDを指定した場合
※ errorsは、存在しない商品ID、またはすでに削除済みの商品IDを指定した場合に、エラーとなった商品IDごとに1件返却します。
object
受付時にエラーとなった商品情報。
商品IDの存在状態にエラーがある場合に、エラーとなったすべての商品を返します。
object
商品ID
エラー理由
エラーメッセージ
Examples
{ "type": "about:blank", "title": "Bad Request", "detail": "処理完了通知URLのフォーマットが不正です。(処理完了通知URL-{処理完了通知URL})", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "リクエストの上限数が超えています。上限数-{100}", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "商品情報は1つ以上指定してください。", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "指定された商品IDが重複しています。(商品ID-{商品ID})", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "商品IDは数値文字列で指定してください。(商品ID-{商品ID})", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "商品IDは15桁以内で指定してください。(商品ID-{商品ID})", "status": 400}{ "type": "about:blank", "title": "Bad Request", "detail": "削除対象の商品にエラーがあります。", "status": 400, "errors": [ { "productId": "123", "status": "not_found", "message": "商品IDが存在しません。" }, { "productId": "456", "status": "already_deleted", "message": "商品は削除済みです。" } ]}