Iterable コネクター
Iterable グロースマーケティングプラットフォームを Brevo に接続し、統合された顧客エンゲージメント、クロスチャネルキャンペーン連携、マーケティングツール全体にわたる一元化されたアナリティクスを実現します。
概要
| 項目 | 値 |
|---|---|
| プラットフォーム | Iterable |
| カテゴリー | マーケティング |
| セットアップ難易度 | 中程度 |
| 公式統合 | なし |
| 同期データ | ユーザー、イベント、キャンペーン、カタログ |
| API タイプ | REST API |
| 認証 | API キー |
| ベース URL | https://api.iterable.com/api/ |
機能
- ユーザープロファイル同期 - Brevo コンタクトとユーザーデータを双方向同期
- キャンペーン分析 - 統合レポートのためキャンペーン送信、開封、クリック指標を同期
- 実験データ - A/B テスト結果と勝利バリアントを追跡
- カタログ同期 - プラットフォーム間で商品とコンテンツカタログを同期
- ワークフローイベント - ワークフロートリガーと完了イベントを Brevo に転送
- チャネル設定の同期 - ユーザーのコミュニケーション設定を Brevo に複製
前提条件
開始する前に、以下をご用意ください。
- API アクセス付きの Iterable アカウント
- 適切な権限を持つ Iterable API キー
- Iterable プロジェクト ID
- API アクセス付きの Brevo アカウント
- 有効なサブスクリプションの Tajo アカウント
認証
Iterable はリクエストヘッダーで渡す API キー認証を使用します。
API キーの作成
- Iterable ダッシュボードにログイン
- Integrations > API Keys に移動
- New API Key をクリック
- 名前を「Tajo Integration」とする
- Server-side キータイプを選択
- 以下の権限を付与します。
Users: Read/WriteEvents: Read/WriteCampaigns: ReadLists: Read/WriteCatalogs: ReadExperiments: ReadWorkflows: ReadTemplates: ReadChannels: ReadMessage Types: Readキータイプの重要性
Tajo 統合では必ず Server-side API キーを使用してください。モバイル側や JavaScript 側のキーは権限が制限されており、必要なすべてのエンドポイントにアクセスできません。
Tajo への接続
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_ENGAGEDAPI エンドポイント
Tajo は以下の Iterable API エンドポイントと連携します。
| エンドポイント | メソッド | 用途 |
|---|---|---|
/users/update | POST | ユーザープロファイルを更新 |
/users/{email} | GET | メールでユーザーを取得 |
/users/bulkUpdate | POST | ユーザーを一括更新 |
/events/track | POST | カスタムイベントを追跡 |
/events/trackBulk | POST | イベントを一括追跡 |
/campaigns | GET | すべてのキャンペーン一覧 |
/campaigns/metrics | GET | キャンペーンパフォーマンスデータ |
/experiments/metrics | GET | 実験結果 |
/lists | GET | すべてのユーザーリスト |
/lists/subscribe | POST | ユーザーをリストに追加 |
/lists/unsubscribe | POST | ユーザーをリストから削除 |
/catalogs/{catalogName}/items | GET | カタログアイテムを取得 |
/channels | GET | メッセージングチャネル一覧 |
/export/data.json | GET | 生イベントデータをエクスポート |
コード例
コネクターの初期化
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 Brevoawait 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 Brevoawait tajo.connectors.handleEvent('iterable', { type: 'custom_event', payload: { eventName: 'subscription_upgraded', dataFields: { previousPlan: 'starter', newPlan: 'pro', mrr: 99.00 } }});ウェブフックハンドラー
// Handle Iterable system webhooksapp.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 はプランに応じたレート制限を適用します。
| プラン | レート制限 | 一括エンドポイント制限 |
|---|---|---|
| Growth | 500 リクエスト/秒 | 500 リクエスト/秒 |
| Enterprise | カスタム | カスタム |
エンドポイント別の制限。
| エンドポイント | 制限 |
|---|---|
/users/update | 500 req/s |
/users/bulkUpdate | 500 req/s (1 リクエストあたり 1,000 ユーザー) |
/events/track | 500 req/s |
/events/trackBulk | 500 req/s (1 リクエストあたり 8,000 イベント) |
/export/data.json | 4 並列リクエスト |
一括エンドポイント
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接続テスト
tajo connectors test iterable# ✓ API connection successful# ✓ User data accessible# ✓ Campaign list readable# ✓ Event tracking operational# ✓ List management availableベストプラクティス
- 一括エンドポイントを使用 - 大量データには常に
bulkUpdateとtrackBulkを優先 - メールで重複排除 - Iterable と Brevo で一貫した識別子としてメールを使用
- 増分同期 - 履歴データの再処理を避けるため日付範囲を使用
- チャネル設定をマッピング - コンプライアンス維持のためオプトイン/オプトアウトステータスを同期
- エクスポートジョブを監視 - 大規模エクスポートには時間がかかります (ステータスポーリングを設定)
- 非本番プロジェクトでテスト - 本番データ同期前にマッピングを検証
セキュリティ
- API キー認証 - 細分化された権限を持つサーバーサイドキー
- HTTPS 限定 - すべての API 通信を TLS 1.2+ で暗号化
- キーローテーション - ローテーション中に複数のアクティブ API キーをサポート
- 暗号化ストレージ - Tajo 内で API 認証情報を保存時に暗号化
- JWT ウェブフック - ウェブフックペイロードは検証用に JWT で署名