一份表單,提交至一個端點
表單 POST 會傳送一個小型 JSON 主體到您商店的擷取端點。該端點已啟用 CORS,因此表單可從您自己的網域運行—無需您編寫任何代理程式或伺服器程式碼:
取得您的短代碼
每個店舖的二維碼都有一個短代碼(店鋪 → 打開店舖 → 二維碼)。在端點 URL 中使用它——它能識別店鋪和品牌,無需金鑰。
貼上表單
將此獨立程式碼片段新增至任何頁面。它渲染表單,執行機器人防禦,並在提交時發佈內容。
Flash 完成剩下的工作
創建或更新一個統一的聯絡人,記錄同意,並且——如果二維碼包含歡迎優惠券——發放優惠券,就像在實體店收集資訊一樣。
設定 YOUR_SHORT_CODE 並貼上。
完全獨立-無需任何外部腳本或依賴項。您可以根據網站風格進行自訂;保留隱藏的 website 蜜罐和 _t timestamp——它們是機器人防禦機制。您也可以在「商店」→「二維碼」→「嵌入到您的網站」中為特定商店產生此程式碼片段。
<!-- SocialHub signup form — paste anywhere in your site's HTML -->
<form class="flash-signup" style="max-width:340px;font-family:sans-serif">
<input type="email" name="email" required placeholder="Email address"
style="width:100%;padding:10px;margin-bottom:8px;border:1px solid #ccc;border-radius:6px" />
<label style="display:block;font-size:13px;margin-bottom:8px">
<input type="checkbox" name="opt_in" checked /> Send me offers and updates
</label>
<!-- honeypot: real people never fill this; bots do -->
<input type="text" name="website" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true" />
<button type="submit" style="width:100%;padding:10px;border:0;border-radius:6px;background:#111;color:#fff;cursor:pointer">Sign up</button>
</form>
<script>
(function () {
var f = document.currentScript.previousElementSibling;
var t = Date.now(); // render time — the min-fill-time bot check
f.addEventListener("submit", function (e) {
e.preventDefault();
fetch("https://flash.socialhub.ai/api/flash/capture/YOUR_SHORT_CODE", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
email: f.email.value,
opt_in: f.opt_in.checked,
_t: String(t),
website: f.website.value // honeypot value
})
})
.then(function (r) { return r.json(); })
.then(function (d) { f.innerHTML = d && d.success ? "<p>Thanks — you're signed up!</p>" : "<p>Sorry, something went wrong.</p>"; })
.catch(function () { f.innerHTML = "<p>Sorry, something went wrong.</p>"; });
});
})();
</script>JSON 正文
發送application/json。接受後回應為 { success: true, couponCode?, couponExpiresAt?, isRepeat },否則為 success:false 並附帶錯誤代碼。
| 場地 | 類型 | 筆記 |
|---|---|---|
email | string | 訂閱者的電子郵件地址。必填。 |
opt_in | boolean | 您的複選框中的行銷同意。隨捕捉一起記錄。 |
_t | string | 表單渲染的毫秒時間戳記-用於支援最短填寫時間機器人檢查。必填。 |
website | string? | 蜜罐字段。請將其隱藏並留空;填寫此欄位將被視為機器人。 |
fp | string? | 您產生的選用裝置指紋。 |
內建機器人防禦機制
短代碼是公開的(它位於您的頁面原始碼中),因此端點在伺服器端進行自我保護——與店內捕獲流程的保護措施相同:
限速 · 始終開啟
此端點限制了一個來源可以發送的註冊數量,因此複製的短代碼不會淹沒您的清單。
蜜罐 + 時機
隱藏的網站欄位和 _t 渲染 timestamp 會捕獲填充隱藏欄位或立即提交的腳本提交。
一次性電子郵件+重複守衛
一次性網域將被拒絕,同一店舖的重複郵件將被去重,而不是重複計算。
坦誠面對限制
這些提高了公共形式的門檻;對於高敏感度攝取,請改為透過經過驗證的 API 在伺服器到伺服器之間發送。
取得用戶同意,而不僅僅是地址
選擇加入將被記錄。
這 opt_in 複選框與捕獲的資料一起存儲,因此下游會根據訪客是否同意行銷訊息發送相應的訊息。
CCPA 感知
與二維碼流程相同的揭露處理方式-加州訪客將在伺服器端收到所需的通知。
頁面內容透明
僅公開短代碼。您的網站上不會洩漏任何 API 金鑰。
首先顯示您的同意橫幅
如果您使用同意管理器,請將表單置於其後,以便僅在您擁有權限的情況下收集資訊。