こんにちは。CData リードエンジニアの杉本です。
今回はローコーディングのデータ統合ツール「CData Arc」を使ってロジレスの商品マスタデータを Salesforce に連携する方法を紹介します。
ロジレス とは?
ロジレスは受注業務・出荷業務・在庫管理を自動化するクラウドサービスです。
https://www.logiless.com/
標準で多くのモール・カートサービスに連携しており、在庫情報を自動で更新できるようになっているのが特徴です。
またロジレス では開発者向けAPIが提供されており、API経由で商品や仕入先などの各種マスタデータや受注伝票・出荷伝票などのトランザクションデータを取得・更新できるようになっています。
https://app2.logiless.com/developer/
CData Arc とは?
CData Arc はローコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。
arc.cdata.com
以下のようなフローデザイナーを提供しており、非開発者でも手軽にデータ連携が実現できます。
今回はこのCData Arcと CData Driver を組み合わせて、ロジレスの商品マスタデータをSalesforceに連携するための方法を解説します。
必要なもの
以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。
事前準備
まず使用する製品をそれぞれインストールします。以下のページから、CData Arcの本体を入手できます。必要に応じて、Windows、Java/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。
https://arc.cdata.com/download/
インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。
ロジレス API 用のアプリの作成
続いて以下のページに移動して、ロジレスのAPIを使うためのOAuthアプリの登録を行います。(登録にはログインが必要です)
https://app2.logiless.com/developer/console/clients
任意のアプリケーション名を入力し、リダイレクトURLに「htto://localhost:33333」を指定します。
作成後、対象のアプリケーションをクリックすると
クライアントIDとクライアントシークレットが入手できます。この情報を後ほど使用します。
REST データ処理用 RSDファイルの作成
次に、ロジレス API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。
以下のGitHubから保存してください。
https://github.com/sugimomoto/CData.REST.Logiless
保存先フォルダは後ほど使用するので「C:\CData_REST\Logiless」といった書き込み可能な任意のフォルダに配置してください。
CData REST ODBC Driverのインストール
CData Arc と ロジレス API ・Salesforce APIを繋ぐために必要となる各CData Driverをインストールします。
以下のURLからCData REST・Salesforce ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。
https://www.cdata.com/jp/drivers/rest/download/odbc/
https://www.cdata.com/jp/drivers/salesforce/download/odbc/
ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。
※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。
インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。
以下の項目をセットし、保存します。OAuthClientIdとOAuthClientSecretには事前に取得したロジレスOAuthアプリの各値を設定してください。また、Otherには接続先となるマーチャントIDを指定します。
入力後「接続テスト」をクリックするとブラウザが立ち上がり、以下のようにログインを求められます。
ログイン後、アプリケーションのアクセス許可確認画面が表示されるので「承認」をクリックします。
ODBC DSNの画面に戻り、以下のようにメッセージが表示されればOKです。
以上で、CData REST Driverの準備は完了です。
同様の手順で CData Salesforce Driverも設定します。セキュリティトークンなどの詳しい取得方法はこちら。
- User=Salesforceのログインユーザーを指定;
- Passowrd=Salesforceのログインユーザーパスワードを指定;
- Security Token=APIアクセス用のセキュリティトークンを指定;
CData Arc にログイン
それでは、実際にCData Arcを使って連携処理を開発していきます。
CData Arcが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。
ログイン後、「情報」タブへ移動し、トライアルライセンスをアクティベーションしましょう。
CData Arcは「フロー」からデータ連携のデザイナー画面へ移動できます。
REST Connector を構成
デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。
まずは、ロジレスの接続を構成しましょう。左側のConnection一覧から「Database」を選択し、キャンパスに配置します。
任意のConnector Id を入力し「+コネクタを作成」をクリックします。
Connector作成後、設定画面が出てくるので、接続の種類で「ODBC」を選択し、予め定義したロジレスへ接続できるREST の DSN を指定して保存します。
次に取得したいテーブルを選択するために、マッピングのアウトプットタブから「+」ボタンの「テーブルまたはビュー」をクリックします。
ロジレスで使用できるテーブル一覧が出てくるので商品マスタデータを取得できる「Articles」を選択します。
次の画面に移動すると、取得する項目や諸条件を指定することができるMapping Editorに移ります。
今回は細かな設定は行いませんが、ここから特定の商品データ、最新の商品データだけ取得するといった条件を指定することが可能です。
Salesforce Connectorの構成
続いて先程と同様に Salesforce Connector も構成していきます。同じように「Database」を配置して構成します。
接続の種類から「ODBC」を選択し、今度はSalesforceのDSNを選びます。また接続先となるSalesforce 環境の「User」「Password」を入力し、「変更を保存」をクリックします。
Salesforce にはデータ登録を行うため、マッピングから「インプット」を選択し「+」ボタンから「テーブルまたはビュー」をクリックします。
対象のエンティティ(テーブル)一覧がリストアップされるので、「Product2」 を選択します。
次のマッピングエディタで項目の設定などを行います。今回はデフォルトの設定のまま進めますが、Upsertなどの設定をここで行うことも可能です。
マッピングの作成
続いて、ロジレス と Salesforce の項目を紐付けるための マッピング用 Connectorを配置します。
左の一覧から「XML Map」を選択し、キャンパスに配置します。
任意のConnector Idを入力し「+コネクタを作成」をクリックします。
Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した ロジレス / Salesforce Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。
次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Source FileとDestination Fileが以下の様に入力されているはずです。
画面下で各項目のマッピングを行う領域が表示されているので、ここで項目をドラッグ・アンド・ドロップして、ロジレスと Salesforceのアプリ項目一覧を紐付けていきます。
紐付け後、保存をすれば、設定完了です。
実行設定
最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である ロジレス Connector の詳細画面から「オートメーション」タブで設定します。
「受信」のチェックボックスにチェックを入れて、実行間隔を指定しましょう。以下の画面では、毎日に12時に起動する設定にしています。
実行方法
それでは構成したフローを実行してみます。
タイマー起動ではない、手動での実行は「アウトプット」の「受信」ボタンをクリックすることで可能です。
「受信」ボタンをクリックすると、ロジレスから商品データが取得され、以下のようにCData Arcにロードされたことがわかります。
最終的な処理結果は Salesforce Connector のインプットタブから確認できます。ここで処理結果がSentになっていれば、Salesforce側に正常に処理が行われたことになります。
実際にロジレス・Salesforceのそれぞれの画面を見てみると、以下のように商品データが登録されていることが確認できます。
おわりに
このように、CData Arcとロジレス/Salesforce Driver を活用することで、各データの連携処理を簡単に構築することができました。
CDataでは Salesforce 以外にも、Kintone や Dynamics 365といった様々な Driver を提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。
https://www.cdata.com/jp/odbc/
関連コンテンツ