Sitecore CDP にSalesforce のデータを自動インポートするフローをローコードで作成:CData Arc

by 杉本和也 | 2022年12月13日

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はCData Arcを通じてSitecore CDP と Salesforce のデータを統合する方法を紹介します。

Sitecore CDP(Customer Data Platform) とは?

CMSの提供で有名なSitecore が提供するサービスで、リアルタイムな ”One to One” 顧客体験を実現できるプラットフォームです。

https://www.Sitecore.com/ja-jp/products/customer-data-platform

さらに社内の各種データと統合するためのAPIが提供されており、顧客データ、購買データなどをSitecore CDP に取り込んで、より良いインサイトの獲得に繋げることができるようになっています。

CData Arc とは?

CData Arc は、CData 製品の中で「自動化/Automate」を担うデータ連携ツールです。「B2B 連携をもっとシンプルに」をコンセプトに、ファイル連携 & DB 連携 & API 連携といったB2B 連携に必要なすべてをノーコード・ローコードでつなぐことができるプラットフォームです。

https://arc.cdata.com/jp/

今回のシナリオ

今回はSitecore CDP で利用するための顧客データをSalesforce から取得する連携を実現します。

通常このような連携処理はSitecore CDP の REST API を通じてスクラッチで開発する必要がありますが、今回はこの連携をCData Arc を用いてローコードで実現します。

https://doc.Sitecore.com/cdp/en/developers/Sitecore-customer-data-platform--data-model-2-1/using-Sitecore-cdp-rest-apis.html

Salesforce X Sitecore CDP 連携のサンプル

今回の記事ではより手軽にSitecore CDP との連携を始められるようにサンプルとなるCData Arc のフローを用意しました。

以下のファイルをダウンロードして、CData Arcのワークスペースにインポートしてみてください。

https://cdatajbuilds.s3.ap-northeast-1.amazonaws.com/Sitecore/Sitecore_Salesforce_SampleFlow.arcflow

サンプルフローは以下のような流れで構成されており、ユースケースに応じてカスタマイズすることも可能です。

事前準備

サンプルを動かす前にSitecore CDP のAPI接続情報を取得しておきましょう。接続情報は管理画面より取得できます。

サンプルフローの使い方

最初にサンプルフローの簡単な使い方を解説します。

サンプルフローではSalesforceとSitecore CDPへの接続情報をそれぞれ入力し、実行スケジュールを指定することで簡単に利用できます。

その上で、利用するデータ構造などに合わせて、チューニングを行ってみてください。

Salesforce へのコネクションはフローの最初のSalesforce コネクタを開いて「接続」の「+作成」から追加できます。

以下のような画面が立ち上がるので、任意の名前を指定して「接続」をクリックします。すると別タブでSalesforce へのログインが行われ、接続が完了するので「+接続の追加」をクリックします。

次にSitecore CDP への接続です。フローの末端にあるコネクタを開いて、予め取得しておいたSitecore CDPの接続情報を入力して保存します。以下のValueの部分をそれぞれ書き換えてください。

<api:set attr="temp.clientKey" value="YOUR_CLIENT_KEY"/>
<api:set attr="temp.apiToken" value="YOUR_API_TOKEN"/>
<api:set attr="temp.endpoint" value="https://api-ap-southeast-2-production.boxever.com/v2/batches"/>

最後に自動化の設定です。フローの最初にあたるSalesforce のコネクタを開き、「オートメーション」タブから「受信」にチェックを入れて、受信間隔と時で実行スケジュールを指定します。

これで自動的にSitecore CDPへデータが取り込まれるようになります。

各コネクタの使い方、設定について

それではフローに存在する各コネクタの役割、チューニングポイントについて解説していきます。

Salesforce からのデータ取得

Salesforce からのデータ取得では前述の通り取引先担当者を取得するようになっています。

これは必要に応じて取得する対象のテーブル、項目、取得条件を調整することが可能です。なお、現在は毎回全Contact データを取得するので、必要に応じて昨日更新されたデータだけ、といった条件を設けるとより良いでしょう。

また、CData Arc はCDataが提供する250種類に及ぶクラウドサービス、NoSQL、DWH向けのコネクタが利用できます。自社の利用しているサービスに応じて、Salesforce 以外からもデータを取得することができるようになっています。

https://www.cdata.com/jp/drivers/

Sitecore CDPへのデータ構造にマッピング

続いてSitecore CDP のデータへマッピングするコネクタです。

CData Arc は内部のデータフォーマットとしてXMLを用いているので、XML Map というコネクタを用いて、Sitecore CDP のデータにマッピングします。

このマッピング構造はドラッグ・アンド・ドロップで簡単に変更することができるようになっています。

また、ディスティネーションファイルを切り替えることで、Sitecore CDP の別なデータモデルへマッピングすることも可能です。

JSON への変換

Sitecore CDP API にはJSON のフォーマットでデータを送信する必要があるので、CData Arc のXML構造のデータからJSON データに変換する必要があります。JSONコネクタではこの処理を担います。

処理としては共通であるため、特にチューニングする要素はありません。

JSONデータをSitecore CDP API リクエスト用フォーマットに変換

続いて、JSON データをSitecore CDP 用に1行単位のデータに書き換えます。

ここも汎用的な処理であるため、特にチューニングする必要はありません。

GZIP に圧縮

Sitecore CDP API ではGZIP フォーマットでデータを送信する必要があるため、このコネクタで圧縮処理を行います。

Sitecore CDP へAPI リクエストを実行

最後のコネクタでSitecore CDP にGZIP化したファイルを送信します。

通常Sitecore CDP APIではファイルのチェックサムをもとにアップロードURLを取得して、そこにアップロードするといった手順を踏む必要がありますが、このコネクタでその手順を一通り対応しています。

認証情報以外は共通的に利用できるように構成していますが、必要に応じてカスタマイズすることも可能です。

おわりに

このようにCData Arc を用いることで、各種クラウドサービスのデータを手軽にSitecore CDP へ連携することができます。

30日間のトライアルも提供しているので、是非Sitecore CDP とのデータ連携に悩んだ際には試してみてください。

https://arc.cdata.com/jp/

以下のフォームより、テクニカルサポートに問い合わせすることも可能です。

https://www.cdata.com/jp/support/submit.aspx

関連コンテンツ

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

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