Iterable コネクター

Iterable グロースマーケティングプラットフォームを Brevo に接続し、統合された顧客エンゲージメント、クロスチャネルキャンペーン連携、マーケティングツール全体にわたる一元化されたアナリティクスを実現します。

概要

項目
プラットフォームIterable
カテゴリーマーケティング
セットアップ難易度中程度
公式統合なし
同期データユーザー、イベント、キャンペーン、カタログ
API タイプREST API
認証API キー
ベース URLhttps://api.iterable.com/api/

機能

  • ユーザープロファイル同期 - Brevo コンタクトとユーザーデータを双方向同期
  • キャンペーン分析 - 統合レポートのためキャンペーン送信、開封、クリック指標を同期
  • 実験データ - A/B テスト結果と勝利バリアントを追跡
  • カタログ同期 - プラットフォーム間で商品とコンテンツカタログを同期
  • ワークフローイベント - ワークフロートリガーと完了イベントを Brevo に転送
  • チャネル設定の同期 - ユーザーのコミュニケーション設定を Brevo に複製

前提条件

開始する前に、以下をご用意ください。

  1. API アクセス付きの Iterable アカウント
  2. 適切な権限を持つ Iterable API キー
  3. Iterable プロジェクト ID
  4. API アクセス付きの Brevo アカウント
  5. 有効なサブスクリプションの Tajo アカウント

認証

Iterable はリクエストヘッダーで渡す API キー認証を使用します。

API キーの作成

  1. Iterable ダッシュボードにログイン
  2. Integrations > API Keys に移動
  3. New API Key をクリック
  4. 名前を「Tajo Integration」とする
  5. Server-side キータイプを選択
  6. 以下の権限を付与します。
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read

キータイプの重要性

Tajo 統合では必ず Server-side API キーを使用してください。モバイル側や JavaScript 側のキーは権限が制限されており、必要なすべてのエンドポイントにアクセスできません。

Tajo への接続

Terminal window
tajo connectors install iterable \
--api-key $ITERABLE_API_KEY

設定

基本セットアップ

connectors:
iterable:
enabled: true
sync:
users: true
events: true
campaigns: true
catalogs: true
experiments: true
lists:
all_users: 16
engaged_users: 17
inactive_users: 18

フィールドマッピング

Iterable のユーザーフィールドを Brevo コンタクト属性にマッピングします。

field_mapping:
# Standard fields
userId: ITERABLE_ID
email: email
firstName: FIRSTNAME
lastName: LASTNAME
phoneNumber: SMS
# Engagement data
signupDate: SIGNUP_DATE
totalPurchases: TOTAL_PURCHASES
lastPurchaseDate: LAST_PURCHASE
# Custom fields
plan_name: PLAN_NAME
company_size: COMPANY_SIZE
preferred_channel: PREFERRED_CHANNEL
lifecycle_stage: LIFECYCLE_STAGE

イベント設定

event_mapping:
# Iterable event -> Brevo event
purchase: ORDER_PLACED
addToCart: CART_UPDATED
pageView: PAGE_VIEWED
appOpen: APP_OPENED
pushOpen: PUSH_ENGAGED

API エンドポイント

Tajo は以下の Iterable API エンドポイントと連携します。

エンドポイントメソッド用途
/users/updatePOSTユーザープロファイルを更新
/users/{email}GETメールでユーザーを取得
/users/bulkUpdatePOSTユーザーを一括更新
/events/trackPOSTカスタムイベントを追跡
/events/trackBulkPOSTイベントを一括追跡
/campaignsGETすべてのキャンペーン一覧
/campaigns/metricsGETキャンペーンパフォーマンスデータ
/experiments/metricsGET実験結果
/listsGETすべてのユーザーリスト
/lists/subscribePOSTユーザーをリストに追加
/lists/unsubscribePOSTユーザーをリストから削除
/catalogs/{catalogName}/itemsGETカタログアイテムを取得
/channelsGETメッセージングチャネル一覧
/export/data.jsonGET生イベントデータをエクスポート

コード例

コネクターの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('iterable', {
apiKey: process.env.ITERABLE_API_KEY
});

ユーザーの同期

// Incremental user sync from Iterable to Brevo
await tajo.connectors.sync('iterable', {
type: 'incremental',
resources: ['users'],
since: '2024-01-01',
batchSize: 50
});
const status = await tajo.connectors.status('iterable');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T09:45:00Z',
// usersCount: 58700,
// campaignsTracked: 42,
// eventsProcessed: 210000
// }

イベントの追跡

// Forward Iterable events to Brevo
await tajo.connectors.handleEvent('iterable', {
type: 'custom_event',
payload: {
eventName: 'subscription_upgraded',
dataFields: {
previousPlan: 'starter',
newPlan: 'pro',
mrr: 99.00
}
}
});

ウェブフックハンドラー

// Handle Iterable system webhooks
app.post('/webhooks/iterable', async (req, res) => {
const event = req.body;
await tajo.connectors.handleWebhook('iterable', {
type: event.eventName,
payload: event
});
res.status(200).send('OK');
});

レート制限

Iterable はプランに応じたレート制限を適用します。

プランレート制限一括エンドポイント制限
Growth500 リクエスト/秒500 リクエスト/秒
Enterpriseカスタムカスタム

エンドポイント別の制限。

エンドポイント制限
/users/update500 req/s
/users/bulkUpdate500 req/s (1 リクエストあたり 1,000 ユーザー)
/events/track500 req/s
/events/trackBulk500 req/s (1 リクエストあたり 8,000 イベント)
/export/data.json4 並列リクエスト

一括エンドポイント

Tajo は自動的にユーザー更新 (1 コールあたり最大 1,000 件) とイベントトラッキング (1 コールあたり最大 8,000 件) をバッチ化し、レート制限内でスループットを最大化します。

トラブルシューティング

よくある問題

問題原因解決策
401 Unauthorized無効な API キーIterable > Integrations > API Keys でキーを確認
ユーザーが同期されないキータイプ不一致Server-side API キーを使用していることを確認
キャンペーンデータが不足権限不足API キーに Campaigns Read 権限を追加
エクスポートタイムアウトデータ量が大きい日付範囲フィルターでエクスポートサイズを削減
ユーザーの重複識別子が一貫していないメールを主識別子として一貫使用

デバッグモード

connectors:
iterable:
debug: true
log_level: verbose
log_api_calls: true

接続テスト

Terminal window
tajo connectors test iterable
# ✓ API connection successful
# ✓ User data accessible
# ✓ Campaign list readable
# ✓ Event tracking operational
# ✓ List management available

ベストプラクティス

  1. 一括エンドポイントを使用 - 大量データには常に bulkUpdatetrackBulk を優先
  2. メールで重複排除 - Iterable と Brevo で一貫した識別子としてメールを使用
  3. 増分同期 - 履歴データの再処理を避けるため日付範囲を使用
  4. チャネル設定をマッピング - コンプライアンス維持のためオプトイン/オプトアウトステータスを同期
  5. エクスポートジョブを監視 - 大規模エクスポートには時間がかかります (ステータスポーリングを設定)
  6. 非本番プロジェクトでテスト - 本番データ同期前にマッピングを検証

セキュリティ

  • API キー認証 - 細分化された権限を持つサーバーサイドキー
  • HTTPS 限定 - すべての API 通信を TLS 1.2+ で暗号化
  • キーローテーション - ローテーション中に複数のアクティブ API キーをサポート
  • 暗号化ストレージ - Tajo 内で API 認証情報を保存時に暗号化
  • JWT ウェブフック - ウェブフックペイロードは検証用に JWT で署名

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。