Brevo コネクター
Brevo コネクター
Brevo アカウントを Tajo に接続して、統一されたコンタクト管理、メール・SMS・WhatsApp にまたがるトランザクショナルメッセージング、包括的なマーケティングオートメーションを実現します。
概要
| 項目 | 値 |
|---|---|
| プラットフォーム | Brevo |
| カテゴリー | マーケティング |
| セットアップ難易度 | 容易 |
| 公式統合 | あり |
| 同期データ | コンタクト、キャンペーン、トランザクショナルメッセージ、イベント、eコマース |
| API ベース URL | https://api.brevo.com/v3 |
機能
- マルチチャネルメッセージング - 統一 API でトランザクショナルメール、SMS、WhatsApp を送信
- コンタクト管理 - カスタム属性でコンタクトを作成、更新、セグメント化
- マーケティングキャンペーン - プログラム的にメールキャンペーンを作成・送信
- イベントトラッキング - Brevo Tracker でカスタムイベントとサイトアクティビティを追跡
- eコマース同期 - パーソナライズ化されたキャンペーン向けに商品、注文、カートデータを同期
- ロイヤリティプログラム - ロイヤリティの購読、ポイント、会員データを管理
- ウェブフック対応 - トランザクショナル、マーケティング、CRM イベントのリアルタイム通知
- 会話機能 - ライブチャットウィジェット統合とプログラム的メッセージ管理
前提条件
開始する前に、以下をご用意ください。
- Brevo アカウント (Free、Starter、Business、Enterprise プランのいずれか)
- Brevo Settings > API Keys から生成した API キー
- API アクセス付きの Tajo アカウント
- メール送信用に認証済みの送信者ドメイン
認証
Brevo は 2 つの認証方式をサポートします。
API キー認証 (推奨)
リクエストごとに api-key ヘッダーに API キーを含めます。直接統合やサーバー間通信に最適です。
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"OAuth 2.0 認証
ユーザー固有の権限や委任アクセスを必要とする組織内プライベート統合には OAuth 2.0 を使用します。OAuth は有効期間が設定されたトークンベースのシステムを提供します。
OAuth の利用可否
OAuth は現在、組織内プライベート統合でのみ利用可能です。OAuth 統合はパブリック配布やマーケットプレイス掲載を目的としていません。
設定
基本セットアップ
connectors: brevo: enabled: true api_key: "${BREVO_API_KEY}" api_version: "v3"
# Data sync options sync: contacts: true campaigns: true transactional: true events: true ecommerce: true
# List assignment lists: all_customers: 5 newsletter: 6 buyers: 7フィールドマッピング
データフィールドを Brevo コンタクト属性にマッピングします。
既定のマッピング
| Parameter | Type | Description |
|---|---|---|
email required | string | コンタクトのメールアドレス (一意の識別子) |
FIRSTNAME optional | string | コンタクトの名 (first name) 属性 |
LASTNAME optional | string | コンタクトの姓 (last name) 属性 |
SMS optional | string | SMS と WhatsApp 送信用の電話番号 |
OPT_IN optional | boolean | マーケティングオプトインの同意ステータス |
ORDER_COUNT optional | integer | 合計注文件数 |
TOTAL_REVENUE optional | number | コンタクトからの生涯売上 |
LOYALTY_POINTS optional | integer | 現在のロイヤリティプログラムポイント残高 |
カスタム属性マッピング
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Marketing fields opt_in: OPT_IN signup_source: SIGNUP_SOURCE preferred_language: LANGUAGE
# eCommerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_REVENUE last_order_date: LAST_ORDER_DATE
# Loyalty fields loyalty_tier: VIP_TIER loyalty_points: LOYALTY_POINTSAPI エンドポイント
コアエンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /v3/smtp/email | トランザクショナルメールを送信 |
POST | /v3/transactionalSMS/send | トランザクショナル SMS を送信 |
POST | /v3/whatsapp/sendMessage | トランザクショナル WhatsApp を送信 |
POST | /v3/contacts | コンタクトを作成 |
PUT | /v3/contacts/{email} | コンタクトを更新 |
GET | /v3/contacts/{identifier} | コンタクト詳細を取得 |
POST | /v3/contacts/import | コンタクトを一括インポート |
eコマースエンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /v3/orders/status | 注文ステータスを作成または更新 |
POST | /v3/products | 商品を作成または更新 |
POST | /v3/categories | 商品カテゴリーを作成または更新 |
POST | /v3/events | カスタムイベントを追跡 |
キャンペーンエンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /v3/emailCampaigns | メールキャンペーンを作成 |
POST | /v3/emailCampaigns/{id}/sendNow | キャンペーンを即時送信 |
GET | /v3/emailCampaigns | すべてのメールキャンペーン一覧 |
GET | /v3/smtp/statistics/events | メールイベント統計を取得 |
イベント
トランザクショナルイベント
| イベント | トリガー | 用途 |
|---|---|---|
delivered | メールが受信箱に配信 | 配信確認 |
opened | 受信者がメールを開封 | エンゲージメント追跡 |
clicked | メール内リンクをクリック | クリックスルー追跡 |
bounced | メール不達 | リスト衛生 |
spam | スパム報告 | コンプライアンス監視 |
unsubscribed | コンタクトが配信停止 | 嗜好管理 |
eコマースイベント
| イベント | トリガー | 用途 |
|---|---|---|
order_completed | 注文が正常に確定 | 購入後フロー |
cart_updated | カートの中身が変更 | カゴ落ち追跡 |
cart_deleted | カートが空またはタイムアウト | カート回復 |
product_viewed | 商品ページ訪問 | 閲覧放棄 |
コード例
コネクターの初期化
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Brevo accountawait tajo.connectors.connect('brevo', { apiKey: process.env.BREVO_API_KEY});トランザクショナルメールの送信
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});コンタクトの同期
// Bulk import contacts to Brevoawait tajo.connectors.sync('brevo', { type: 'full', resources: ['contacts'], options: { listIds: [5, 6], updateExisting: true, emptyContactsAttributes: false }});
// Check sync statusconst status = await tajo.connectors.status('brevo');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 25400,// campaignsSent: 142,// eventsTracked: 89320// }カスタムイベントの追跡
// Track a custom event for a contactawait tajo.brevo.trackEvent({ event: 'product_purchased', eventdata: { id: 'txn_98765', data: { product_name: 'Premium Widget', price: 49.99, currency: 'USD' } }});レート制限
Brevo はプランに応じて 3 段階のレート制限を適用します。
| エンドポイント | Free/Starter | Professional | Enterprise |
|---|---|---|---|
POST /v3/smtp/email | 1,000 RPS | 2,000 RPS | 6,000 RPS |
POST /v3/transactionalSMS/send | 150 RPS | 200 RPS | 250 RPS |
POST /v3/events | 10 RPS | 20 RPS | 60 RPS |
/v3/contacts/* | 10 RPS | 20 RPS | 60 RPS |
| その他すべてのエンドポイント | 100 RPH | 200 RPH | 600 RPH |
レート制限レスポンス
レート制限を超過すると、API は 429 Too Many Requests ステータスコードを返します。レスポンスのレート制限ヘッダーを監視して利用状況を追跡してください。
トラブルシューティング
よくある問題
| 問題 | 原因 | 解決策 |
|---|---|---|
| 401 Unauthorized | 無効な API キー | Brevo Settings で API キーを再生成 |
| コンタクトが作成されない | メールフィールド不足 | すべてのコンタクトにメールを指定 |
| メールが配信されない | 送信者ドメイン未認証 | Brevo Senders 設定でドメインを認証 |
| ウェブフックが受信されない | URL 不正またはサーバーエラー | ウェブフック URL のアクセス可否とログを確認 |
| SMS が送信されない | 電話番号フォーマットが無効 | 国コード付きの国際フォーマットを使用 |
デバッグモード
詳細ログを有効化します。
connectors: brevo: debug: true log_level: verbose log_webhooks: true接続テスト
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredベストプラクティス
- API キーローテーションを使用 - セキュリティのため API キーを定期的にローテーション
- ウェブフック検証を実装 - ユーザー名/パスワード認証でウェブフック署名を検証
- コンタクトをバッチでインポート - 個別 API コールではなく大規模データには一括インポートを使用
- レート制限を監視 - レート制限ヘッダーを確認して 429 エラーを回避
- イベントトラッキングを活用 - Brevo Tracker を実装して包括的な顧客行動データを取得
- 適切な送信者認証を設定 - 最適な到達性のため SPF、DKIM、DMARC を設定
セキュリティ
- API キー認証 -
api-keyヘッダー経由のシークレットトークンベースアクセス - OAuth 2.0 - プライベート統合向けのトークンベース委任アクセス
- ウェブフック検証 - ウェブフックコール向けのユーザー名/パスワード認証
- TLS 暗号化 - すべての API 通信を転送時に暗号化
- IP ホワイトリスト - Enterprise プランで任意の IP 制限が利用可能