一份表单,提交至一个端点
表单 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 密钥。
首先显示您的同意横幅
如果您使用同意管理器,请将表单置于其后,以便仅在您拥有权限的情况下收集信息。