CData Software Blog

クラウド連携のCData Software の技術ブログです。

FTPサーバーのCSVデータからスマレジの在庫データを自動更新する:CData Smaregi Driver & ArcESB

f:id:sugimomoto:20200311230931p:plain

こんにちは。CData リードエンジニアの杉本です。

今日はリリースされたばかりのCData Smaregi Driverとノーコーディングのデータ統合ツールArcESBを使ってECや他システムから出力された想定のCSVを元にスマレジの在庫を更新する機能を作ってみたいと思います。

ArcESB とは?

ArcESB はノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。

www.arcesb.com

f:id:sugimomoto:20191111155027p:plain

今回はこのArcESB と CData Smaregi ADO.NET Providerを組み合わせて、在庫連携を行います。

f:id:sugimomoto:20200108105917p:plain

この記事で実現するシナリオ

前述の通り、本記事では以下のようなFTPサーバーにアップされているCSVからデータを取得し、スマレジの在庫情報を自動的に更新することを想定します。

f:id:sugimomoto:20200311230931p:plain

必要なもの

以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。

事前準備

まず使用する製品をそれぞれインストールします。以下のページから、ArcESBの本体を入手できます。必要に応じて、WindowsJava/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。

https://www.arcesb.com/download/

f:id:sugimomoto:20200108105906p:plain

インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。

f:id:sugimomoto:20200108105913p:plain

またArcESBには スマレジ の接続用ライブラリが含まれていませんので、個別で CData のサイトから入手し、インストールします。

https://www.cdata.com/jp/drivers/smaregi/ado/

f:id:sugimomoto:20200108105917p:plain

スマレジAPI:契約IDとアクセストークンの入手方法

スマレジ 接続にはAPI接続用の契約IDとアクセストークンが別途必要となります。以下の手順に従って、それぞれの情報を取得できます。

www.cdatablog.jp

連携元の FTPサーバー

今回のシナリオでは、クラウド上に用意したFTPサーバーに売上データ想定のCSVファイルを配置しました。

f:id:sugimomoto:20200311230834p:plain

CSVファイルには店舗情報や商品ID、売上数量が入っており、これをスマレジに連携します。

f:id:sugimomoto:20200311230841p:plain

ArcESB にログイン

それでは、実際にArcESBを使って連携処理を開発していきます。

ArcESBが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。

f:id:sugimomoto:20200108105941p:plain

ログイン後、「About」へ移動し、トライアルライセンスをアクティベーションします。以下はすでにアクティベーション済みの画面です。

f:id:sugimomoto:20200108105946p:plain

ArcESBは「Flows」からデータ連携のデザイナー画面へ移動できます。

f:id:sugimomoto:20200108105952p:plain

FTP Connector の構成

Flows デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。

まずFTPサーバーからCSVを取得するための FTP Connector を構成しましょう。

左側のConnection一覧から「FTP」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200311230853p:plain

任意のConnector Id を入力し「+Create Connector」をクリックします。

f:id:sugimomoto:20200311230857p:plain

FTPサーバーに接続するための情報「Remte Host」「User Name」「Password」を指定し

f:id:sugimomoto:20200311230902p:plain

CSVファイルがアップロードされているパスをDownloadの「Remote Path」に指定すればFTPの構成は完了です。

f:id:sugimomoto:20200311230909p:plain

スマレジ Connector の構成

次に、スマレジの接続を構成しましょう。左側のConnection一覧から「Cloud Data」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200108110039p:plain

任意のConnector Id(ここでは Smaregiとしました)を入力し「+Create Connector」をクリックします。

f:id:sugimomoto:20200108110016p:plain

Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Smaregi」を選択、「Access Token」と「Contract Id」を入力し、Save Changesをクリックして保存します。

f:id:sugimomoto:20200108110022p:plain

次に更新したいテーブルを選択するために、MappingsのInputから「+」ボタンをクリックします。

f:id:sugimomoto:20200311231007p:plain

Smaregi Connectorで使用できるテーブル一覧が出てくるので在庫データを取得できる「Stock」を選択します。

f:id:sugimomoto:20200311231011p:plain

次の画面に移動すると、入力するための項目情報が一覧で表示されます。ここはデフォルトのままでかまわないので、そのままCreateをクリックします。

f:id:sugimomoto:20200311231017p:plain

CSV Map の作成

続いて、CSVデータと Smaregi の項目を紐付けるための Mapping Connectorを配置します。

左の一覧から「CSV Map」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200311231023p:plain

任意のConnector Idを入力し「+Create Connector」をクリックします。

f:id:sugimomoto:20200311231028p:plain

Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した FTP と Smaregi Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。

f:id:sugimomoto:20200311231034p:plain

次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Destination Fileが以下の様に入力されているはずです。合わせてSource Fileには取得される想定のCSVファイルを指定します。

f:id:sugimomoto:20200311231039p:plain

画面下で各項目のマッピングを行う領域が表示されているので、ここで項目を以下のように紐付けます。

f:id:sugimomoto:20200311231045p:plain

合わせて在庫の更新区分であるStocDivisionに売上として「02」の固定値を指定します。

f:id:sugimomoto:20200311231050p:plain

紐付け後、保存をすれば、設定完了です。

実行設定

最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である Connector の詳細画面から「Automation」タブで設定します。

Receiveのチェックボックスにチェックを入れて、IntervalとTimeを指定しましょう。

f:id:sugimomoto:20200311231056p:plain

実行方法

それでは構成したフローを実行してみます。

タイマー起動ではない、手動での実行は「Output」の「Receive」ボタンをクリックすることで可能です。

f:id:sugimomoto:20200311231100p:plain

「Receive」ボタンをクリックすると、FTPからCSVデータが取得され、以下のようにArcESBにロードされたことがわかります。

f:id:sugimomoto:20200311231105p:plain

最終的な処理結果は Smaregi Connector のInputタブから確認できます。ここで処理結果がSentになっていれば、スマレジ側に正常に処理が行われたことになります。

f:id:sugimomoto:20200311231112p:plain

おわりに

このように、ArcESBとSmaregi ADO.NET Providerを活用することで、FTPCSVデータの連携処理を簡単に構築することができました。

CDataでは Smaregi 以外にも、SalesforceやDynamics 365といった様々な ADO.NET Providerを提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。

https://www.cdata.com/jp/ado/

f:id:sugimomoto:20200108110242p:plain