Kumpulkan pendaftaran dari situs web Anda sendiri.
Kode QR di toko Anda sudah mencatat data anggota. Hal yang sama berlaku untuk web: formulir HTML salin-tempel yang dapat Anda letakkan di halaman mana pun. Formulir tersebut dikirim ke pipeline pengambilan data yang sama — sehingga pendaftaran di situs web mendapatkan catatan persetujuan, kupon selamat datang, perlindungan bot, dan penanganan CCPA yang identik dengan pemindaian QR. Tanpa kunci, tanpa SDK, tanpa backend.
Satu formulir, mengirim ke satu titik akhir
Formulir POST mengirimkan badan JSON kecil ke titik akhir pengambilan data toko Anda. Endpoint ini mendukung CORS, sehingga formulir berfungsi dari domain Anda sendiri — tanpa kode proxy atau server di sisi Anda:
Dapatkan kode pendek Anda
Setiap kode QR toko memiliki kode pendek (Toko → buka toko → kode QR). Gunakan di URL titik akhir — ini mengidentifikasi toko dan merek, tidak perlu kunci.
Tempel formulir
Letakkan cuplikan mandiri ke halaman mana pun. Cuplikan ini akan merender formulir, membawa pertahanan bot, dan memposting saat pengiriman.
Flash melakukan sisanya
Satu kontak terpadu dibuat atau diperbarui, persetujuan dicatat, dan — jika kode QR memiliki kupon selamat datang — kupon tersebut diterbitkan, persis seperti pengambilan gambar di toko.
Atur YOUR_SHORT_CODE dan tempelkan.
Mandiri — tanpa skrip eksternal atau ketergantungan. Sesuaikan gayanya agar sesuai dengan situs Anda; pertahankan honeypot website tersembunyi dan _t timestamp — keduanya adalah pertahanan terhadap bot. Anda juga dapat membuat cuplikan ini untuk toko tertentu di Toko → Kode QR → “Sematkan di situs web Anda”.
<!-- 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>Isi JSON
Kirim application/json. Responsnya adalah { success: true, couponCode?, couponExpiresAt?, isRepeat } jika diterima, atau success:false dengan kode kesalahan jika tidak.
| Bidang | Tipe | Catatan |
|---|---|---|
email | string | Email pelanggan. Wajib. |
opt_in | boolean | Persetujuan pemasaran dari kotak centang Anda. Dicatat bersamaan dengan pengambilan data. |
_t | string | Epoch milidetik saat formulir ditampilkan — mendukung pemeriksaan bot waktu pengisian minimum. Diperlukan. |
website | string? | Kolom jebakan madu. Biarkan tersembunyi dan kosong; nilai yang terisi akan dianggap sebagai bot. |
fp | string? | Sidik jari perangkat opsional yang Anda buat. |
Pertahanan bot terintegrasi
Kode pendek bersifat publik (ada di kode sumber halaman Anda), sehingga endpoint melindungi dirinya sendiri di sisi server — perlindungan yang sama seperti alur pengambilan di toko:
Pembatasan laju · selalu aktif
Endpoint membatasi jumlah pendaftaran yang dapat dikirim oleh satu sumber, sehingga kode pendek yang disalin tidak dapat membanjiri daftar Anda.
Potensi pelanggan + pengaturan waktu
Kolom situs web tersembunyi dan render _t timestamp menangkap pengiriman skrip yang mengisi kolom tersembunyi atau mengirimkan secara instan.
Email sekali pakai + perlindungan duplikasi
Domain sekali pakai ditolak dan email berulang di toko yang sama dihilangkan duplikatnya, bukan dihitung dua kali.
Jujur tentang batasan
Ini meningkatkan standar untuk formulir publik; untuk penyerapan sensitivitas tinggi, kirim server-ke-server melalui API yang terautentikasi sebagai gantinya.
Mendapatkan persetujuan, bukan hanya alamat
Persetujuan telah dicatat
Kotak centang opt_in disimpan bersamaan dengan pengambilan data, sehingga pengiriman selanjutnya mempertimbangkan apakah pengunjung telah menyetujui pemasaran.
Sadar akan CCPA
Penanganan pengungkapan yang sama seperti alur QR — pengunjung California mendapatkan pemberitahuan yang diperlukan di sisi server.
Tidak ada rahasia di halaman ini
Hanya kode pendek publik yang diekspos. Tidak ada kunci API yang bocor di situs Anda.
Spanduk persetujuan Anda terlebih dahulu
Jika Anda menggunakan pengelola persetujuan, batasi formulir di baliknya sehingga Anda hanya mengumpulkan data di tempat yang Anda berhak melakukannya.
Catat di mana pun pelanggan Anda berada
Di toko melalui QR, dan sekarang di situs web Anda — setiap pendaftaran masuk ke profil anggota terpadu yang sama.