Skip to content

行銷事件(FLOD → CRM)

對應 FLOD:設定 → CRM 整合行銷事件(FLOD → CRM)

開始前

Webhook 須送到 能接收 POST 的服務;若行銷主系統是大型 PRM 且沒有「貼 URL」欄位,請先讀 適用情境與整合方式

啟用並填寫 Webhook URL 後,FLOD 會在營運里程碑發生時,以 HTTPS POST 推送 JSON 至診所設定的 URL。

訂閱事件

顯示名稱事件代碼何時推送
消費完成(療程/商品)purchase.completed現場結帳成功(含療程購買、商品購買)
療程扣次treatment.consumed療程從顧客庫存扣次/消耗
到訪完成visit.completed到訪流程標記為已完成
會員等級變更membership.changed顧客會員等級變更

purchase.completed 包含哪些消費?

療程與商品都會推送,同一筆結帳若同時含療程與商品,items 陣列會分別列出:

  • 療程:type: "treatment"
  • 商品:type: "good"

押金/儲值等路徑若走結帳確認,也會依實際 purchasement 內容推送摘要。

共通 envelope

json
{
  "event_id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "purchase.completed",
  "occurred_at": "2026-08-28T12:00:00.000Z",
  "location_id": "診所 location id",
  "patient": {
    "flod_id": "674a1b2c3d4e5f6789012345",
    "patient_id": "診所顧客編號",
    "external_patient_id": "外部系統顧客編號",
    "name": "王小明",
    "phone": "0912345678"
  },
  "data": { }
}
欄位說明
patient.flod_idFLOD 內部顧客 ID(系統主鍵)
patient.patient_id診所「顧客編號」(可能為空字串)
patient.external_patient_id外部系統顧客編號;顧客檔有填時才會出現

對人建議:CRM 端優先用 external_patient_id;沒有時再用手機或自行維護的對照表。patient_id 是診所內部編號,不要預設它等於 CRM 主鍵。

簽章(選填)

若設定頁有填 簽章密鑰,FLOD 會加上 Header:

text
X-FLOD-Signature: sha256=<hex>

CRM 端應以相同密鑰驗證 body 的 HMAC-SHA256。

各事件 data 摘要

purchase.completed

json
{
  "amount": 12000,
  "items": [
    { "name": "皮秒雷射", "qty": 1, "type": "treatment" },
    { "name": "修復面膜", "qty": 2, "type": "good" }
  ],
  "payment_method": "cash"
}

treatment.consumed

json
{
  "treatment_name": "皮秒雷射",
  "qty": 1,
  "division_name": "美容",
  "reservation_id": "…"
}

visit.completed

json
{
  "reservation_id": "…",
  "date_reserve": "2026-08-28 14:00",
  "division_name": "美容",
  "treatments": ["皮秒雷射"]
}

membership.changed

json
{
  "membership_name": "金卡",
  "membership_level": 2,
  "previous_membership_name": "銀卡"
}

測試

設定頁按 發送測試事件,會依目前表單的 Webhook URL 與簽章密鑰(密鑰留空時沿用已儲存值)推送一筆 purchase.completed 測試 payload(含 data.test: true)。無需先儲存設定。

注意事項

  • 推送為最佳努力:Webhook 失敗不會 rollback 櫃台已完成的操作。
  • FLOD 不推送表單全文、分潤明細等 PHI 以外不需用於分眾的資料。
  • 同一 event_id 請 CRM 端自行去重(重試時可能重送)。