コンテンツにスキップ

商品一括登録

POST
/products/bulk

商品情報を一括登録します。

※ 商品の登録処理は非同期で実行されます。処理完了後、指定されたコールバックURLにWebhook通知されます。

※ 商品は1リクエストにつき100件まで登録できます。

対象プラン

  • スタンダード
  • プレミアム
  • プレミアムプラス
  • フードビジネス
  • リテールビジネス
object
products
required
商品情報
Array<object>
object
categoryId
required
部門ID

部門毎に付与するID

string
productCode
required
商品コード

ユニーク値

string
<= 20 characters /^[ -~]+$/
productName
required
商品名
string
<= 85 characters
productKana
商品カナ
string
<= 85 characters
taxDivision
税区分

商品単価の税区分 (0:税込、1:税抜、2:非課税)

string
default: 1
Allowed values: 0 1 2
productPriceDivision
商品価格区分

商品をオープン価格販売するかどうかの設定
(1:通常価格、2:オープン価格)

string
default: 1
Allowed values: 1 2
price
required
商品単価

商品単価

string format: int
>= -99999999 <= 99999999
customerPrice
会員価格
string format: int
>= -99999999 <= 99999999
cost
原価
string format: decimal
>= -99999999.99999 <= 99999999.99999
attribute
規格

商品属性

string
<= 1000 characters
description
説明

商品の説明

string
<= 1000 characters
catchCopy
キャッチコピー

商品のキャッチコピー

string
<= 1000 characters
size
サイズ

サイズの和名を設定

string
<= 85 characters
color
カラー

色の和名を設定

string
<= 85 characters
tag
タグ

タグの和名を設定

string
<= 85 characters
groupCode
グループコード

グルーピングする為の一意のキー (親の商品IDになる)

string
<= 85 characters
url
URL

スマレジ端末でWEBページを表示する場合設定

string
<= 255 characters
printReceiptProductName
レシート印字商品名

レシートに印字する商品名。(64文字以内)

string
<= 64 characters
displaySequence
表示順

表示順序

string format: int
<= 999999999
displayFlag
端末表示

端末で表示するか判定
(0:表示しない、1:表示する)

string
default: 1
Allowed values: 0 1
division
商品区分

商品区分(0:通常、1:回数券、2:オプション)
※回数券 は回数券機能が利用可能な契約のみ指定可能。ご利用できない契約で指定された場合エラー。

string
0
Allowed values: 0 1 2
productOptionGroupId
オプショングループID

商品オプショングループのID(商品区分が0:通常の場合のみ設定可能)。オプショングループの設定方法が「全店舗共通」の場合、適用可能なオプショングループのIDをこちらに設定します。

string format: int
>= 1 <= 999999999
salesDivision
売上区分

(0:売上対象、1:売上対象外)

string
0
Allowed values: 0 1
stockControlDivision
在庫管理区分

(0:在庫管理対象、1:在庫管理対象外)

string
0
Allowed values: 0 1
pointNotApplicable
ポイント対象区分

(0:ポイント対象、1:ポイント対象外)

string
0
Allowed values: 0 1
taxFreeDivision
免税区分

(0:対象外、1:一般品、2:消耗品)

string
0
Allowed values: 0 1 2
calcDiscount
値引割引計算対象

小計値引/割引(クーポン値引、ポイント値引き含む)の対象かどうかを識別する。
(0:対象外、1:対象)

string
default: 1
Allowed values: 0 1
staffDiscountRate
社員販売割引率

社員販売時の割引率

string format: int
<= 100
useCategoryReduceTax
部門税設定参照フラグ

軽減税率個別設定フラグ(0:reduceTaxIdを使用、1:部門の税設定を使用)
画面項目「部門の税設定を使用」

string
default: 1
Allowed values: 0 1
reduceTaxId
軽減税率ID

軽減税率ID
標準:null(または未設定)
軽減:10000001 (特定商品の軽減税率適用)
選択[標準]:10000002(状態による適用[適用しない])
選択[軽減]:10000003(状態による適用[適用する])
選択[選択]:10000004(状態による適用[都度選択する])
上記以外の場合、カスタム軽減税率で登録されている軽減税率ID

