CData Software Blog

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

ArcESB を使ってBカートの会員データをkintone の顧客リストに連携する

f:id:irokawah:20220316214915p:plain

こんにちは。CData Software Japanの色川です。

EC サイトの会員データを、SFACRM 等の業務アプリに連携したいケースは多いですよね。この記事では、BtoB EC・Web受発注システムであるB カートの会員データを、kintone に連携する方法をご紹介します。

B カート とは

B カートは、BtoB の受発注業務をEC 化するクラウドサービスです。BtoB 取引を前提として開発されていて、BtoC 向けのショッピングカートシステムでは対応が難しい複雑な取引条件やシステム要件にも対応しています。SaaS で提供されており、システムのスクラッチ開発・カスタマイズではネックとなる開発コストや納期といったリスクも最小に抑えることができるサービスです。

bcart.jp

ArcESB とは?

ファイル転送(MFT)とSaaSデータ連携をノーコードで実現できるデータ連携ツールです。ファイル・データベース・SaaS API、オンプレミスやクラウドにある様々なデータをノーコードでつなぐ事ができます。

www.arcesb.com

この記事のシナリオ

この記事では「B カートの会員データをkintone の顧客リストに連携する」シナリオを作成します。

f:id:irokawah:20220316214928p:plain

このシナリオで作成するフローで「B カートの会員データを定期的に取得し、kintone の顧客アプリのレコードとして連携(登録または更新)」することができます。

B カート会員管理

f:id:irokawah:20220317110903p:plain

kintone 顧客リスト

f:id:irokawah:20220316214958p:plain

必要なもの

この記事では、ArcESB からkintone には専用のCData Driver で。B カートには汎用のCData API Driver にB カート用のAPI Profile を用意して接続します。

この記事のシナリオでは以下の製品を利用します。すべて30日間のトライアルが提供されています。ぜひお手元で試してみてください。

製品のインストール等はこちらの記事を参考にしてください。

www.cdatablog.jp

B カート用のAPI Profile

B カート用のAPI Profile はこちらからダウンロードできます。

www.cdata.com

ダウンロードしたAPI Profile(*.apip ファイル)を以下のフォルダに配置します。

C:\APIProfiles\bcart.apip

B カートAPI の設定

B カートAPI への接続には、アクセストークンが必要です。こちらの記事で取得方法をご紹介していますので、あらかじめ取得してください。

https://www.cdatablog.jp/entry/bcarthowtouse

ArcESB の基本的な使い方

ArcESB の起動方法や基本的なフローの作り方についてはこちらをご覧ください。

www.arcesb.com

www.arcesb.com

それでは実際にそれぞれの連携フローを作成していきます。

B カートの会員データをkintone の顧客リストに連携する

このシナリオで作成する連携フローは以下のような流れになっています。

  コネクタ 内容
1 CData B カートの会員データ(Customers)をSelect
2 XMLMap 1.で取得した情報を3.にマッピング
3 CData kintone の顧客リストにUpsert

f:id:irokawah:20220316215017p:plain

CData コネクタ(B カート)の設定

最初にフローの起点となるCData コネクタを配置し「B カートの会員データを取得」します。コアカテゴリから「CData コネクタ」を選択し、フローキャンバスへ配置します。

f:id:irokawah:20220316215104p:plain

コネクタの設定で、B カートへの接続を設定します。データソースに CData API を選択します。

f:id:irokawah:20220316215053p:plain

API Profile の情報はAdvanced タブで指定します。この記事では、下記のように設定します。

f:id:irokawah:20220316215119p:plain

項目 内容
Profile C:\APIProfiles\bcart.apip
Profile Setting APIKey=[用意したAPI Key];

接続テストでB カートへの接続を確認します。

f:id:irokawah:20220316215131p:plain

会員データ抽出の設定を行います。アクションに「Select」。対象テーブルに「Customers」テーブルを選択します。

f:id:irokawah:20220316215140p:plain

抽出するカラムの選択や、条件設定もここで行えます。このシナリオでは条件設定の例として、「Id が10001 以上(計10件)」のデータを条件に指定しています。

f:id:irokawah:20220317111002p:plain

サンプルとして用意した10件の会員情報を連携します。

f:id:irokawah:20220317111116p:plain

f:id:irokawah:20220317111127p:plain

XML 出力をプレビュー」で取得されるデータをプレビュー確認することができます。

f:id:irokawah:20220317111137p:plain

設定内容で正しく取得できるか確認するために、アウトプットタブから「受信」を実行します。対象レコードが取得できていれば成功です。

f:id:irokawah:20220317111149p:plain

CData コネクタ(kintone)の設定

次にフローの終点となるCData コネクタを配置し「kintone の顧客リストへのUpsert を設定」します。コアカテゴリからの「CData コネクタ」を選択し、フローキャンバスへ配置します。

f:id:irokawah:20220316215426p:plain

コネクタの設定で、kintone への接続を設定してください。

