このTreasure Data連携は、デジタルセールス組織に現代的なリモートコラボレーション機能を提供し、優れたチームワークとスムーズなエンゲージメントを実現します:
- より強固な関係を見つけ、構築する
- 生産性とパフォーマンスを向上させる
- 顧客の単一ビューを取得する
Import Integrationを使用すると、プロファイルデータをTreasure Dataにインポートできます。
この機能はベータ版です。詳細については、カスタマーサクセス担当者にお問い合わせください。
- スケジュール実行時、取得されるデータの時間枠は各実行ごとに自動的に前方にシフトします。

以下は、インクリメンタルロードが有効な場合の例です。たとえば、初期設定が1月1日で期間が10日間の場合、最初の実行では1月1日から1月10日までに変更されたデータを取得し、2回目の実行では1月11日から現在時刻までを取得し、以降も同様に続きます。
- TD Toolbeltを含むTreasure Dataの基本知識
- 認可されたTreasure Dataアカウントアクセス
- Sprinklrユーザーアカウント
- Sprinklr開発者アカウント
- curlまたはPOSTMANの基本知識
最初に、アカウントの環境を確認する必要があります。 https://www.sprinklr.com/でSprinklrアカウントにログインします。 Chromeブラウザで、F12を選択して開発者モードに入ります。 
Consoleを選択し、SPR_ENV.envと入力します。この例では、アカウントの環境prod2を確認できます。この記事では、これが設定に必要な7つの値のうちの値1です。

https://developer.sprinklr.com/member/registerにアクセスし、https://developer.sprinklr.com/docs/read/api_overview/Getting_Startedの手順に従って開発者アカウントを登録します。
Sprinklrから送信されるメールを通じてアカウントを有効化する必要があります。
URL https://developer.sprinklr.com/login/を使用して開発者アカウントにサインインします。

My Accountを選択します。

Applicationタブを選択します。

次にCreate A New Appを選択します。

Register An Application画面で、必要な情報を入力します。
Register Callback URLでは、スクリーンショットの値を使用することをお勧めします。http://localhost:8123/sprinklr/callback(この設定に必要な7つの値のうちの値2)を使用すると、トークン取得プロセスが簡素化されます。

下にスクロールします。環境に最適なオプションを選択します。この例では、環境はprodです。Issue a new key for Prod2を選択します。
次にI agree to the terms of serviceを選択します。
REGISTER APPLICATIONを選択して登録を完了します。

注意: 環境が利用可能なオプションに含まれていない場合(例:prod0, qa4 …)、Sprinklrに連絡してアプリケーションを作成してください。また、ニーズに基づいてレート制限を増やすようSprinklrに連絡することもできます。
次に、https://developer.sprinklr.com/apps/mykeysにアクセスして、key(この設定に必要な7つの値のうちの値3)とsecret(7つの値のうちの値4)を確認します。値をメモしてください。後の手順でこの情報を使用します。

注意: 設定を続行する前に、少なくとも30分間待機してください。Sprinklrがアプリケーションを有効にするには処理時間が必要です。
以下を収集します:
| Value | Type |
|---|---|
| 1 | environment |
| 2 | redirect URI |
| 3 | application key |
| 4 | application secret |
Webブラウザを開き、次のURLを入力します。中括弧{}内のテキストを適切な値に置き換えてください。 https://api2.sprinklr.com/{environment}/oauth/authorize?client_id={application_key}&response_type=code&redirect_uri={redirect_uri}
環境がprodの場合は、次のようにURLから{environment}を削除します:
- Environment prod
https://api2.sprinklr.com/oauth/authorize?client_id={application_key}&response_type=code&redirect_uri={redirect_uri}- その他の環境
https://api2.sprinklr.com/{environment}/oauth/authorize?client_id={application_key}&response_type=code&redirect_uri={redirect_uri}たとえば、環境がprod2、redirect URIがhttp://localhost:8123/sprinklr/callback、application keyがth1s1s4f4k3dk3yの場合、URLは次のようになります:
https://api2.sprinklr.com/prod2/oauth/authorize?client_id=th1s1s4f4k3dk3y&response_type=code&redirect_uri=http://localhost:8123/sprinklr/callbackブラウザで、Sprinklrアカウントへのアクセス許可を求められます。Submitを選択します。