※10000001〜10000004における軽減税率は日本国における軽減税率(8%)です。
※存在しない軽減税率IDを指定した場合エラー。

string format: int
>= 1 <= 999999999
reduceTaxPrice
軽減税率用商品単価
string format: int
>= -99999999 <= 99999999
reduceTaxCustomerPrice
軽減税率用商品会員単価
string format: int
>= -99999999 <= 99999999
orderPoint
発注点

発注をかけるべき在庫数

string format: int
<= 999999999
purchaseCost
仕入原価

商品の仕入原価

string format: decimal
>= -99999999.99999 <= 99999999.99999
supplierProductNo
品番

メーカー品番  【在庫PKG用】

string
<= 85 characters
appStartDateTime
適用開始日時

端末に適用を開始する日時[YYYY-MM-DDThh:mm:ssTZD]

string format: date-time
reserveItems
商品自由項目
Array<object>
object
no
required
商品自由項目番号

商品自由項目に付与されている連番

string format: int
>= 1 <= 99
value
required
string
<= 85 characters
prices
商品価格

商品価格
※(注)このフィールドに100件以上指定することは非推奨です。将来的にそのようなケースは入力チェックでエラーとなる可能性がございます。

Array<object>
object
storeId
required
店舗ID

店舗ID:(全店の場合、-1を設定)

string format: int
>= -1 <= 999999999
priceDivision
required
価格区分

(1:商品単価、2:会員価格)

string
Allowed values: 1 2
startDate
required
適用開始日

[YYYY-MM-DD]

string format: date
endDate
適用終了日

[YYYY-MM-DD]
※未設定の場合、有効期限なしとして適用されます。
※適用開始日>適用終了日の場合エラー

string format: date
price
required
商品単価
string format: int
>= -99999999 <= 99999999
stores
商品取扱店舗
Array<object>
object
storeId
required
店舗ID
string format: int
>= 1 <= 999999999
productOptionGroupId
オプショングループID

オプショングループID:商品オプショングループのID(商品区分が0:通常の場合のみ設定可能)。オプショングループの設定方法が「店舗ごと」の場合、適用可能なオプショングループのIDをこちらに設定します。

string format: int
>= 1 <= 999999999
assignDivision
required
取扱区分

(0:販売する(非推奨)/1:販売しない)
※商品取扱店舗を絞りたい場合は、「1:販売しない」店舗を指定するようにしてください。商品登録時は全店舗について「0:販売する」がデフォルト値になっているため本項目で「0:販売する」を指定しても、指定した店舗のみの商品取扱になることは意味しません。

string
Allowed values: 0 1
inventoryReservations
在庫引当商品
Array<object>
object
reservationProductId
required
在庫引当商品ID
string format: int
>= 1 <= 999999999999999
reservationAmount
required
引当数
string format: int
>= 1 <= 999
attributeItems
商品属性項目
Array<object>
object
code
required
コード

商品属性項目を一意にする項目

string format: string
<= 9 characters
no
required
項目番号

商品属性に付与されている連番

string format: int
>= 1 <= 3
orderSetting
発注設定

未設定の場合default値で登録されます。

object
continuationDivision
継続区分

[管理画面->設定->在庫設定->発注設定->継続区分]から確認できる継続区分のコードを指定。

string format: int
nullable
orderStatusDivision
発注状態

発注不可理由を設定している場合は必須です。(0:発注不可、1:発注可)

string
default: 1
Allowed values: 0 1
orderNoReasonDivision
発注不可理由

発注状態を設定している場合は必須。発注可の場合はnullを設定、発注不可の場合は発注不可理由のコードを設定してください。
発注不可理由のコードは、 [管理画面->設定->在庫設定->発注設定->発注不可理由]から確認できます。

string format: int
nullable
orderUnit
発注単位

発注単位

object
division
required
発注単位区分

(0:単位なし、1:単位あり)
(0:単位なし)の場合、「発注単位数」「「発注単位名」にnullを設定してください。
(1:単位あり)の場合、「発注単位数」「発注単位名」に値が必要です。

