Recopile registros desde su propio sitio web.
Tus códigos QR en tienda ya capturan miembros. Lo mismo ocurre en la web: un formulario HTML que puedes copiar y pegar en cualquier página. Se envía a la misma canalización de captura , por lo que un registro en el sitio web obtiene el mismo registro de consentimiento, cupón de bienvenida, protección contra bots y gestión CCPA que un escaneo de código QR. Sin clave, sin SDK, sin backend.
Un formulario, envío a un único punto final
El formulario POST envía un pequeño cuerpo JSON al punto final de captura de su tienda. El punto final es compatible con CORS, por lo que el formulario funciona desde su propio dominio; no se requiere código proxy ni de servidor en su lado:
Obtenga su código corto
Cada código QR de tienda tiene un código corto (Tiendas → Abrir una tienda → Códigos QR). Úsalo en la URL del punto final: identifica la tienda y la marca, sin necesidad de clave.
Pega el formulario
Arrastre el fragmento autocontenido a cualquier página. Renderiza el formulario, incluye las defensas del bot y publica al enviarlo.
Flash hace el resto
Se crea o actualiza un contacto unificado, se registra el consentimiento y, si el código QR tiene un cupón de bienvenida, se emite, exactamente como una captura en la tienda.
Configure YOUR_SHORT_CODE y péguelo.
Autocontenido: sin scripts ni dependencias externas. Personalízalo para que coincida con tu sitio web; conserva el honeypot oculto website y el _t timestamp, ya que son las defensas contra bots. También puedes generar este fragmento para una tienda específica en Tiendas → Códigos QR → “Insertar en tu sitio web”.
<!-- 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>Cuerpo JSON
Enviar application/json. La respuesta es { success: true, couponCode?, couponExpiresAt?, isRepeat } si se acepta, o success:false con un código de error en caso contrario.
| Campo | Tipo | Notas |
|---|---|---|
email | string | Correo electrónico del suscriptor. Obligatorio. |
opt_in | boolean | Consentimiento de marketing desde su casilla de verificación. Grabado con la captura. |
_t | string | Época en milisegundos al renderizarse el formulario: activa la comprobación del bot para el tiempo mínimo de llenado. Obligatorio. |
website | string? | Campo Honeypot. Déjelo oculto y vacío; un valor rellenado se interpreta como un bot. |
fp | string? | Huella digital opcional del dispositivo que generas. |
Defensas contra bots integradas
El código corto es público (está en el código fuente de tu página), por lo que el punto final se protege en el servidor, con las mismas protecciones que el flujo de captura en tienda:
Limitación de velocidad · siempre activo
El punto final limita la cantidad de registros que puede enviar una fuente, por lo que un código corto copiado no puede inundar su lista.
Honeypot + sincronización
El campo oculto del sitio web y el render _t timestamp capturan los envíos programados que rellenan campos ocultos o se envían instantáneamente.
Correo electrónico desechable + guardias duplicadas
Se rechazan los dominios desechables y se eliminan los correos electrónicos repetidos en la misma tienda, en lugar de contarlos dos veces.
Honesto sobre los límites
Éstos elevan el listón de una forma pública; para la ingesta de alta sensibilidad, envíe de servidor a servidor a través del API autenticado.
Capturar el consentimiento, no solo una dirección
Se registra la suscripción.
El opt_in La casilla de verificación se almacena con la captura, por lo que posteriormente se envía información sobre si el visitante aceptó recibir comunicaciones de marketing.
CCPA-consciente
Mismo manejo de la divulgación que en el flujo de QR: los visitantes de California reciben el aviso requerido en el servidor.
No hay secretos en la página.
Solo se expone el código corto público. No hay ninguna clave API que pueda filtrarse en su sitio.
Primero, su banner de consentimiento
Si utiliza un gestor de consentimiento, restrinja el acceso al formulario para que solo recopile información donde tenga derecho.
Capture dondequiera que estén sus clientes
En la tienda a través de QR y ahora en su sitio web: cada registro llega al mismo perfil de miembro unificado.