メインコンテンツまでスキップ

入稿データフォーマット

概要

  • データのフォーマットを整理します。
    • ターゲットのユーザ 
    • 小売り
  • メーカー
  • マスタデータ管理周りのユースケースを整理し、フォーマットを定義します。
  • 考えるユースケース
  • Create
    • 新規作成
  • Update
    • 更新
  • Delete
    • 物理削除or論理削除

文字コード

  • Shift-JIS
  • CR+LF

ロジック

基本ルールは「最新のマスタ情報を手元で管理し、そのファイルをアップロードする

このルールを踏襲することにより運用は以下のようになります。

  • CUD(Create, Update, Delete) のアップロードするインターフェイスは1つになります。
  • 最新のマスタファイルは手元にある状態なので、最新のマスタファイルをいつでもアップロードして大丈夫な状態にシステム側を作ります。

内部の処理ロジック

  • Create
    • データをInsertします。(=upsert)
  • Update
    • プライマリキーが同じで、その他の項目が異なる場合は、その他の項目が更新されます。 (=upsert)
  • Delete
    • 手元のマスタデータから消してアップロードします。

CSVファイルの1行目は、ヘッダレコードです。マスタデータとしては取り込まれません。ヘッダレコードは仕様にある項目名と同一にしておく必要があります。

  • カラムの順番は仕様通りの順番ではなくても大丈夫です。CSVファイルの1行目であるヘッダに記載がある情報を元に取り込まれます。

例:

営業員コード,営業所コード,メールアドレス,パスワード,姓,名,姓(かな),名(かな),権限,電話番号
123456,1,foo@example.com,strongpassword,山田,太郎,ヤマダ,タロウ,general,0120-444-444

ヘッダ

  • 1行目はヘッダです
    • 入稿されません
    • ヘッダに書かれている文字は、カラムの定義にある文字列と一致する必要があります。
    • 今後のアップデートにより、古いフォーマットのデータを入稿しないようにするためです。

MySQLの型に準拠します。

  • string
    • 文字
    • マルチバイト文字も1文字とカウント
  • mediumtext
    • 16,777,215文字
  • tinyint
    • -128から127
  • integer
    • -2,147,483,648から2,147,483,647
  • bigint
    • -9223372036854775808から9223372036854775807
  • boolean
    • 半角数字
    • false: 0, true: 1
  • datetime
    • YYYY-MM-DD hh:mm:ss
  • date
    • YYYY-MM-DD

表記

  • PK

    • Primary Keyの略。主キーを指します。
    • スコープ
      • 各メーカー、各小売ごとです。
      • 注文番号、カテゴリはシステム全体です。
  • FK

    • Foreign Keyの略です。
    • 別のマスタでPKとなっています。
  • 長さ

    • カラムのタイプが文字列ならば最大文字数
    • カラムのタイプが数値ならば最大数

小売り・メーカー共通

支店マスタ

カラム名称長さPKFK必須備考
1支店コードstring255oo001
2支店名string255o東京支店

営業所マスタ

カラム名称長さPKFK必須備考
1営業所コードstring255oo1
2支店コードstring255oo11
3営業所名string255o渋谷
4郵便番号string255o111-1111
5都道府県string255o東京都
6市区町村string255o渋谷区
7町名番地string255o代々木1-1-1
8建物名・部屋番号string255代々木ハウス1-1-1
9電話番号string25503-0000-0000
10FAX番号string25503-0000-0000

ユーザマスタ

カラム名称長さPKFK必須備考
1営業員コードstring255oo1
2営業所コードstring255o11
3メールアドレスstring255oexample@example.com
4パスワードstring255空の場合は更新されません
5string255o佐藤
6string255o太郎
7姓(かな)string255oさとう
8名(かな)string255oたろう
9権限string255ogeneraladmin: 管理者
general: 一般1
10電話番号string255090-0000-0000

納品先住所マスタ

カラム名称長さPKFK必須備考
1納品先コードstring255o1
2支店コードstring255o1指定した場合、営業員が所属する支店で絞り込むことができます
3営業所コードstring255o1指定した場合、営業員が所属する営業所で絞り込むことができます
4納品先名string255o横浜営業所
5郵便番号string255o227-0062
6都道府県string255o神奈川県
7市区町村string255o横浜市青葉区
8町名番地string255o1-2-3
9建物名・部屋番号string255ABCビル
10電話番号string25503-1111-2222

メーカーのみ

商品

