こんにちは。CData リードエンジニアの杉本です。
今日はリリースされたばかりのCData Smaregi Driverとノーコーディングのデータ統合ツールArcESBを使ってスマレジの会員データを kintone に連携する方法を紹介します。
ArcESB とは?
ArcESB はノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。
今回はこのArcESBと CData Smaregi ADO.NET Providerを組み合わせて、会員データを各システム・サービスに連携するための方法を解説します。
この記事で実現するシナリオ
前述の通り、本記事ではスマレジから取得した会員データを kintoneの顧客リストアプリにバッチ処理で連携する機能をノーコードで開発します。
必要なもの
以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。
事前準備
まず使用する製品をそれぞれインストールします。以下のページから、ArcESBの本体を入手できます。必要に応じて、Windows、Java/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。
https://www.arcesb.com/download/
インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。
またArcESBには スマレジ と kintone の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。
それぞれ以下のURLから入手可能です。
https://www.cdata.com/jp/drivers/smaregi/ado/
https://www.cdata.com/jp/drivers/kintone/ado/
スマレジAPI:契約IDとアクセストークンの入手方法
スマレジ 接続にはAPI接続用の契約IDとアクセストークンが別途必要となります。以下の手順に従って、それぞれの情報を取得できます。
連携先の kintone アプリ
今回のシナリオでは、kintonenに会員データを連携するため、予め会員データを格納するアプリを構成しておく必要があります。なお、本記事では kintone で簡単に構成可能な顧客リストテンプレートを利用しました。
なお、ArcESBでは自由に登録対象のアプリ・項目を決定できます。
ArcESB にログイン
それでは、実際にArcESBを使って連携処理を開発していきます。
ArcESBが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。
ログイン後、「About」へ移動し、トライアルライセンスをアクティベーションします。以下はすでにアクティベーション済みの画面です。
ArcESBは「Flows」からデータ連携のデザイナー画面へ移動できます。
スマレジ Connector を構成
Flows デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。
まずは、スマレジの接続を構成しましょう。左側のConnection一覧から「Cloud Data」を選択し、キャンパスに配置します。
任意のConnector Id(ここでは Smaregiとしました)を入力し「+Create Connector」をクリックします。
Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Smaregi」を選択、「Access Token」と「Contract Id」を入力し、Save Changesをクリックして保存します。
次に取得したいテーブルを選択するために、MappingsのOutputから「+」ボタンをクリックします。
Smaregi Connectorで使用できるテーブル一覧が出てくるので会員データを取得できる「Customer」を選択します。
次の画面に移動すると、取得する項目や諸条件を指定することができるMapping Editorに移ります。
今回は細かな設定は行いませんが、ここから特定の会員データ、最新の会員データだけ取得するといった条件を指定することが可能です。
kintone Connectorの構成
続いてSmaregiと同様に kintone Connector も構成していきます。同じように「Cloud Data」を配置して構成します。Connector Id は kintoneとしました。
DataSourceは kintone を選択し、接続先のkintone 環境のURL・User・Passwordを入力し、「Save Changes」をクリックします。
kintone にはデータ登録を行うため、Mappingsから「Input」を選択し「+」ボタンをクリックします。
対象のアプリ(テーブル)一覧がリストアップされるので、顧客リストを選択します。
次の画面で登録する項目と処理方法(Upsertするかどうか)、Upsertする場合のKey項目を指定します。
今回は会員データなので、メールアドレスを一意の項目として指定しましたが、Smaregi 側のIdを使っても大丈夫です。
以上で、Smaregi と kintone のコネクター構成は完了です。
Mapping 作成
続いて、Smaregi と kintone の項目を紐付けるための Mapping Connectorを配置します。
左の一覧から「XML Map」を選択し、キャンパスに配置します。
任意のConnector Idを入力し「+Create Connector」をクリックします。
Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した Smaregi / kintone Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。
次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Source FileとDestination Fileが以下の様に入力されているはずです。
画面下で各項目のマッピングを行う領域が表示されているので、ここで項目をドラッグ・アンド・ドロップして、スマレジと kintoneのアプリ項目一覧を紐付けていきます。
紐付け後、保存をすれば、設定完了です。
実行設定
最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である Smaregi Connector の詳細画面から「Automation」タブで設定します。
Receiveのチェックボックスにチェックを入れて、IntervalとTimeを指定しましょう。以下の画面では、毎日に12時に起動する設定にしています。
実行方法
それでは構成したフローを実行してみます。
タイマー起動ではない、手動での実行は「Output」の「Receive」ボタンをクリックすることで可能です。
「Receive」ボタンをクリックすると、スマレジから会員データが取得され、以下のようにArcESBにロードされたことがわかります。
最終的な処理結果は kintone Connector のInputタブから確認できます。ここで処理結果がSentになっていれば、kintone側に正常に処理が行われたことになります。
実際にスマレジ・kintoneのそれぞれの画面を見てみると、以下のように会員データが登録されていることが確認できます。
おわりに
このように、ArcESBとSmaregi/kintone ADO.NET Providerを活用することで、会員データの連携処理を簡単に構築することができました。
CDataでは kintone 以外にも、SalesforceやDynamics 365といった様々な ADO.NET Providerを提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。