コンテンツにスキップ

商品店舗別詳細更新

PATCH
/products/{product_id}/shops/{shop_id}/details
curl --request PATCH \
--url https://api.smaregi.dev/TARGET-CONTRACT-ID/ec-oms/products/example/shops/example/details \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "specialShop": { "orgExpFlg": 1, "code": "SHOP-CODE-001", "productCode": "SHOP-PRODUCT-001", "productType": 1 }, "productsClassShop": [ { "productClassId": 3001, "productCode": "SHOP-PRODUCT-001-01", "rcatalogId": "4901234567894", "stockUpdateFlg": 2, "stockUpdateValue": 30 } ] }'

店舗別商品情報と店舗別商品規格を更新します。
specialShop または productsClassShop の少なくとも一方を指定してください。

product_id
required
string
>= 1 characters

商品ID

shop_id
required
string
>= 1 characters

店舗ID

Media typeapplication/json
Any of:
ShopProductDetailsPatchRequest

指定した項目のみを更新し、省略した項目は変更しません。
productsClassShop は、配列に指定した productClassId の店舗別商品規格のみを部分更新します。
配列に含めなかった既存の店舗別商品規格は変更しません。

object
specialShop
required
ShopProductDetailsPatchSpecialShopRequest

指定した項目のみを更新し、省略した項目は変更しません。

object
>= 1 properties
orgExpFlg

モール反映フラグ

  • 0: 反映しない
  • 1: 反映する
integer
Allowed values: 0 1
code

店舗別商品管理番号

string
0 <= 50 characters
productCode

店舗別商品コード
更新時は当該店舗配下の関連テーブルの商品コードも同期されます。

string
0 <= 50 characters
productType

商品タイプ

  • 0: 通常
  • 1: MOVE商品
integer
Allowed values: 0 1
productsClassShop

店舗別商品規格配列

Array<object>
>= 1 items
ShopProductDetailsPatchProductsClassShopItemRequest

productClassId で指定した店舗別商品規格について、指定した項目のみを更新し、省略した項目は変更しません。
productClassId のみの指定も許容します。その場合、店舗別商品規格は変更されません。

object
productClassId
required

店舗別商品規格ID

integer
>= 1 <= 999999999
productCode

店舗別商品コード
空文字を指定した場合は空文字で更新します。
半角・全角スペース、タブ、改行のみの値は指定できません。

string
0 <= 200 characters /^$|[^  \t\r\n]/
rcatalogId

JANコード

string
0 <= 50 characters
stockUpdateFlg

在庫連携指定

  • 0: 連携しない
  • 1: 在庫連携対象
  • 2: 在庫指定値を使用する
  • 3: 在庫指定値を加算する
integer
Allowed values: 0 1 2 3
stockUpdateValue

在庫指定値
※在庫連携指定に2または3を設定している場合は必須

integer
<= 99999999
Examples
Exampledefault
{
"specialShop": {
"orgExpFlg": 1,
"code": "SHOP-CODE-001",
"productCode": "SHOP-PRODUCT-001",
"productType": 1
},
"productsClassShop": [
{
"productClassId": 3001,
"productCode": "SHOP-PRODUCT-001-01",
"rcatalogId": "4901234567894",
"stockUpdateFlg": 2,
"stockUpdateValue": 30
}
]
}

更新成功

Media typeapplication/json
ShopProductDetailsPatchResponse
object
specialShop

更新時のみ返却される店舗別商品

object
productId

商品ID

string
>= 1 characters <= 9 characters
shopId

店舗ID

string
>= 1 characters <= 9 characters
orgExpFlg

モール反映フラグ

string
nullable >= 1 characters <= 1 characters
code

店舗別商品管理番号

string
nullable 0 <= 50 characters
productCode

店舗別商品コード

string
nullable 0 <= 50 characters
productType

商品タイプ

string
nullable >= 1 characters <= 1 characters
productsClassShop

更新時のみ返却される店舗別商品規格配列

Array<object>
ShopProductDetailsPatchProductsClassShopResponseItem
object
productClassId

店舗別商品規格ID

string
>= 1 characters <= 9 characters
shopId

店舗ID

string
>= 1 characters <= 9 characters
productId

商品ID

string
>= 1 characters <= 9 characters
classcategoryId1

店舗別規格値ID1。未使用時は 0

string
>= 1 characters <= 9 characters
classcategoryId2

店舗別規格値ID2。未使用時は 0

string
>= 1 characters <= 9 characters
classcategoryId3

店舗別規格値ID3。未使用時は 0

string
>= 1 characters <= 9 characters
classcategoryId4

店舗別規格値ID4。未使用時は 0

string
>= 1 characters <= 9 characters
classcategoryId5

店舗別規格値ID5。未使用時は 0

string
>= 1 characters <= 9 characters
classcategoryId6

店舗別規格値ID6。未使用時は 0

string
>= 1 characters <= 9 characters
productCode

店舗別商品コード

string
nullable 0 <= 200 characters
productTypeId

商品種別

string
nullable >= 1 characters <= 1 characters
stockUpdateFlg

在庫連携指定

string
nullable >= 1 characters <= 1 characters
stockUpdateValue

在庫指定値

string
nullable >= 1 characters <= 9 characters
rcatalogId

JANコード

string
nullable 0 <= 50 characters
Examples
Exampledefault
{
"specialShop": {
"productId": "1001",
"shopId": "10",
"orgExpFlg": "1",
"code": "SHOP-CODE-001",
"productCode": "SHOP-PRODUCT-001",
"productType": "1"
},
"productsClassShop": [
{
"productClassId": "3001",
"shopId": "10",
"productId": "1001",
"classcategoryId1": "9001",
"classcategoryId2": "0",
"classcategoryId3": "0",
"classcategoryId4": "0",
"classcategoryId5": "0",
"classcategoryId6": "0",
"productCode": "SHOP-PRODUCT-001-01",
"productTypeId": "1",
"stockUpdateFlg": "2",
"stockUpdateValue": "30",
"rcatalogId": "4900000000105"
}
]
}
  • specialShop または productsClassShop が指定されていない場合
  • 指定された項目が不正な場合
  • 指定された店舗IDが、この商品の取扱店舗ではない場合
Media typeapplication/json
object
type
required
string
title
required
string
detail
One of:
string
status
integer
Examples
{
"type": "about:blank",
"title": "BadRequest",
"detail": "specialShop または productsClassShopは必須です",
"status": 400
}
  • 指定された商品が存在しない場合
  • 指定された店舗が存在しない場合
  • 指定された店舗別商品規格が存在しない場合
Media typeapplication/json
object
type
required
string
title
required
string
detail
One of:
string
status
integer
Examples
{
"type": "about:blank",
"title": "NotFound",
"detail": "該当する商品IDが見つかりませんでした",
"status": 404
}

リクエスト内で店舗別商品規格IDが重複している場合

Media typeapplication/json
object
type
required
string
title
required
string
detail
One of:
string
status
integer
Examples
Exampleリクエスト内で店舗別商品規格IDが重複している場合
{
"type": "about:blank",
"title": "Conflict",
"detail": "店舗別商品規格IDが重複しています",
"status": 409
}

サーバー内部エラー

Media typeapplication/json
object
type
required
string
title
required
string
detail
One of:
string
status
integer
Examples
Exampledefault
{
"type": "about:blank",
"title": "InternalServerError",
"status": 500
}