指南

一般通知寄送

一般通知寄送

App 需啟用 email 服務。透過 POST {{api_base}}/v1/email/notify 寄出一般通知信(非驗證碼用途)。認證使用 App Secret:X-HSystem-Token: {client_id}:{client_secret}。

API

  • POST {{api_base}}/v1/email/notify
  • Header:X-HSystem-Token: {{client_id}}:YOUR_CLIENT_SECRET
  • Body:mode 為 template 或 html;收件人 email 與 user_id 擇一

模板模式(mode: "template")

套用控制台 notify_generic 模板(Markdown + 品牌外觀),可替換白名單變數:title、message、link、email、app_name。

{
  "mode": "template",
  "email": "user@example.com",
  "vars": {
    "title": "訂單已出貨",
    "message": "您的包裹已寄出,預計 2 日內送達。",
    "link": "https://example.com/orders/123"
  }
}

HTML 模式(mode: "html")

呼叫端自帶完整 HTML;伺服器消毒後強制注入 HSystem 頁尾。

{
  "mode": "html",
  "user_id": "550e8400-e29b-41d4-a716-446655440000",
  "subject": "帳戶安全提醒",
  "html": "<h1>登入提醒</h1><p>偵測到新的登入裝置。</p>"
}

成功回應

{
  "ok": true,
  "to": "user@example.com",
  "mode": "template",
  "message_id": "uuid"
}

notify-template.sh

curl -sS -X POST "{{api_base}}/v1/email/notify" \
  -H "Content-Type: application/json" \
  -H "X-HSystem-Token: {{client_id}}:YOUR_CLIENT_SECRET" \
  -d '{
    "mode": "template",
    "email": "user@example.com",
    "vars": {
      "title": "訂單已出貨",
      "message": "您的包裹已寄出。"
    }
  }'

notify-html.sh

curl -sS -X POST "{{api_base}}/v1/email/notify" \
  -H "Content-Type: application/json" \
  -H "X-HSystem-Token: {{client_id}}:YOUR_CLIENT_SECRET" \
  -d '{
    "mode": "html",
    "email": "user@example.com",
    "subject": "帳戶安全提醒",
    "html": "<h1>登入提醒</h1><p>偵測到新的登入裝置。</p>"
  }'