SocialHub.AI
Pusat Pembangun · Borang Pendaftaran Web

Kumpul pendaftaran daripada laman web anda sendiri.

Kod QR dalam kedai anda sudah pun menangkap ahli. Ini adalah perkara yang sama untuk web: borang HTML salin-tampal yang anda letakkan pada mana-mana halaman. Ia menyiarkan ke saluran paip tangkapan yang sama — jadi pendaftaran laman web mendapat rekod persetujuan, kupon alu-aluan, pertahanan bot dan pengendalian CCPA yang sama seperti imbasan QR. Tiada kunci, tiada SDK, tiada bahagian belakang.

01 — Cara ia berfungsi

Satu borang, diposkan ke satu titik akhir

Borang POST ialah badan JSON kecil ke titik akhir tangkapan kedai anda. Titik akhir didayakan CORS, jadi borang berfungsi dari domain anda sendiri — tiada kod proksi atau pelayan di pihak anda:

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

Dapatkan kod pendek anda

Setiap kod QR kedai mempunyai kod pendek (Kedai → buka kedai → kod QR). Gunakannya dalam URL titik akhir — ia mengenal pasti kedai dan jenama, tiada kunci diperlukan.

Tampal borang

Letakkan coretan kendiri ke dalam mana-mana halaman. Ia memaparkan borang, membawa pertahanan bot dan menyiarkan semasa penyerahan.

Flash melakukan selebihnya

Satu kenalan bersatu dicipta atau dikemas kini, persetujuan direkodkan, dan — jika kod QR mempunyai kupon alu-aluan — ia dikeluarkan, sama seperti tangkapan di kedai.

02 — Pasang

Tetapkan YOUR_SHORT_CODE dan tampalkannya.

Kendiri — tiada skrip atau kebergantungan luaran. Gayakannya agar sepadan dengan tapak anda; simpan honeypot website tersembunyi dan _t timestamp — kedua-duanya adalah pertahanan bot. Anda juga boleh menjana coretan ini untuk kedai tertentu dalam Kedai → Kod QR → “Benamkan di tapak web anda”.

indeks.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 — Minta kontrak

Badan JSON

Hantar application/json. Respons ialah { success: true, couponCode?, couponExpiresAt?, isRepeat } semasa penerimaan, atau success:false dengan kod ralat sebaliknya.

MedanJenisNota
emailstringE-mel pelanggan. Diperlukan.
opt_inbooleanPersetujuan pemasaran daripada kotak pilihan anda. Direkodkan dengan tangkapan.
_tstringEpoch milisaat apabila borang dipaparkan — menguasakan semakan bot masa isi min. Diperlukan.
websitestring?Medan Honeypot. Biarkan ia tersembunyi dan kosong; nilai yang diisi dianggap sebagai bot.
fpstring?Cap jari peranti pilihan yang anda jana.
04 — Perlindungan

Pertahanan bot terbina dalam

Kod pendek adalah awam (ia berada dalam sumber halaman anda), jadi titik akhir mempertahankan dirinya di bahagian pelayan — perlindungan yang sama seperti aliran tangkapan dalam kedai:

Penghad kadar · sentiasa aktif

Titik akhir mengehadkan bilangan pendaftaran yang boleh dihantar oleh satu sumber, jadi kod pendek yang disalin tidak boleh membanjiri senarai anda.

Honeypot + masa

Medan laman web tersembunyi dan _t memaparkan timestamp menangkap penyerahan berskrip yang mengisi medan tersembunyi atau menghantar serta-merta.

E-mel pakai buang + pengawal pendua

Domain buangan ditolak dan e-mel berulang di kedai yang sama dinyahduplikasi, bukan dikira dua kali.

Jujur tentang hadnya

Ini meningkatkan piawaian untuk borang awam; untuk pengambilan sensitiviti tinggi, hantar pelayan ke pelayan melalui API yang disahkan.

05 — Persetujuan & privasi

Persetujuan tangkapan, bukan sekadar alamat

Opt-in direkodkan

Yang opt_in kotak semak disimpan dengan tangkapan, jadi hiliran menghantar rasa hormat sama ada pelawat bersetuju untuk pemasaran.

CCPA-sedar

Pengendalian pendedahan yang sama seperti aliran QR — Pelawat California mendapat notis yang diperlukan di bahagian pelayan.

Tiada rahsia dalam halaman

Hanya kod pendek awam yang terdedah. Tiada kunci API untuk dibocorkan di laman web anda.

Sepanduk persetujuan anda dahulu

Jika anda menggunakan pengurus persetujuan, tutup borang di belakangnya supaya anda hanya mengumpul di tempat yang anda berhak.

Tangkap di mana sahaja pelanggan anda berada

Di kedai melalui QR, dan kini di laman web anda — setiap pendaftaran berada dalam profil ahli bersatu yang sama.