您可以連接哪些內容
已配置 設定 → 電子郵件提供者 由組織管理員設定-絕不由行銷人員針對每個行銷活動設定。
SendGrid
使用 API 金鑰連接您的 SendGrid 帳戶。 Flash 透過 v3 郵件 API 發送郵件。
Amazon SES(您的帳戶)
帶上您自己的 AWS SES 帳戶(存取金鑰/區域/驗證來源)。與平台的後備 SES 不同。
定制 REST — 任何 ESP
將 Flash 指向任何提供者的 JSON 發送 API,並附帶欄位對應。無需等待適配器。
原始 SMTP 中繼已在路線圖上,但尚未可用 - 目前透過提供者的 API 連線。
備用瀑布流
每次發送郵件時,系統都會按照您設定的優先順序嘗試不同的郵件服務提供者;如果某個服務提供者發生故障或不可用,系統將跳過該提供者,並依序嘗試下一個。平台提供的託管郵件服務始終作為最終的備用方案。
// Providers are tried in the priority order an admin sets. The list ALWAYS ends at
// the platform's managed Amazon SES account (the terminal fallback), which uses its
// own verified from-address so a fallback never bounces on an unverified domain.
Priority 1 → SendGrid (your account)
Priority 2 → Amazon SES (your own AWS account)
Priority 3 → Custom REST (any ESP with a send API)
Terminal → Platform Amazon SES (always on — the safety net)
// A provider that errors or is circuit-broken is skipped; delivery falls to the next.將任何 ESP 與自訂 REST 連接
如果您的提供者未內置,請透過其發送 API 連接它——提供端點、身份驗證標頭和欄位對應。無需編寫程式碼,也無需建立適配器。
// A "Custom REST" provider connects ANY ESP that exposes a JSON send API — no
// code, just configuration. An admin supplies the endpoint, the auth header, and a
// field map; Flash builds the request per message. Example (a generic ESP):
{
"provider": "custom_rest",
"config": {
"endpoint": "https://api.your-esp.com/v1/send",
"authHeader": "Authorization",
"authScheme": "Bearer", // → "Authorization: Bearer <apiKey>"
"toField": "to",
"fromField": "from",
"subjectField":"subject",
"htmlField": "html"
},
"secret": { "apiKey": "sk_live_…" } // encrypted at rest; never returned
}
// Per send, Flash POSTs: { "to": "...", "from": "...", "subject": "...", "html": "..." }
// with the auth header applied. 401/403 → credentials error (skip to next provider),
// 5xx/timeout → transient (skip to next provider). The HTML already carries Flash's
// own tracking pixel + link redirects, so opens/clicks keep working.將取消訂閱用戶同步回 Flash
當您透過自己的提供者發送時,選擇退出可能會在 Flash 之外透過您的 ESP、您的偏好中心或表單捕獲。使用取消訂閱API將它們推回,這樣Flash就會在每次發送時抑制該位址。您也可以讀取位址的選擇退出狀態。使用租用戶 API 金鑰進行身份驗證;電子郵件是身分。
// Push an opt-out INTO Flash — from your ESP's unsubscribe webhook, your own
// preference center, or a third-party form. Flash then suppresses this address on
// EVERY campaign send (the same signal the audience resolver checks). Idempotent.
POST https://flash.socialhub.ai/api/v2/members/unsubscribe
Authorization: Bearer fl_live_… // scope: members:write
Content-Type: application/json
{ "email": "ada@acme.com" }
// → 200 { "data": { "email": "ada@acme.com", "unsubscribed": true } }
// Read an address's opt-out status (e.g. reconcile before a bulk send):
GET https://flash.socialhub.ai/api/v2/members/unsubscribe?email=ada@acme.com
Authorization: Bearer fl_live_… // scope: members:read
// → 200 { "data": { "email": "ada@acme.com", "unsubscribed": true } }
// Re-subscribing is deliberately NOT an API toggle — re-granting marketing consent
// needs provable opt-in (CAN-SPAM / CASL), so it goes through the member's own
// consent flow, never this endpoint.