アクセスを許可するスペースを選択し、Submitを選択します。

Sprinklrアカウントにまだログインしていない場合は、再度ログインする必要があります。
ログインには、開発者アカウントではなく、Sprinklrアカウントを使用してください。
次のような画面が表示されます:

code=xxxxの値をコピーします。この情報は後のステップで使用します。
POSTMANを開き、新しいリクエストを作成します。

https://api2.sprinklr.com/{environment}/oauth/token?client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&grant_type=authorization_code&code={code}を入力し、中括弧{}内のテキストを適切な値に置き換えます。
codeパラメータは、この設定に必要な7つの値のうち5番目の値です。
注意: 環境がprodの場合は、URLから{environment}を削除してください。
コード値が12233333の場合の例は次のとおりです:
https://api2.sprinklr.com/prod2/oauth/token?client_id=th1s1s4f4k3dk3y&client_secret=th1s1s4f4k3ds3cr3t&redirect_uri=http://localhost:8123/sprinklr/callback&grant_type=authorization_code&code=12233333メソッドをPOSTに変更します。

Headersタブを選択します。Content-Typeキーにapplication/x-www-form-urlencodedの値が表示されます。Sendを選択します。

次のようなレスポンスが表示されます:
{
"access_token": "th1s1s4f4k3d4cc3sst0k3n",
"refresh_token": "th1s1s4f4k3dr3fr3sht0k3n",
"token_type": "Bearer",
"expires_in": 2591999
}access_token(この設定に必要な7つの値のうち6番目)とrefresh_token(7番目)をメモしてください。
または、cURLの送信方法がわかる場合は、次のコマンドを使用してトークンを取得できます:
curl --location --request POST 'https://api2.sprinklr.com/{environment}/oauth/token?client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&grant_type=authorization_code&code={code}'
--header 'Content-Type: application/x-www-form-urlencoded'例は次のとおりです:
curl --location --request POST 'https://api2.sprinklr.com/prod2/oauth/token?client_id=th1s1s4f4k3dk3y&client_secret=th1s1s4f4k3ds3cr3t&redirect_uri=http://localhost:8123/sprinklr/callback&grant_type=authorization_code&code=12233333'
--header 'Content-Type: application/x-www-form-urlencoded'Sprinklrコネクタの認証を作成するために必要なすべての情報を指定しました。次のマッピングテーブルは、収集した値を示しています:
| Name | Value | Configuration property | Configuration name in the Sprinklr console |
|---|---|---|---|
| Environment (値1) | prod2 | environment | Environment |
| Redirect URI (値2) | http://localhost:8123/sprinklr/callback | redirect_uri | Redirect URI |
| Application Key (値3) | your_applicaiton_key | client_id | Application key |
| Application secret (値4) | your_application_secret | client_secret | Application secret |
| Access token (値6) | your_access_token | access_token | Access token |
| Refresh token(値7) | your_refresh_token | refresh_token | Refresh token |
データ接続を設定する際、統合にアクセスするための認証を提供します。Treasure Dataでは、認証を設定してからソース情報を指定します。
Integrations Hub > Catalogに移動し、Sprinklrを検索して選択します。

次のダイアログが開きます。

前のステップで取得した情報を使用して、必要な認証情報を編集します。

Continueを選択します。
新しいSprinklr Connectionに名前を付けます。Doneを選択します。

認証された接続を作成すると、自動的にAuthenticationsタブに移動します。作成した接続を探して、New Sourceを選択します。
詳細を入力し、Nextを選択します。

