:こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はデータレプリケーション製品の CData Syncを使って、Pipedrive のデータを PostgreSQL にレプリケーションする方法を紹介します。
Pipedrive とは?
Pipedriveは、セールス担当者がセールス担当者のために構築された、使いやすく、取引に集中しやすいUIを提供する CRM プラットフォームです。
Pipedrive では 各種APIを提供しており、今回はこのAPIを使用して、CData Sync 経由で PostgreSQL にデータをレプリケーションする方法を紹介します。
レプリケーションしたデータはAPIで取得するようなJSON形式ではなく、フラットなRDB・テーブル形式になるので、各種BIツールで分析がしやすくなります。
手順
それでは手順を解説していきます。
必要なもの
今回の手順で必要になるものは以下のとおりです。Pipedriveアカウントと レプリケーション先のPostgreSQLは予め取得および環境を構築しておいてください。
- CDataSync
- CData API Driver (ADO.NET or JDBC)
- Pipedrive API Profile
- Pipedrive アカウント
- PostgreSQL
Pipedrive へ接続するための API Token を入手
最初に Pipedrive へ API接続を行うための下準備をします。PiepdriveへのAPI 接続にはPipedriveから提供されている API Tokenが必要となるため、これを入手しておきましょう。
API Tokenは「設定」画面に移動し
「設定」タブの「個人設定」→「API」の画面から取得できます。
CDataSyncのインストール
続いて CDataSyncの設定を行っていきましょう。本記事では Windows ベースで解説を行いますが、LinuxなどのCross-Platformでも構成可能です。AWS EC2などへ構成を検討する場合は こちらの記事を参照してみてください。
CDataSyncはインストール型のソフトウェアなので、以下のURLからダウンロードして、任意のPCでセットアップを行います。
https://www.cdata.com/jp/sync/
セットアップ後、CData Syncの画面がブラウザで立ち上がるので、セットアップ時に入力したパスワードとユーザー名「admin」を入力して、ログインします。
ログイン後「情報」タブに移動し、「30日間の評価版をアクティベート」を行えば、CDataSyncの初期設定は完了です。
Pipedrive 連携用コネクターの追加方法
Pipedrive への接続は現在 CData API Driverという製品の設定ファイル(API Profile)として提供されています。
https://www.cdata.com/jp/apidriver/
これを CDataSync で利用するために以下の手順を実施します。
まず、API Driver for ADO.NETを入手してください。(CDataSync が Cross-Plalform の場合はJDBC版を入手します)
インストーラーを取得後、ダイアログに従って、セットアップを進めます。
セットアップ後、CDataSyncを再起動すると、以下のように接続先にAPIs というコネクタが追加されます。
なお、JDBC版はセットアップ後に生成される以下の「cdata.jdbc.apis.jar」ファイルをDataSyncを構成したフォルダの「datasync/WEB-INF/lib」に配置します。
次にこのAPIs コネクタで Pipedrive へ接続できるように、接続用プロファイルをダウンロードします。
プロファイルは後ほどCDataSyncからパスを参照するので任意のフォルダに配置してください。
Pipedrive への接続情報を構成
それではCDataSyncの設定を行っていきます。
まず、データソースとなる Pipedrive への接続情報を設定します。
「接続」→「データソース」から「APIs」を選択します。
最初に「接続文字列」を選択し、「接続文字列」のテキストボックスへ事前に取得したプロファイルのパスと API Topken を以下のように指定します。
- Profile=C:\APIProfiles\Pipedrive.apip;ProfileSettings='APIKey=65392a8ab921c80e54e215479c89f59b6cafc788;';
接続テストをクリックして、接続に成功したらOKです。変更を保存しましょう。
PostgreSQL への接続情報の構成
次に、データを転送する先であるPostgreSQLの接続情報を構成します。
接続の画面から「同期先」タブを選択し「PostgreSQL」をクリックします。
PostgreSQLへの接続情報をそれぞれ入力します。今回はLocalhostに構成したPostgreSQLに接続していますが、クラウド上のPostgreSQLにも接続できます。入力後、接続のテストをクリックして問題なければ、変更を保存します。
ジョブの構成
最後にデータを受け渡すための処理単位であるジョブを構成します。
「ジョブ」のタブから「ジョブを追加」をクリックし
予め作成したPipedriveの「ソース」とPostgreSQLの同期先を選択して「+作成」をクリックします。
続いて、連携したい対象のデータ、テーブルを追加します。「+テーブルを追加」をクリックし
表示されたPipedriveのテーブル一覧から任意のテーブルを選択して、追加します。
以下のように追加されれば、このジョブで対象のテーブルがレプリケーションされるようになります。テーブル名をクリックすることで詳細な連携設定も可能です。
また、レプリケーション設定ではプレビュー機能が使えるので、予めどのようなデータが取得できるのか確認しておくことができます。
スケジューラーの設定と手動実行
あとはジョブをどの頻度で実行するのかをスケジューリングします。ジョブ設定の「スケジュール」タブから「スケジューラーを有効にする」をクリックして、頻度を構成します。
以下の設定の場合は1日1回、12:00にデータが更新されます。
なお、今回は実際にしっかりとデータが同期されるかどうか確認するために手動で実行を行います。
ジョブ設定のテーブル一覧から対象のテーブルにチェックを入れて「実行」をクリックすると、手動でレプリケーションが行われます。
以下のようにステータスで結果が表示されればOKです。
実際にPostgreSQLの画面のテーブルを参照してみると、以下のようにテーブルやカラムが自動的に生成されて、データが登録されていました。
おわりに
今回は Pipedrive のレプリケーションを紹介しましたが、この手順でPipedrive以外のデータソースも同様にPostgreSQLに連携することが可能です。
是非各種Profileを入手して、試してみてください。