Brevo コネクター

Brevo コネクター

Brevo アカウントを Tajo に接続して、統一されたコンタクト管理、メール・SMS・WhatsApp にまたがるトランザクショナルメッセージング、包括的なマーケティングオートメーションを実現します。

概要

項目
プラットフォームBrevo
カテゴリーマーケティング
セットアップ難易度容易
公式統合あり
同期データコンタクト、キャンペーン、トランザクショナルメッセージ、イベント、eコマース
API ベース URLhttps://api.brevo.com/v3

機能

  • マルチチャネルメッセージング - 統一 API でトランザクショナルメール、SMS、WhatsApp を送信
  • コンタクト管理 - カスタム属性でコンタクトを作成、更新、セグメント化
  • マーケティングキャンペーン - プログラム的にメールキャンペーンを作成・送信
  • イベントトラッキング - Brevo Tracker でカスタムイベントとサイトアクティビティを追跡
  • eコマース同期 - パーソナライズ化されたキャンペーン向けに商品、注文、カートデータを同期
  • ロイヤリティプログラム - ロイヤリティの購読、ポイント、会員データを管理
  • ウェブフック対応 - トランザクショナル、マーケティング、CRM イベントのリアルタイム通知
  • 会話機能 - ライブチャットウィジェット統合とプログラム的メッセージ管理

前提条件

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

  1. Brevo アカウント (Free、Starter、Business、Enterprise プランのいずれか)
  2. Brevo Settings > API Keys から生成した API キー
  3. API アクセス付きの Tajo アカウント
  4. メール送信用に認証済みの送信者ドメイン

認証

Brevo は 2 つの認証方式をサポートします。

API キー認証 (推奨)

リクエストごとに api-key ヘッダーに API キーを含めます。直接統合やサーバー間通信に最適です。

Terminal window
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_POINTS

API エンドポイント

コアエンドポイント

メソッドエンドポイント説明
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 account
await tajo.connectors.connect('brevo', {
apiKey: process.env.BREVO_API_KEY
});

トランザクショナルメールの送信

// Send a transactional email via Brevo
await tajo.brevo.sendTransactionalEmail({
to: [{ email: '[email protected]', name: 'John Doe' }],
templateId: 12,
params: {
ORDER_ID: '12345',
ORDER_TOTAL: '$59.99',
DELIVERY_DATE: '2024-02-15'
}
});

コンタクトの同期

// Bulk import contacts to Brevo
await tajo.connectors.sync('brevo', {
type: 'full',
resources: ['contacts'],
options: {
listIds: [5, 6],
updateExisting: true,
emptyContactsAttributes: false
}
});
// Check sync status
const 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 contact
await tajo.brevo.trackEvent({
event: 'product_purchased',
eventdata: {
id: 'txn_98765',
data: {
product_name: 'Premium Widget',
price: 49.99,
currency: 'USD'
}
}
});

レート制限

Brevo はプランに応じて 3 段階のレート制限を適用します。

エンドポイントFree/StarterProfessionalEnterprise
POST /v3/smtp/email1,000 RPS2,000 RPS6,000 RPS
POST /v3/transactionalSMS/send150 RPS200 RPS250 RPS
POST /v3/events10 RPS20 RPS60 RPS
/v3/contacts/*10 RPS20 RPS60 RPS
その他すべてのエンドポイント100 RPH200 RPH600 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

接続テスト

Terminal window
tajo connectors test brevo
# ✓ API connection successful
# ✓ Contacts API accessible
# ✓ Transactional email ready
# ✓ SMS sending configured
# ✓ Webhooks registered

ベストプラクティス

  1. API キーローテーションを使用 - セキュリティのため API キーを定期的にローテーション
  2. ウェブフック検証を実装 - ユーザー名/パスワード認証でウェブフック署名を検証
  3. コンタクトをバッチでインポート - 個別 API コールではなく大規模データには一括インポートを使用
  4. レート制限を監視 - レート制限ヘッダーを確認して 429 エラーを回避
  5. イベントトラッキングを活用 - Brevo Tracker を実装して包括的な顧客行動データを取得
  6. 適切な送信者認証を設定 - 最適な到達性のため SPF、DKIM、DMARC を設定

セキュリティ

  • API キー認証 - api-key ヘッダー経由のシークレットトークンベースアクセス
  • OAuth 2.0 - プライベート統合向けのトークンベース委任アクセス
  • ウェブフック検証 - ウェブフックコール向けのユーザー名/パスワード認証
  • TLS 暗号化 - すべての API 通信を転送時に暗号化
  • IP ホワイトリスト - Enterprise プランで任意の IP 制限が利用可能

関連リソース

Subscribe to updates

developer-docs

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

AIアシスタント

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

Brevoで無料で始める