カラム名称長さPKFK必須備考
1型式(品番)string255oo1234567890
2カテゴリIDbigintoo1
3メーカー内部コードstring255
4商品名string255o
5メーカー希望小売価格(税抜)integer2,147,483,647単位は日本円。税抜。空白の場合はオープンプライス。
6目安納期日数integer2,147,483,647o3営業日の数字を記載
7ガスマスタを使うかどうかフラグbooleano1注文時にLPか都市ガスかを選択する必要がある商品
8カタログURLtext65535
9承認図URLtext65535
10商品説明text65535改行タグ<br> を使用することができます

商品詳細 (Phase1未利用)

カラム名称長さPKFK必須備考
1型式(品番)string255ooo1234567890
2項目名string255oo説明、動画URL、サイズなど
3Markdown テキストmediumtext16,777,215o

金額と納期目安

形式(品番)ごと、小売ごとに納期目安を設定したい場合は4カラム目に納期目安の日にちを入力します。

カラム名称長さPKFK必須備考
1型式(品番)string255ooo1234567890
2小売コードstring255ooo
3契約金額integer2,147,483,647o税抜
4目安納期日数integer2,147,483,6473営業日の数字を記載
5開始日時datetimeo
6終了日時datetime

メーカー側の注文担当者

カラム名称長さPKFK必須備考
1小売コードstring255ooo
2小売営業所コードstring255ooo
3メーカー営業員コードstring255ooo

 納期回答

  • 納期回答は、受注した商品の1品番に対して1レコードで行います。
カラム名称長さPKFK必須備考
1注文番号string255ooo
2注文明細Nostring255ooo
3納期日dateo
4小売コードstring255o

商品画像

  • ロジック
    • CSVファイルの入稿とは処理のロジックが異なります。
    • 画像ファイルは追加されていきます。
    • 削除するためには品番を削除するか、同じファイル名で再度アップロードしてください。
  • 商品情報と紐付け可能なファイル名規則とする。
    • フォーマット
      • [product_code]-[sort].[extension]
        • product_code: 型式(品番)
        • sort: 2桁の数字
        • extension: ファイル拡張子。jpg, png, gifが許可されています。
    • ファイル名の例
      • ABC-00.jpg
      • product-code-01.png
      • product-code-02.png
      • any-name/product-code-01.png
    • ディレクトリに入っていても大丈夫です。
      • アップロードされたファイルを処理するプログラムはファイル名だけを参照して処理を行います。
  • 画像ファイルをzipファイルにまとめてアップロードします。
  • 商品が削除されたタイミングで対象商品の画像が削除されます。
  • ファイル容量、画像サイズの上限や下限は現時点では設定していません。参考までに以下に目安を記載いたします。
    • 画像の大きさ目安
      • 横幅の下限: 200px
      • 横幅上限: 1000px

受注CSV

  • 雲の宇宙船と同じフォーマットで行う
    • カラムの定義は同じですが、用語はタノミマスターの用語に合わせてあります。 - レコードのソート
    • 発注依頼区分、営業所、発注日時、注文番号、発注明細Noの昇順
カラム名称長さPKFK必須備考
1発注依頼区分integer1ooo0:発注 1:発注キャンセル
2小売コードstring255o
3小売名string255o
4小売支店コードstring255o
5小売支店名string255o
6小売営業所コードstring255o
7小売営業所名string255o
8発注日時半角英数字16ooo発注確定日時(テーブルの値)
9仕入先名string32ooo
10注文番号半角英数字10o注文番号
11注文明細No半角英数字3o明細No
12型式(品番)string255o
13メーカー内部コード半角英数字255o
14ガス種半角英数字10LP, 13Aなど
15カタログURLtext65535
16承認図URLtext65535
17発注数integer4o
18発注単価integer9o
19希望納期date10
20メーカー営業所名string255o
21メーカー営業所電話番号string15o
22メーカー営業所FAXstring15o
23小売担当者名string255o
24納品先名string20o
25納品先住所string152o
26納品先TELstring15o
27明細単位の備考string255
28注文単位の備考string255

商品属性

  • メーカーの管理メニューから遷移可能な「商品属性」のページに、CSV入稿時に利用する「サブマスタ区分」と「サブマスタ区分値」の値を記載しています。
    • 管理者権限のユーザのみ閲覧可能。
カラム名称長さPKFK必須備考
1型式(品番)string255o
2サブマスタ区分string255obath
3サブマスタ区分値string255oreheating

  1. v3.9.0にて変更しました。下位互換性維持のためにv3.8.0以前に利用していたclerk, salesを指定した場合はgeneralとして扱われます。v4でこの下位互換性は削除予定です。