こんにちは。CData Software Japanの色川です。
EC サイトの会員データを、SFA やCRM 等の業務アプリに連携したいケースは多いですよね。この記事では、BtoB EC・Web受発注システムであるB カートの会員データを、kintone に連携する方法をご紹介します。
- B カート とは
- ArcESB とは?
- この記事のシナリオ
- 必要なもの
- B カートの会員データをkintone の顧客リストに連携する
- CData コネクタ(B カート)の設定
- シナリオの自動実行
- レコードをまとめて処理したい
- この記事で作成したフロー(テンプレート)の入手
- おわりに
B カート とは
B カートは、BtoB の受発注業務をEC 化するクラウドサービスです。BtoB 取引を前提として開発されていて、BtoC 向けのショッピングカートシステムでは対応が難しい複雑な取引条件やシステム要件にも対応しています。SaaS で提供されており、システムのスクラッチ開発・カスタマイズではネックとなる開発コストや納期といったリスクも最小に抑えることができるサービスです。
ArcESB とは?
ファイル転送(MFT)とSaaSデータ連携をノーコードで実現できるデータ連携ツールです。ファイル・データベース・SaaS API、オンプレミスやクラウドにある様々なデータをノーコードでつなぐ事ができます。
この記事のシナリオ
この記事では「B カートの会員データをkintone の顧客リストに連携する」シナリオを作成します。
このシナリオで作成するフローで「B カートの会員データを定期的に取得し、kintone の顧客アプリのレコードとして連携(登録または更新)」することができます。
B カート会員管理
kintone 顧客リスト
必要なもの
この記事では、ArcESB からkintone には専用のCData Driver で。B カートには汎用のCData API Driver にB カート用のAPI Profile を用意して接続します。
この記事のシナリオでは以下の製品を利用します。すべて30日間のトライアルが提供されています。ぜひお手元で試してみてください。
製品のインストール等はこちらの記事を参考にしてください。
B カート用のAPI Profile
B カート用のAPI Profile はこちらからダウンロードできます。
ダウンロードしたAPI Profile(*.apip ファイル)を以下のフォルダに配置します。
C:\APIProfiles\bcart.apip
B カートAPI の設定
B カートAPI への接続には、アクセストークンが必要です。こちらの記事で取得方法をご紹介していますので、あらかじめ取得してください。
https://www.cdatablog.jp/entry/bcarthowtouse
ArcESB の基本的な使い方
ArcESB の起動方法や基本的なフローの作り方についてはこちらをご覧ください。
それでは実際にそれぞれの連携フローを作成していきます。
B カートの会員データをkintone の顧客リストに連携する
このシナリオで作成する連携フローは以下のような流れになっています。
コネクタ | 内容 | |
---|---|---|
1 | CData | B カートの会員データ(Customers)をSelect |
2 | XMLMap | 1.で取得した情報を3.にマッピング |
3 | CData | kintone の顧客リストにUpsert |
CData コネクタ(B カート)の設定
最初にフローの起点となるCData コネクタを配置し「B カートの会員データを取得」します。コアカテゴリから「CData コネクタ」を選択し、フローキャンバスへ配置します。
コネクタの設定で、B カートへの接続を設定します。データソースに CData API
を選択します。
API Profile の情報はAdvanced タブで指定します。この記事では、下記のように設定します。
項目 | 内容 |
---|---|
Profile | C:\APIProfiles\bcart.apip |
Profile Setting | APIKey=[用意したAPI Key] ; |
接続テストでB カートへの接続を確認します。
会員データ抽出の設定を行います。アクションに「Select」。対象テーブルに「Customers」テーブルを選択します。
抽出するカラムの選択や、条件設定もここで行えます。このシナリオでは条件設定の例として、「Id が10001 以上(計10件)」のデータを条件に指定しています。
サンプルとして用意した10件の会員情報を連携します。
「XML 出力をプレビュー」で取得されるデータをプレビュー確認することができます。
設定内容で正しく取得できるか確認するために、アウトプットタブから「受信」を実行します。対象レコードが取得できていれば成功です。
CData コネクタ(kintone)の設定
次にフローの終点となるCData コネクタを配置し「kintone の顧客リストへのUpsert を設定」します。コアカテゴリからの「CData コネクタ」を選択し、フローキャンバスへ配置します。
コネクタの設定で、kintone への接続を設定してください。
アクションに「Upsert」。対象テーブルに「顧客リスト」を選択します。
XML Map の設定
このフローの最後に、CData コネクタ(B カート)から取得する情報を、CData コネクタ(kintone)にマッピングします。コアカテゴリから「XML Map」コネクタを配置します。
フローキャンバスの中で、CData コネクタ(B カート)からXML Map コネクタに。XML Map コネクタからCData コネクタ(kintone)へフローを繋ぎます。フローを接続したら、ワークスペースを保存してください。これで双方のデータ構成(スキーマ)がXML Map コネクタで認識できるようになります。
XML Map の設定でそれぞれの項目をマッピングしていきます。
(マッピング設定)
同じ「顧客」の情報でも、アプリケーションやサービスによりデータ構造が異なる事が多いですよね。例えば、住所情報が幾つかに分けて保持されていたり、電話番号にハイフンを含む含まない、などは良くある例かと思います。
このシナリオでは、B カートの会員情報をkintone の顧客リストに連携する際、それぞれの項目を以下のようにマッピングしています。なお、XML Map では同じ名前を持つ項目は自動的にマッピングが支援されます。
kintone(顧客リスト)の項目 | B カート(Customers)からのマッピング |
---|---|
会社名 | CompName |
部署名 | Department |
担当者名 | TantoLastName + TantoFirstName *1 |
郵便番号(数字のみ) | Zip *2 |
TEL(数字のみ) | Tel *2 |
住所 | Pref + Address1 + Address2 + Address3 *1 |
メールアドレス |
*1 住所や担当者名のように、データ項目同士を文字列連結したい場合、ArcESB では文字列フォーマッタの concat() を利用することができます。
[xpath(Pref) | concat([xpath(Address1)], [xpath(Address2)], [xpath(Address3)] )]
*2 郵便番号やTEL のように、データ項目から特定の文字を置き換えたい場合(この場合は"-"を消したい ≒ ""に置き換えたい)、ArcESB では文字列フォーマッタの replace() を利用することができます。
[xpath(Zip) | replace('-', '')]
XML Map で提供される式エディタを使ったマッピング設定は、データ項目やフォーマッタの選択支援機能もありますので、使い始めるのも簡単です。
このシナリオでは比較的シンプルなマッピングをしてみましたが、ArcESB でのデータマッピングや変換について興味のある方はこちらを併せてごらんください。
これで「B カートの会員データを、kintone の顧客リストへ連携する」フローができあがりました。
連携フローの実行と確認
作成したフローを実行して確認してみましょう。
起点となるCData コネクタ(B カート)からフローを実行してみます。アウトプットタブから「受信」を実行します。
フローの終点となるCData コネクタ(kintone)のインプットタブの結果を確認します。kintone への更新実行の成功が確認できます。
kintone の顧客リストに連携されていることが確認できます。
シナリオの自動実行
ArcESB ではフローを定期実行するスケジューラ機能を持っています。今回のシナリオであれば、それぞれのフローの起点となるコネクタの「オートメーション」タブで設定することができます。1時間に1度、毎時0分に定期実行する場合は、このように設定します。
レコードをまとめて処理したい
基本的に ArcESB では、1レコードずつXMLドキュメントとして出力し処理を実行します。レコード数が多い場合など、処理対象レコードを1つのXMLドキュメントに一括して出力し処理を実行したい場合にはバッチ処理を活用する事ができます。ArcESB のバッチ処理はこちらを参考にしてください。
この記事で作成したフロー(テンプレート)の入手
この記事で作成したフローについては、こちら からテンプレートとして使える arcflow がダウンロードできます。
ダウンロードしたarcflow は ワークスペースをインポート
から登録できます。こちらのテンプレートを利用する時は、各コネクタでの接続情報などを、お使いの環境に併せて編集してください。
おわりに
この記事では会員データを例にフローを作成しましたが、ArcESB とCData Driver を組み合わせれば、会員データに限らず、B カートとのデータ連携をノーコード&ローコストで実現することができます。
ArcESB はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。
皆さんのつなぎたいシナリオでぜひ ArcESB を試してみてください。
お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
この記事では ArcESB™ 2021 - 21.0.8098
を利用しています。