パラメータ設定
| パラメータ | 説明 | 必須 |
|---|---|---|
| Client Id | アプリケーションのキー - Sprinklrでアプリケーションを作成する際に取得されます。 | はい |
| Client secret | アプリケーションのキー - Sprinklrでアプリケーションを作成する際に取得されます | はい |
| Access token | アクセストークン - アプリケーションへのアクセスを許可する際に取得されます | はい |
| Refresh token | リフレッシュトークン - アプリケーションへのアクセスを許可する際に取得されます | はい |
| Redirect Uri | リダイレクトURL - Sprinklrでアプリケーションを作成する際に宣言されます | はい |
| Environment | ユーザーのSprinklr環境 - Sprinklr Webアプリにログインすることで取得できます | はい |
| Target | 取り込むターゲットオブジェクト - enum(profile) | いいえ |
Filter Column | start_timeとend_timeでフィルタリングするために使用するプロパティの名前、enum(created_time,modified_time) (文字列、デフォルト: modified_time) | いいえ |
| Sn types | 取り込むプロファイルに関連付けられたソーシャルネットワークタイプのスペース区切りリスト、例 FACEBOOK TWITTER LINKEDIN YOUTUBE ... (文字列、デフォルト: null) | いいえ |
| Source | Sprinklrで取り込みたいデータソース (現在はProfileのみサポート) | はい |
| Number of profiles to fetch in each API call | 各API呼び出しでSprinklrから取得するプロファイルの数 | いいえ |
| Filter time using | フィルタリングまたはインクリメンタル読み込みで有効にしたいプロファイルのタイムスタンプタイプを選択します。サポートされているオプションはCreated TimeとModified Timeです。新しく作成されたプロファイルのみを取り込みたい場合は、Created Timeを使用します。更新されたプロファイルを取り込みたい場合は、Modified Timeを使用します。 | いいえ |
| Start Time | この指定された開始時刻から作成または変更されたプロファイルを取得します。 | いいえ |
| End Time | この指定された終了時刻まで作成または変更されたプロファイルを取得します | |
| Incremental loading | スケジュール実行時に、取得されるデータの時間ウィンドウが各実行時に自動的に前方にシフトします。例えば、初期設定が1月1日で期間が10日間の場合、最初の実行では1月1日から1月10日までに変更されたデータを取得し、2回目の実行では1月11日から現在の時刻までを取得します。以降も同様です | いいえ |
| Social networks | 大文字と小文字を区別する、スペース区切りのソーシャルネットワークリスト。このリストには、取り込みたいプロファイルが含まれます。例えば、FacebookとTwitterのプロファイルのみを取り込みたい場合は、**"FACEBOOK TWITTER"**を使用します | いいえ |
| Profile list | 数値、スペース区切りのプロファイルリストIDリスト。このリストには、取り込みたいプロファイルが含まれます。正しい入力例 "1 2 3 4" | いいえ |
| Partner profile list | 数値、スペース区切りのパートナープロファイルリストIDリスト。このリストには、取り込みたいプロファイルが含まれます。正しい入力例 "1 2 3 4" | いいえ |
| Tags | 大文字と小文字を区別する、スペース区切りのタグリスト。このリストには、取り込みたいプロファイルが含まれます。正しい入力例 "tag1 tag2" | いいえ |
データプレビューはオプションであり、次のダイアログページに進みたい場合は安全にNextをクリックできます。
Generate Previewを選択して、インポートを実行する前にデータのプレビューを表示します。
データプレビューに表示されるデータは、ソースから近似されたものです。実際にインポートされるデータではありません。
データが期待通りに見えることを確認します。

Nextを選択します。
データを転送する既存のデータベースとテーブルを選択するか、新しいデータベースとテーブルを作成します。新しいデータベースを作成する場合は、データベースに名前を付けます。Create new tableについても同様の手順を実行します。
既存のテーブルにレコードを**append(追加)するか、既存のテーブルをreplace(置換)**するかを選択します。
デフォルトのキーを使用するのではなく、異なるpartition key seedを設定したい場合は、ポップアップメニューを使用して指定できます。

