Skip to main content
A veces el formulario debe verse como el resto de tu sitio. Construye el HTML, envíalo a tu backend y deja que ese backend mande las respuestas a Brein. El recorrido tiene tres pasos:
El visitante no habla con Brein ni ve la clave del formulario. Tu servidor agrega la clave, asigna los campos a las claves de las preguntas y crea la Respuesta, que llega al CRM como un contacto.

Crear la clave del formulario

Abre Compartir → Desde tu servidor y crea una clave. La clave completa se ve como frm_sk_… y se muestra una sola vez; Brein guarda solo su huella y un prefijo corto. Cópiala en tu gestor de secretos. Revoca una clave desde el mismo diálogo cuando un servidor deba dejar de enviar. El mismo diálogo muestra el endpoint de tu formulario y las claves exactas de las preguntas, con su tipo y si son obligatorias. Usa esas claves como llaves de answers.

Enviar una respuesta

Manda un POST al endpoint público con la clave en el encabezado Authorization:
answers es un objeto cuyas llaves son las claves de las preguntas del formulario. consent.privacy debe ser true. Idempotency-Key es opcional: enviar la misma clave dos veces devuelve la misma Respuesta. Un envío correcto responde 202:

Ejemplo: tu formulario y tu backend

Este ejemplo tiene tres partes: un formulario HTML en tu sitio, un manejador de ruta de Next.js (app/api/brein/route.ts) en tu servidor y la clave en tu entorno. Cambia frm_AbC123dEf4 por el id de tu formulario y los nombres de campo por las claves de Compartir → Desde tu servidor. Pon la clave en el entorno de tu servidor, nunca en la página:
El formulario HTML envía a tu propia ruta. El diseño es tuyo; sólo debes respetar los nombres de campo y la casilla de consentimiento:
El manejador lee ese POST, asigna cada campo a la clave de su pregunta, agrega el consentimiento y lo envía a Brein con la clave del entorno. Si funciona, redirige a una página de agradecimiento; si falla, devuelve el estado y cuerpo de error de Brein:
Una pregunta de selección múltiple envía una lista: léela con data.getAll('intereses') y pasa ese arreglo como respuesta. Cualquier otro servidor funciona igual; sólo cambian el envío y la respuesta.

Códigos de estado

Deja la clave en el servidor

La clave de un formulario es una credencial. Nunca la pongas en un navegador, una app móvil, un repositorio público ni en código que un visitante pueda leer. El HTML anterior envía a tu propia ruta para que la clave nunca salga de tu servidor. Si prefieres no construir un formulario, usa el embed o el enlace público: esa puerta revisa Turnstile y los dominios permitidos por ti.

Relacionado