Skip to content
Last updated

Selligent Export Integration

このインテグレーションは、Treasure AIからSelligentの静的セグメントに直接データをアップロードすることができます。Selligentは、オーディエンスのセグメンテーションとキャンペーンのアクティベーションのためのオムニチャネルマーケティング自動化プラットフォームです。

Selligent exportインテグレーションは、レコードをSelligentのマスターリストにロードしてから、それらのレコードを1つ以上の静的セグメントに割り当てます。ターゲットセグメントは、各行のselligent_segment列、または設定した別の列によって決定されます。

前提条件

  • Treasure AIの基本的な知識。
  • Selligentのリスト、静的セグメント、API名の基本的な知識。
  • SelligentのAPIキーとAPIシークレット。
  • SelligentのベースURL(例:EUリージョンの場合はhttps://customer.slgnt.eu、USリージョンの場合はhttps://customer.slgnt.us)。
  • Selligentの組織識別子。
  • ターゲットリストのAPI名。Treasure AIにリストを作成させたい場合は、create_list_if_not_existsを有効にします。
  • 重複排除のためにレコードを一意に識別するキーフィールド(例:CUSTOMER_IDENTIFIERまたはEMAIL)。

Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります: IP Addresses for Integrations

制限事項

  • このインテグレーションはSelligentの静的セグメントのみをサポートします。
  • インテグレーションは常に最初にマスターリストにレコードをロードし、その後ターゲットセグメントにレコードをロードします。
  • クエリ結果に設定されたセグメントルーティング列に複数の値が含まれている場合、1回のエクスポート実行で複数のセグメントに書き込むことができます。
  • セグメントルーティング列はSelligentフィールドとして送信されません。
  • 既存のリストにエクスポートする場合、すべての入力フィールドがそのリストに既に存在している必要があります。フィールドが見つからない場合、エクスポートは設定エラーで失敗します。
  • インテグレーションはマスターリストからレコードを削除しません。replaceモードでは、新しいセグメントデータをロードする前にセグメントのメンバーシップをクリアします。
  • Selligentのレート制限レスポンスとサーバーエラーは再試行されます。その他の4xxレスポンスは、通常、認証または設定の問題を示すため、高速に失敗します。

新しい認証の作成

Treasure AIでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、Selligentにアクセスするための認証を提供します。

  1. TD Consoleを開きます。
  2. Integrations Hub > Catalogに移動します。
  3. Catalogの右端にある検索アイコンをクリックして、Selligentと入力します。
  4. Selligentコネクタにカーソルを合わせて、Create Authenticationを選択します。

New Authenticationダイアログが開きます。

  1. SelligentのBase URLを入力します。
  • EUリージョン:https://customer.slgnt.eu
  • USリージョン:https://customer.slgnt.us
  1. SelligentのAPI Keyを入力します。
  2. SelligentのAPI Secretを入力します。
  3. 接続の名前を入力します。
  4. Continueを選択します。
パラメータ 必須 説明
base_urlはいSelligentの完全なベースURL(例:https://customer.slgnt.euまたはhttps://customer.slgnt.us)。
api_keyはいSelligentのAPIキー。
api_secretはいSelligentのAPIシークレット。

エクスポート結果の設定

インテグレーションを設定するには:

  1. TD Consoleを開きます。
  2. Data Workbench > Queriesに移動します。
  3. New Queryをクリックしてクエリを作成するか、エクスポートしたい保存済みクエリを開きます。
  4. クエリエディタの上部で、Export Resultsを選択します。
  5. 作成したSelligent認証を選択します。
  6. エクスポートパラメータを設定します。

エクスポートの仕組み

インテグレーションは2段階のロードプロセスを使用します:

  1. リストロード:インテグレーションは、バッチ内のすべての有効なレコードを、重複排除のためにkey_fieldsを使用してSelligentリストにアップサートします。
  2. セグメントロード:インテグレーションは、設定されたセグメントルーティング列でレコードをグループ化し、各グループを一致する静的セグメントにロードします。

セグメントルーティング列は必須です。その列の各値は、ターゲットセグメントのapi_nameと一致する必要があります。skip_invalid_recordstrueの場合、セグメント値がnullまたは空白の行はスキップされます。

エクスポートパラメータ

パラメータ 必須 デフォルト 説明
organizationはいなしAPI URLパスで使用されるSelligent組織識別子。
list_api_nameはいなしターゲットSelligentリストのAPI名。これは、セグメント割り当て前にレコードを保存するマスター連絡先リストです。
create_list_if_not_existsいいえfalseリストが存在しない場合、リストとそのフィールドを作成します。
list_data_import_optionいいえInsertAndUpdateリストロードの動作。有効な値はInsertAndUpdateOnlyInsertOnlyUpdateです。
segment_columnはいなし各行のターゲットセグメントapi_nameを含む入力列。この列はルーティングに使用され、Selligentフィールドとして送信されません。
create_segment_if_not_existsいいえfalseターゲットセグメントが存在しない場合、静的セグメントを作成します。
segment_data_import_optionはいappendセグメントロードの動作。既存のセグメントメンバーを保持しながらメンバーを追加するにはappendを使用します。新しいメンバーをロードする前にセグメントをクリアするにはreplaceを使用します。
key_fieldsはいなし一意のレコードを識別するカンマ区切りのフィールド名(例:CUSTOMER_IDENTIFIERまたはCUSTOMER_IDENTIFIER,EMAIL)。
deduplicationいいえImportLastMatchロード内の重複キーの重複排除動作。有効な値はImportLastMatchImportFirstMatchです。
error_handlingいいえContinueOnErrorSelligentロードAPIのエラーハンドリング動作。有効な値はContinueOnErrorStopOnErrorです。
modeいいえSyncSelligentロードAPIのデータ転送モード。有効な値はSyncStreamです。
skip_invalid_recordsいいえtrueセグメントルーティング値がnullまたは空白のレコードなど、検証に失敗したレコードをスキップします。falseに設定すると、無効なレコードによってエクスポートが失敗します。

データマッピング

Treasure AIクエリ結果 Selligent送信先 説明
segment_columnで設定された列セグメントルーティングのみ各行のターゲットセグメントapi_nameを決定します。インテグレーションはこの列をフィールドとして送信しません。
その他のクエリ結果列リストとセグメントデータとしてSelligentに送信されます。

create_list_if_not_existstrueの場合、インテグレーションはセグメントルーティング列を除くTreasure AIクエリ結果スキーマからSelligentフィールドを作成します。

Treasure AIタイプ Selligentデータタイプ
stringText(長さ500)
longLong
doubleFloat
booleanBoolean
timestampDateTime

インポートモード

パラメータ 動作
list_data_import_optionInsertAndUpdate新しいレコードをリストに挿入し、一致するキーフィールドを持つ既存のレコードを更新します。
list_data_import_optionOnlyInsert新しいリストレコードのみを挿入します。
list_data_import_optionOnlyUpdate既存のリストレコードのみを更新します。
segment_data_import_optionappendターゲットセグメントにレコードを追加します。既存のセグメントメンバーはセグメントに残ります。
segment_data_import_optionreplaceターゲットセグメントをクリアしてから、クエリ結果からセグメントにレコードをロードします。

サンプルクエリ

基本的なセグメントエクスポート

この例では、アクティブな顧客をactive_customersという名前の単一のSelligentセグメントにエクスポートします。

SELECT
  'active_customers' AS selligent_segment,
  customer_id AS customer_identifier,
  email AS email,
  first_name AS first_name,
  last_name AS last_name
FROM customers
WHERE status = 'active'
  AND email IS NOT NULL

サンプルクエリ結果

selligent_segment customer_identifier email first_name last_name
active_customersC001alice@example.comAliceKim
active_customersC002bob@example.comBobSato
active_customersC003carol@example.comCarolNguyen

必要な設定

パラメータ
organizationmy_org
list_api_namemaster_contacts
segment_columnselligent_segment
key_fieldsCUSTOMER_IDENTIFIER
segment_data_import_optionappend
list_data_import_optionInsertAndUpdate
create_segment_if_not_existstrue

Selligentでは、インテグレーションはフィールドをCUSTOMER_IDENTIFIEREMAILFIRST_NAMELAST_NAMEとして送信します。

複数セグメントエクスポート

この例では、ビジネスロジックに基づいて顧客を異なるSelligentセグメントにルーティングします。VIP顧客はvip_customersに、休眠顧客はre_engagementに、その他の顧客はstandard_customersに送信されます。

SELECT
  CASE
    WHEN lifetime_value >= 1000 THEN 'vip_customers'
    WHEN last_purchase_at < CURRENT_TIMESTAMP - INTERVAL '180' DAY THEN 're_engagement'
    ELSE 'standard_customers'
  END AS selligent_segment,
  customer_id AS customer_identifier,
  email AS email,
  first_name AS first_name,
  lifetime_value AS lifetime_value,
  last_purchase_at AS last_purchase_at
FROM customer_profile
WHERE email IS NOT NULL
  AND opt_in_email = true

サンプルクエリ結果

selligent_segment customer_identifier email first_name lifetime_value last_purchase_at
vip_customersC101mei@example.comMei1520.502026-05-01 10:15:00
re_engagementC204dan@example.comDan210.002025-09-20 08:30:00
standard_customersC319lina@example.comLina480.752026-04-12 19:45:00

必要な設定

パラメータ
organizationmy_org
list_api_namemaster_contacts
segment_columnselligent_segment
key_fieldsCUSTOMER_IDENTIFIER
segment_data_import_optionappend
list_data_import_optionInsertAndUpdate
create_segment_if_not_existstrue
deduplicationImportLastMatch
error_handlingContinueOnError

インテグレーションは、最初にすべての有効な行をmaster_contactsにロードします。その後、バッチ内の各一意のセグメント値(vip_customersre_engagementstandard_customers)に対して1回のセグメントロードを実行します。

クエリエクスポートジョブのスケジュール(オプション)

Scheduled JobsをResult Exportと共に使用して、定期的に出力結果をSelligentに書き込むことができます。

Treasure AIのスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートします。

(オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

Treasure コンソール を使用してジョブをスケジュールする

  1. Data Workbench > Queries に移動します

  2. 新しいクエリを作成するか、既存のクエリを選択します。

  3. Schedule の横にある None を選択します。

  4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:

    ドロップダウン値説明
    Custom cron...Custom cron... の詳細を参照してください。
    @daily (midnight)指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。
    @hourly (:00)毎時 00 分に実行します。
    Noneスケジュールなし。

Custom cron... の詳細

Cron 値説明
0 * * * *1 時間に 1 回実行します。
0 0 * * *1 日 1 回午前 0 時に実行します。
0 0 1 * *毎月 1 日の午前 0 時に 1 回実行します。
""スケジュールされた実行時刻のないジョブを作成します。
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

次の名前付きエントリを使用できます:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.
  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

フィールド値 例の説明
各フィールドに対して上記で表示された制限内の単一の値。
フィールドに基づく制限がないことを示すワイルドカード '*''0 0 1 * *'毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
範囲 '2-5' フィールドの許可される値の範囲を示します。'0 0 1-10 * *'毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。
カンマ区切りの値のリスト '2,3,4,5' フィールドの許可される値のリストを示します。0 0 1,11,21 * *'毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
周期性インジケータ '*/5' フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。'30 */2 1 * *'毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 '0 0 */5 * *' は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。
'*' ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています '2,*/5,8-10''0 0 5,*/10,25 * *'毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
  1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

  1. Audience Studio に移動します。
  2. parent segment を選択します。
  3. ターゲット segment を開き、右クリックして、Create Activation を選択します。
  4. Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
  5. Output Mapping パネルで activation 出力をカスタマイズします。

  • Attribute Columns
    • Export All Columns を選択すると、変更を加えずにすべての列をエクスポートできます。
    • + Add Columns を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。+ Add Columns を選択し続けて、activation 出力用の新しい列を追加します。
  • String Builder
    • + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
      • String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
      • Timestamp: エクスポートの日時。
      • Segment Id: segment ID 番号。
      • Segment Name: segment 名。
      • Audience Id: parent segment 番号。
  1. Schedule を設定します。

  • スケジュールを定義する値を選択し、オプションでメール通知を含めます。
  1. Create を選択します。

batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。

ワークフローでのエクスポート結果の設定(オプション)

Treasure Workflowでは、データコネクタを使用してデータをエクスポートすることを指定できます。

詳細については、TD Toolbeltを使用してワークフローでデータをエクスポートするを参照してください。

サンプルワークフロー設定

timezone: UTC

_export:
  td:
    database: sample_datasets

+td-result-into-selligent:
  td>: queries/selligent_export.sql
  result_connection: selligent
  result_settings:
    organization: my_org
    list_api_name: master_contacts
    create_list_if_not_exists: false
    list_data_import_option: InsertAndUpdate
    segment_column: selligent_segment
    create_segment_if_not_exists: true
    segment_data_import_option: append
    key_fields: CUSTOMER_IDENTIFIER
    deduplication: ImportLastMatch
    error_handling: ContinueOnError
    mode: Sync
    skip_invalid_records: true

トラブルシューティング

エラーまたは症状 原因 解決策
認証が401または403で失敗します。api_keyまたはapi_secretが正しくないか、認証情報が組織へのアクセス権を持っていません。APIキー、APIシークレット、ベースURL、Selligent組織識別子を確認してください。
リストが見つからないためエクスポートが失敗します。list_api_nameが存在せず、create_list_if_not_existsfalseです。リストのAPI名を確認するか、create_list_if_not_existstrueに設定してください。
セグメントが見つからないためエクスポートが失敗します。segment_columnのセグメント値が存在せず、create_segment_if_not_existsfalseです。クエリ結果のセグメントapi_name値を確認するか、create_segment_if_not_existstrueに設定してください。
行がスキップされます。セグメントルーティング列がnullまたは空白で、skip_invalid_recordstrueです。すべての行に有効なセグメントapi_nameを持つようにクエリを更新するか、skip_invalid_recordsfalseに設定して行をスキップする代わりにエクスポートを失敗させてください。
入力フィールドがリストに見つからないためエクスポートが失敗します。ターゲットリストは存在しますが、1つ以上のクエリ結果列がリストフィールドとして存在しません。Selligentリストに不足しているフィールドを追加するか、クエリの出力列を調整してください。
重複レコードが予期しない値を生成します。複数の行が同じkey_fields値を共有しています。クエリ結果とdeduplication設定を確認してください。最後に一致した行が優先される場合はImportLastMatchを、最初に一致した行が優先される場合はImportFirstMatchを使用してください。
Selligentが部分的な成功を返します。Selligentが一部のレコードを受け入れ、その他を拒否しました。ジョブログで無効なレコードの詳細を確認し、ソースデータまたはリストフィールド定義を修正してください。

関連項目