CData Arc を使ってShopify の顧客データをSmaregi の会員データに連携する

by 色川穂高 | 2022年01月25日

f:id:irokawah:20220125000249p:plain

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

EC サイトと店舗(POS)システムとの間での連携を強化したいというご相談を良く頂きます。お客様情報や在庫情報などがオンラインで連携できればお客様へより良い体験を提供できますよね。この記事では、Shopify の顧客データをSmaregi の会員データに連携する方法をご紹介します。

CData Arc とは?

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

arc.cdata.com

この記事のシナリオ

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

f:id:irokawah:20220125000310p:plain

Shopify 顧客

f:id:irokawah:20220125000323p:plain

Smaregi 会員

f:id:irokawah:20220125000331p:plain

必要なもの

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

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

www.cdatablog.jp

Shopify ショップの構成

今回は、ショップ作成したばかりの状態で特別な設定はせず、今回のシナリオを検証するための顧客データを登録しました。

f:id:irokawah:20220125084524p:plain

顧客データは以下のブログページで照会されているサンプルデータを活用させてもらいました。

www.shopify.jp

Shopify への接続準備

この記事では、Shopify へAPI 接続するためにプライベートアプリを作成して、顧客情報へのアクセス権限を与えておきます。

f:id:irokawah:20220125000350p:plain

API Key とPassword を控えておいてください。

f:id:irokawah:20220125000407p:plain

Shopify への接続に必要な設定はこちらのページもあわせて参考にしてください。

www.cdatablog.jp

Smaregi への接続準備

Smaregi API への接続に必要な設定はこちらのページを参考にしてください。

https://www.cdata.com/jp/blog/2020-01-08-113018

CData Arc の基本的な使い方

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

arc.cdata.com

arc.cdata.com

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

Shopify の顧客データをSmaregi の会員データに連携する

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

  コネクタ 内容
1 Shopify(Shopify_Select) Shopify の顧客データをSelect
2 XMLMap(XMLMap_Shopify_Smaregi) 1.で取得した情報を3.にマッピング
3 CData(Smaregi_Upsert) Smaregi の会員データにUpsert

f:id:irokawah:20220125000433p:plain

Shopify コネクタ(Shopify_Select)の配置と構成

最初にフローの起点となるShopify コネクタ(Shopify_Select)を配置し「Shopify の顧客データを取得」します。その他カテゴリから「Shopify コネクタ」を選択し、フローキャンバスへ配置します。

f:id:irokawah:20220125000449p:plain

Connection でSohpify の接続情報を作成します。ここではAuth Scheme: をbasic に指定して、API key とPassword で接続します。接続テストでShopify への接続を確認します。

f:id:irokawah:20220125000500p:plain

Action は「Select」。対象テーブルに「Customers」テーブルを選択します。抽出するカラムの選択や、条件設定もここで行えます。

f:id:irokawah:20220125000509p:plain

f:id:irokawah:20220125000519p:plain

この記事では顧客の住所も取得するために「CustomerAddresses」テーブルの情報も子テーブルとして取得します。親であるCustomers との結合条件として、CustomerId がCustomers のId と一致する、の条件(Rule)を設定します。

f:id:irokawah:20220125000530p:plain

「Preview XML Output」で取得されるデータをプレビューすることができます。便利ですね。

f:id:irokawah:20220125000539p:plain

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

f:id:irokawah:20220125000549p:plain

CData コネクタ(Smaregi_Upsert)の配置と構成

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

f:id:irokawah:20220125000558p:plain

コネクタの設定で、Smaregi への接続を設定します。事前準備で取得したAccess Token とContract Id を設定します。接続テストでSmaregi への接続を確認します。

f:id:irokawah:20220125000610p:plain

Action は「Upsert」。対象テーブルに「Customers」を選択します。

f:id:irokawah:20220125000623p:plain

f:id:irokawah:20220125000633p:plain

XMLMap(XMLMap_Shopify_Smaregi) の配置と構成

このフローの最後に、Shopify コネクタ(Shopify_Select)の情報を、CData コネクタ(Smaregi_Upsert)にマッピングします。

コアカテゴリから「XMLMap」コネクタを配置します。

f:id:irokawah:20220125000649p:plain

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

f:id:irokawah:20220125000659p:plain

XMLMap の設定でそれぞれの項目をマッピングします。同じ名前を持つ項目は自動的にマッピングが支援されます。この記事では名前(FirstName、LastName)やメールアドレス以外は必要最低限の項目を設定しています。

f:id:irokawah:20220125000711p:plain

それ以外にShopify の顧客データに付与したTag 情報などもSmaregi の備考へマッピングしました。

f:id:irokawah:20220125000727p:plain

これで「Shopify の顧客データをSmaregi の会員データに連携する」フローができあがりました。

このシナリオでは複雑なデータ項目の変換や加工などは行いませんが、CData Arc でのデータマッピングや変換について興味のある方はこちらを併せてごらんください。

arc.cdata.com

連携フローの実行と確認

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

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

f:id:irokawah:20220125000809p:plain

f:id:irokawah:20220125000821p:plain

フローの終点となるCData コネクタ(Smaregi_Upsert)のインプットタブの結果を確認します。顧客データの該当レコード数分、実行されていれば成功です。

f:id:irokawah:20220125000831p:plain

Smaregi の会員データに連携されていることが確認できます。

f:id:irokawah:20220125000845p:plain

f:id:irokawah:20220125000854p:plain

シナリオの自動実行

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

f:id:irokawah:20220125000903p:plain

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

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

https://www.cdata.com/jp/blog/2020-02-28-145157

おわりに

この記事ではEC サイトとしてCData Arc で専用コネクタを提供しているShopify を例にご紹介しました。CData Arc では世界的に人気の高いMagento やBigCommerce 向けのコネクタ(ベータリリース)も提供していますし、CData Drivers との組み合わせで以前ご紹介したWooCommerce など数多くのEC プラットフォームと連携することができます。

www.cdatablog.jp

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

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

arc.cdata.com

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

www.cdata.com


この記事では CData Arc™ 2021 - 21.0.8054 を利用しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。