SocialHub.AI
Pusat Pengembang · Formulir Pendaftaran Web

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.

01 — Cara kerjanya

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:

POST https://flash.socialhub.ai/api/flash/capture/YOUR_SHORT_CODE

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.

02 — Instalasi

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”.

index.html
<!-- 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>
03 — Permintaan kontrak

Isi JSON

Kirim application/json. Responsnya adalah { success: true, couponCode?, couponExpiresAt?, isRepeat } jika diterima, atau success:false dengan kode kesalahan jika tidak.

BidangTipeCatatan
emailstringEmail pelanggan. Wajib.
opt_inbooleanPersetujuan pemasaran dari kotak centang Anda. Dicatat bersamaan dengan pengambilan data.
_tstringEpoch milidetik saat formulir ditampilkan — mendukung pemeriksaan bot waktu pengisian minimum. Diperlukan.
websitestring?Kolom jebakan madu. Biarkan tersembunyi dan kosong; nilai yang terisi akan dianggap sebagai bot.
fpstring?Sidik jari perangkat opsional yang Anda buat.
04 — Perlindungan

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.

05 — Persetujuan & privasi

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.