f:id:irokawah:20220316215436p:plain

アクションに「Upsert」。対象テーブルに「顧客リスト」を選択します。

f:id:irokawah:20220316215445p:plain

f:id:irokawah:20220316215455p:plain

XML Map の設定

このフローの最後に、CData コネクタ(B カート)から取得する情報を、CData コネクタ(kintone)にマッピングします。コアカテゴリから「XML Map」コネクタを配置します。

f:id:irokawah:20220316215507p:plain

フローキャンバスの中で、CData コネクタ(B カート)からXML Map コネクタに。XML Map コネクタからCData コネクタ(kintone)へフローを繋ぎます。フローを接続したら、ワークスペースを保存してください。これで双方のデータ構成(スキーマ)がXML Map コネクタで認識できるようになります。

f:id:irokawah:20220316215521p:plain

XML Map の設定でそれぞれの項目をマッピングしていきます。

f:id:irokawah:20220316215532p:plain

マッピング設定)

同じ「顧客」の情報でも、アプリケーションやサービスによりデータ構造が異なる事が多いですよね。例えば、住所情報が幾つかに分けて保持されていたり、電話番号にハイフンを含む含まない、などは良くある例かと思います。

このシナリオでは、B カートの会員情報をkintone の顧客リストに連携する際、それぞれの項目を以下のようにマッピングしています。なお、XML Map では同じ名前を持つ項目は自動的にマッピングが支援されます。

kintone(顧客リスト)の項目 B カート(Customers)からのマッピング
会社名 CompName
部署名 Department
担当者名 TantoLastName + TantoFirstName *1
郵便番号(数字のみ) Zip *2
TEL(数字のみ) Tel *2
住所 Pref + Address1 + Address2 + Address3 *1
メールアドレス Email

*1 住所や担当者名のように、データ項目同士を文字列連結したい場合、ArcESB では文字列フォーマッタの concat() を利用することができます。

[xpath(Pref) | concat([xpath(Address1)], [xpath(Address2)], [xpath(Address3)] )]

f:id:irokawah:20220316215549p:plain

*2 郵便番号やTEL のように、データ項目から特定の文字を置き換えたい場合(この場合は"-"を消したい ≒ ""に置き換えたい)、ArcESB では文字列フォーマッタの replace() を利用することができます。

[xpath(Zip) | replace('-', '')]

f:id:irokawah:20220316215602p:plain

XML Map で提供される式エディタを使ったマッピング設定は、データ項目やフォーマッタの選択支援機能もありますので、使い始めるのも簡単です。

このシナリオでは比較的シンプルなマッピングをしてみましたが、ArcESB でのデータマッピングや変換について興味のある方はこちらを併せてごらんください。

www.arcesb.com

これで「B カートの会員データを、kintone の顧客リストへ連携する」フローができあがりました。

連携フローの実行と確認

作成したフローを実行して確認してみましょう。

起点となるCData コネクタ(B カート)からフローを実行してみます。アウトプットタブから「受信」を実行します。

f:id:irokawah:20220317111252p:plain

フローの終点となるCData コネクタ(kintone)のインプットタブの結果を確認します。kintone への更新実行の成功が確認できます。

f:id:irokawah:20220317111303p:plain

kintone の顧客リストに連携されていることが確認できます。

f:id:irokawah:20220317111317p:plain

f:id:irokawah:20220317111326p:plain

シナリオの自動実行

ArcESB ではフローを定期実行するスケジューラ機能を持っています。今回のシナリオであれば、それぞれのフローの起点となるコネクタの「オートメーション」タブで設定することができます。1時間に1度、毎時0分に定期実行する場合は、このように設定します。

f:id:irokawah:20220123232049p:plain

レコードをまとめて処理したい

基本的に ArcESB では、1レコードずつXMLドキュメントとして出力し処理を実行します。レコード数が多い場合など、処理対象レコードを1つのXMLドキュメントに一括して出力し処理を実行したい場合にはバッチ処理を活用する事ができます。ArcESB のバッチ処理はこちらを参考にしてください。

www.cdatablog.jp

この記事で作成したフロー(テンプレート)の入手

この記事で作成したフローについては、こちら からテンプレートとして使える arcflow がダウンロードできます。

f:id:irokawah:20220307225724p:plain

ダウンロードしたarcflow は ワークスペースをインポート から登録できます。こちらのテンプレートを利用する時は、各コネクタでの接続情報などを、お使いの環境に併せて編集してください。

おわりに

この記事では会員データを例にフローを作成しましたが、ArcESB とCData Driver を組み合わせれば、会員データに限らず、B カートとのデータ連携をノーコード&ローコストで実現することができます。

ArcESB はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。

皆さんのつなぎたいシナリオでぜひ ArcESB を試してみてください。

www.arcesb.com

お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

www.cdata.com


この記事では ArcESB™ 2021 - 21.0.8098 を利用しています。