string
0
Allowed values: 0 1
num
required
発注単位数
string format: int
nullable >= 1 <= 99999999
name
required
発注単位名
string format: string
nullable <= 32 characters
orderLimitAmount
発注制限数

(null:発注制限なし、0~99999999:発注制限)
発注時の制限数の設定。発注単位数を設定している場合発注単位数*発注制限数が発注時に設定できる最大数になります。

string format: int
nullable <= 99999999
orderSupplierEditable
発注時仕入先編集状態

編集可能に設定すると、仕入先分割設定時の補充発注仮発注画面にて仕入先を選択できるようになります。(0:編集不可、1:編集可能)

string
0
Allowed values: 0 1
pbDivision
PB区分

PB区分(1:プロパー、2:バーゲン)

string
default: 1
Allowed values: 1 2
displayFlag
発注表示

(0:表示しない、1:表示する)

string
default: 1
Allowed values: 0 1
stores
店舗別発注設定

店舗別発注設定

Array<object>
object
storeId
店舗ID
string format: int
>= 1 <= 999999999
orderLimitAmount
発注制限数

(null:発注制限なし、-1:全店舗設定、0~99999999:発注制限)
発注時の制限数の設定。発注単位数を設定している場合発注単位数*発注制限数が発注時に設定できる最大数になります。

string format: int
default: -1 nullable >= -1 <= 99999999
displayFlag
発注表示

(-1:全店舗設定、0:表示しない、1:表示する)

string
default: -1
Allowed values: -1 0 1
callbackUrl
required
処理完了通知URL

処理が完了した際にその結果をWebhook通知するURL

string format: string
<= 511 characters /^https?://\S+$/
Example
{
"products": [
{
"categoryId": "string",
"productCode": "string",
"productName": "string",
"productKana": "string",
"taxDivision": "0",
"productPriceDivision": "1",
"price": "12345678",
"customerPrice": "12345678",
"cost": "99999999.99999",
"attribute": "string",
"description": "string",
"catchCopy": "string",
"size": "string",
"color": "string",
"tag": "string",
"groupCode": "string",
"url": "string",
"printReceiptProductName": "string",
"displaySequence": "123456789",
"displayFlag": "0",
"division": "0",
"productOptionGroupId": "123456789",
"salesDivision": "0",
"stockControlDivision": "0",
"pointNotApplicable": "0",
"taxFreeDivision": "0",
"calcDiscount": "0",
"staffDiscountRate": "100",
"useCategoryReduceTax": "0",
"reduceTaxId": "10000001",
"reduceTaxPrice": "12345678",
"reduceTaxCustomerPrice": "12345678",
"orderPoint": "123456789",
"purchaseCost": "99999999.99999",
"supplierProductNo": "string",
"appStartDateTime": "2000-01-23T01:23:45+09:00",
"reserveItems": [
{
"no": "12",
"value": "string"
}
],
"prices": [
{
"storeId": "123456789",
"priceDivision": "1",
"startDate": "2000-01-23",
"endDate": "2000-01-23",
"price": "12345678"
}
],
"stores": [
{
"storeId": "123456789",
"productOptionGroupId": "123456789",
"assignDivision": "0"
}
],
"inventoryReservations": [
{
"reservationProductId": "123456789012345",
"reservationAmount": "123"
}
],
"attributeItems": [
{
"code": "string",
"no": "1"
}
],
"orderSetting": {
"continuationDivision": "1",
"orderStatusDivision": "0",
"orderNoReasonDivision": "1",
"orderUnit": {
"division": "0",
"num": "12345678",
"name": "string"
},
"orderLimitAmount": "12345678",
"orderSupplierEditable": "0",
"pbDivision": "1",
"displayFlag": "0",
"stores": [
{
"storeId": "123456789",
"orderLimitAmount": "12345678",
"displayFlag": "-1"
}
]
}
}
],
"callbackUrl": "string"
}

処理受付完了

object
requestId

問い合わせ用ID:弊社への問い合わせの際にご利用ください

integer
callbackUrl

処理完了通知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) productId 商品ID:数字15桁以内 (String)
productCode 商品コード:半角英数記号20文字以内 (String)
リクエスト例
  
  Content-Type: application/json;charset=UTF-8
{
 "requestId":700,
 "result":[
  {
   "productId":"123",
   "productCode":"abc001"
  },
  {
   "productId":"456",
   "productCode":"xyz999"
  }
 ]
}

