XMLデータのエクスポートとシステム連携
アプリは登録されたデータ(商品、ロット、ブランド、カテゴリー、店舗)を XML フォーマット (products.xml) でエクスポートする機能をサポートしています。これにより、外部のERPシステム、WMS(倉庫管理システム)、在庫管理ソフト、または自動化スクリプトと簡単に連携できます。
利用条件・アクセス要件
個人向けアプリではPROサブスクリプションが必要
- Expiry Tracker(個人向けアプリ): データエクスポート機能(XMLおよびExcelエクスポート)は PROプラン加入者専用の機能 です。無料プランの状態でエクスポート画面を開こうとすると、サブスクリプション購入画面が表示されます。
- Expiry Tracker for Teams(チーム向けアプリ): ワークスペースでの役割・権限設定に基づいて、エクスポート画面から直接本機能を利用できます。
XMLファイルのエクスポート手順
両方のモバイルアプリで直接XMLファイルを生成・エクスポートできます:
- アプリ(Expiry Tracker または Expiry Tracker for Teams)を開きます。
- サイドナビゲーションメニューを開き、インポート&エクスポート(または エクスポート)を選択します。
- エクスポート画面で XML セクションまでスクロールします。
- XMLでエクスポート ボタンをタップします。
- アプリが登録済みの商品、ロット、ブランド、カテゴリー、店舗データを処理し、
products.xmlファイルを生成します。 - デバイス(Android/iOS)の共有メニューが表示され、ローカルストレージへの保存、メール送信、チャットツールでの共有、クラウドストレージ(Google Drive、iCloud、OneDrive等)への保存が選択できます。
エクスポートされるXMLファイルの構造
エクスポートされるXMLファイルは、以下のような標準的な階層構造を持っています:
<data>
<total>
<products>5</products>
<brands>2</brands>
<categories>3</categories>
<stores>2</stores>
</total>
<brands>
<brand>
<id>1</id>
<name>ブランド A</name>
</brand>
<brand>
<id>2</id>
<name>ブランド B</name>
</brand>
</brands>
<categories>
<category>
<id>1</id>
<name>カテゴリー X</name>
</category>
<category>
<id>2</id>
<name>カテゴリー Y</name>
</category>
<category>
<id>3</id>
<name>カテゴリー Z</name>
</category>
</categories>
<stores>
<store>
<id>1</id>
<name>店舗 1</name>
</store>
<store>
<id>2</id>
<name>店舗 2</name>
</store>
</stores>
<products>
<product>
<name>商品 A</name>
<code>7891000100100</code>
<photo>product_a.jpg</photo>
<daysToBeNext>10</daysToBeNext>
<created_at>2024-12-01</created_at>
<updated_at>2025-01-01</updated_at>
<batches>
<batch>
<name>ロット 1</name>
<expDate>2025-06-30</expDate>
<amount>100</amount>
<price>10.50</price>
<price_tmp>9.50</price_tmp>
<status>checked</status>
<created_at>2024-12-01</created_at>
<updated_at>2024-12-15</updated_at>
</batch>
<batch>
<name>ロット 2</name>
<expDate>2025-08-31</expDate>
<amount>50</amount>
<price></price>
<price_tmp></price_tmp>
<status>unchecked</status>
<created_at>2024-12-10</created_at>
<updated_at>2024-12-20</updated_at>
</batch>
</batches>
<brand>
<id>1</id>
</brand>
<category>
<id>1</id>
</category>
<store>
<id>1</id>
<name>店舗 1</name>
</store>
</product>
</products>
</data>
フィールドマッピングとデータ辞書
| XMLタグ | 説明 | 備考 |
|---|---|---|
<total> | ファイル全体の要素数のカウント。 | <products>, <brands>, <categories>, <stores> の件数を含みます。 |
<brands> / <brand> | 商品に紐づくブランド一覧。 | <id> と <name> を保持します。 |
<categories> / <category> | 商品のカテゴリー一覧。 | <id> と <name> を保持します。 |
<stores> / <store> | 店舗・拠点一覧。 | <id> と <name> を保持します。 |
<product> | 商品の主要エレメント。 | 商品情報と関連するロット配列を保持します。 |
<name> (商品) | 商品名。 | アイテム名を表すテキストフィールド。 |
<code> | バーコード、JAN/EAN、GTIN、SKU。 | 商品の識別コード。 |
<photo> | 商品写真のファイル名/パス。 | ローカルまたはクラウドに保存された画像の参照。 |
<daysToBeNext> | 警告の事前日数。 | 期限切れ通知を行うための事前日数。 |
<batches> / <batch> | 商品のロット一覧。 | 各ロットの個別データを含みます。 |
<expDate> / <exp_date> | ロットの賞味期限・消費期限。 | フォーマット YYYY-MM-DD。 |
<amount> | 在庫数量。 | 整数または小数の数量。 |
<price> | 販売価格。 | ロットの販売単価。 |
<price_tmp> | セール価格・一時価格。 | 割引・セール時の価格。 |
<status> | ロットの確認ステータス。 | checked(確認済み・処理済み)または unchecked(未確認)。 |
<brand> / <category> / <store> (<product> 内) | 商品のリレーションリンク。 | 上部セクションで定義された該当の <id> を参照します。 |
他システムとの連携手順
- システムの互換性を確認: 移行先のERPやデータベース管理ソフトがXMLファイルの読み込みをサポートしているか確認します。
- フィールドのマッピング: エクスポートされたXMLタグと移行先データベースのスキーマをマッピングします(例:商品の
<name>をproduct_name、<expDate>をexpiry_dateへマッピング)。 - インポートスクリプトの作成・利用: 移行先に標準のXMLインポート機能がない場合、スクリプト(Python、Node.js、PHP、C#等)を作成してXMLツリーを解析し、データベースまたはREST API経由で登録します。
- データのバックアップ: 一括インポートを実行する前に、必ず移行先システムのデータベースのフルバックアップを取得してください。
- テストインポートの実施: まずは少数のサンプルデータでインポートテストを行い、日付、価格、数量が正しく取り込まれるか確認してください。