Scheduleタブでは、1回限りの転送を指定するか、自動化された定期的な転送をスケジュールできます。Once nowを選択した場合は、Start Transferを選択します。**Repeat…**を選択した場合は、スケジュールオプションを指定してから、Schedule Transferを選択します。


転送が実行された後、転送結果はData Workbench > Databasesで確認できます。
CLI(Toolbelt)を使用して、SprinklrからTreasure Dataに結果をインポートすることもできます。
サーバーへのエクスポート情報をtd queryコマンドの--resultオプションとして指定する必要があります。td queryコマンドについては、こちらの記事を参照してください。
オプションの形式はJSONで、一般的な構造は以下の通りです。
プロファイルターゲットの例
in:
type: sprinklr
client_id: client_id
client_secret: client_secret
access_token: access_token
refresh_token: refresh_token
redirect_uri: http://localhost:8123/
environment: prod2
target: profile
incremental: true
page_size: 5000
filter_column: modified_time
start_time: "2019-12-12T00:00:00.000Z"
end_time: "2019-12-31T00:00:00.000Z"
sn_types: "FACEBOOK TWITTER LINKEDIN YOUTUBE"
profile_list: "1 2 3 4"
partner_profile_list: "1 2 3 4"
tags: "#tag1 #tag2 #tag3 #tag4"レポートターゲットの例
in:
type: sprinklr
client_id: client_id
client_secret: client_secret
access_token: access_token
refresh_token: refresh_token
redirect_uri: http://localhost:8123/
environment: prod2
target: report
incremental: true
report_page_size: 1000
start_time: "2019-12-12T00:00:00.000Z"
end_time: "2019-12-31T00:00:00.000Z"
payload: |
{ "requests": { "sample": { "timeFilter": { "sinceTime": 1, "untilTime": 2 }, "reportingEngine": "PLATFORM", "report": "POST_INSIGHTS", "timezone": "UTC", "details": { "accessible": true }, "groupBys": [ { "key": "LEVEL1", "field": "LEVEL1", "groupType": "FIELD", "details": {}, "sort": null, "page": null, "projections": null, "filters": null, "namedFilters": null, "childrenGroupBys": [ { "key": "LEVEL2_1", "field": "LEVEL2_1", "groupType": "DATE_HISTOGRAM", "details": { "interval": "1d" }, "childrenGroupBys": [ { "key": "LEVEL3_1", "field": "LEVEL3_1", "groupType": "FIELD", "details": { "accessible": true } }, { "key": "LEVEL3_2", "field": "LEVEL3_2", "groupType": "FIELD", "details": { "accessible": true }, "childrenGroupBys": null } ] }, { "key": "LEVEL2_2", "field": "LEVEL2_2", "groupType": "FIELD", "details": { "interval": "1d" }, "childrenGroupBys": [] } ] }, { "key": "LEVEL1_2", "field": "LEVEL1_2", "groupType": "FIELD", "details": {}, "sort": null, "page": null, "projections": null, "filters": null, "namedFilters": null } ], "filters": [ { "filterType": "IN", "field": "CLIENT_ID", "values": [ 1, "2" ], "details": { "accessible": true } }, { "filterType": "GT", "field": "ACCOUNT_ID", "values": [ 1 ], "details": { "accessible": true } } ], "projections": [ { "measurement": "TOTAL_ENGAGEMENT", "missing": null, "aggregateFunction": "SUM", "details": null, "filters": null, "key": "TOTAL_ENGAGEMENT_1" }, { "measurement": "PUBLISHED_MESSAGE_COUNT", "missing": null, "aggregateFunction": "SUM", "details": null, "filters": null, "key": "PUBLISHED_MESSAGE_COUNT_1" } ] } } }- API概要: https://api2.sprinklr.com/prod0/
- OAuth 2.0: https://developer.sprinklr.com/docs/read/developr/framework/OAuth