■ Request Body (登録失敗): Object
key value
requestId レスポンス時に返却したリクエストID (Integer)
message エラーメッセージ (String)
リクエスト例
    
    Content-Type: application/json;charset=UTF-8
{
 "requestId":700,
 "message":"[stores][2行目]商品コードが重複しています。"
}

■ 登録失敗時のエラーメッセージの詳細:
※ Webhook通知では、既存データを参照した上での結果を返します
※「 [ 大項目 ] [ 何番目のオブジェクトで発生したか ] エラーメッセージ 」の形式で返されます
※「大項目」は下記のリクエストボディの項目と対応します
「大項目」 対応する項目
reserveItems 商品自由項目の各項目
prices 商品価格の各項目
stores 商品取扱店舗の各項目
inventoryReservations 在庫引当商品の各項目
attributeItems 商品属性項目の各項目
orderSetting 発注設定の各項目
orderStoreSettings 店舗別発注設定の各項目
products 上記以外の商品項目
※「何番目のオブジェクトで発生したか」は「〇〇行目」と表現されます
※「エラーメッセージ」の一覧は下記です
ケースエラーメッセージ
商品コードが重複している場合商品コードが重複しています
存在しない部門IDを指定した場合部門IDが存在しません
存在しない軽減税率IDを指定した場合軽減税率IDが存在しません
存在しないオプショングループIDを指定した場合商品オプショングループIDが存在しません
存在しない店舗IDを指定した場合店舗IDが存在しません
店舗区分が「倉庫」の店舗に対して設定方法が「店舗ごと」のオプショングループIDが設定された場合倉庫に対してオプショングループは設定できません。
存在しない商品IDを在庫引当商品の在庫引当商品IDとして指定した場合在庫引当商品IDが存在しません
存在しない商品属性項目が指定された場合商品属性項目が存在しません。
商品自由項目ラベルに存在しない連番を指定した場合連番が存在しません
商品の登録上限数を超えてしまう場合登録件数の上限をオーバーしたため登録できません
存在しない継続区分を発注設定に指定した場合継続区分が存在しません。
存在しない発注不可理由を発注設定に指定した場合発注不可理由が存在しません。
※ Webhook通知におけるエラーメッセージは複数のオブジェクトのエラーを検知します
その場合、エラーメッセージはカンマ区切りで表示されます

    
    "message":"[products][2行目]部門IDが存在しません。,[stores][39行目]商品コードが重複しています。,[reserveItems][48行目]在庫引当商品IDが存在しません。"
string
Example
{
"requestId": 700,
"callbackUrl": "string"
}
  • 処理完了通知URLで指定されたURLのフォーマットが正しくない場合
  • 商品コードがリクエスト内で重複している場合
  • 商品価格の店舗IDと価格区分と適応開始日の組み合わせがリクエスト内で重複している場合
  • 商品自由項目の商品自由項目番号がリクエスト内で重複している場合
  • 商品取扱店舗の店舗IDがリクエスト内で重複している場合
  • 在庫引当商品の在庫引当商品IDがリクエスト内で重複している場合
  • 商品属性項目の項目番号が重複している場合
  • 発注設定の店舗別発注設定の店舗IDが重複している場合
  • 商品区分が「0:通常」以外を指定して、商品オプショングループIDを指定した場合
  • 設定方法が「全店舗共通」のオプショングループIDと「店舗ごと」のオプショングループIDがともに指定された場合
  • 発注状態または発注不可理由を設定していて、どちらかが未設定の場合
  • 発注設定の発注状態に「1:発注可」を設定していて、発注不可理由にnull以外を設定している場合
  • 発注設定の発注単位区分に「1:単位あり」を設定していて、発注単位名または発注数を設定していない場合
object
type
required
string
title
required
string
detail
string
status
integer
Examples
{
"type": "about:blank",
"title": "Bad Request",
"detail": "処理完了通知URLのフォーマットが不正です。(処理完了通知URL-{処理完了通知URL})",
"status": 400
}