Inserciones
Las inserciones te permiten poner un formulario de SupDesk directamente en tu propio sitio web. Los visitantes se apuntan a tu lista de espera, te escriben o se inscriben en una beta sin salir de tu sitio.
¿Buscas una burbuja de chat en lugar de un formulario? El chat en vivo tiene su propio cargador (
chat.js) y su propio fragmento: consulta Chat en vivo.
Se pueden insertar tres formularios:
| Formulario | Qué hace | Requiere |
|---|---|---|
waitlist | Recoge inscripciones a la lista de espera | Lista de espera activada |
contact | Abre una conversación en la bandeja de entrada del proyecto | Mensajería privada Pro |
beta | Inscripción pública a un programa beta | Beta activada, programa activo con inscripción pública |
Añadir una inserción
El fragmento de cada formulario se genera por ti en la consola: cópialo y pégalo en tu propia página donde quieras que aparezca el formulario:
- Lista de espera — en la sección Lista de espera del proyecto, bajo la tarjeta de configuración
- Contacto — en la página de Configuración del proyecto, en Insertar formulario de contacto
- Beta — en la página del programa beta, en Insertar
Un fragmento tiene este aspecto:
<script src="https://acme.supdesk.app/embed.js"
data-supdesk="contact"
data-title="Contactar con Acme" data-height="520" async></script>
<noscript>
<iframe src="https://acme.supdesk.app/embed/contact" width="100%" height="520"
style="border:0" title="Contactar con Acme"></iframe>
</noscript>El script inserta el formulario donde está la etiqueta y ajusta su altura cuando
el formulario cambia: por ejemplo, cuando aparecen errores de validación o
cuando se reduce a una confirmación breve tras el envío. El bloque <noscript>
es un iframe normal, así que el formulario sigue funcionando para visitantes con
JavaScript desactivado.
Todo se sirve desde tu propio dominio del portal. Si tienes un
dominio propio, la consola te da los fragmentos con
ese dominio; si no, usan tu subdominio *.supdesk.app.
Dominios propios y dominios raíz
Tu dominio propio y el origen al que apunta tu fragmento deben compartir el mismo dominio raíz para que el marco de la integración pueda comunicarse con el cargador. La consola siempre genera el fragmento con tu origen de portal activo, así que un fragmento copiado después de configurar tu dominio propio no requiere ninguna consideración: tanto el script como el formulario se sirven desde tu dominio propio, misma origen.
El caso a vigilar es un fragmento copiado antes de añadir un dominio propio. Las peticiones a tu
origen anterior se redirigen al dominio propio, y el cargador solo acepta esa redirección cuando
ambos comparten un dominio raíz — por ejemplo, un subdominio de portal feedback.apibot.dev y un
dominio propio www.apibot.dev viven ambos en apibot.dev. Si tu dominio propio está en una raíz
totalmente distinta, la redirección es entre dominios y la integración no funcionará: vuelve a
copiar el fragmento desde la consola una vez que tu dominio propio esté activo.
Atributos
| Atributo | Obligatorio | Descripción |
|---|---|---|
data-supdesk | sí | Qué formulario insertar: waitlist, contact o beta |
data-program | solo beta | El slug del programa beta |
data-title | no | Título accesible del marco. Por defecto SupDesk form |
data-height | no | Altura inicial en píxeles antes del primer ajuste. Por defecto 360 |
data-ref | no | Código de referido de la lista de espera al que atribuir la inscripción |
Puedes poner más de una inserción en una página: dale a cada una su propia
etiqueta <script>.
Content Security Policy
Si tu sitio envía una cabecera Content-Security-Policy, permite el origen de
tu portal en dos directivas o el navegador bloqueará la inserción:
script-src https://acme.supdesk.app;
frame-src https://acme.supdesk.app;Usa aquí tu dominio propio si tus fragmentos lo utilizan. No hace falta permitir nada más: la inserción no carga scripts de terceros en tu página ni hace peticiones de red propias.
Protección contra spam
Los formularios insertados usan las mismas protecciones que tu portal: tienen límite de frecuencia por visitante y por proyecto, y si has configurado Turnstile para el proyecto, el desafío también aparece dentro de la inserción.
Como tu clave de Turnstile está registrada para tu propio dominio, y las inserciones se sirven desde ese mismo dominio, tu clave funciona sin configuración adicional.
Privacidad e inicio de sesión
Los formularios insertados nunca leen ni escriben una sesión del portal: por diseño, los navegadores no envían esas cookies a un marco alojado en la página de otra persona. En su lugar, cada inserción funciona primero por correo: el visitante envía una dirección de correo y recibe un enlace por email.
Esto tiene una consecuencia que conviene conocer al colocar una inserción: el visitante termina el proceso en una pestaña normal del navegador, no dentro de tu página.
- Lista de espera — la inscripción se registra al instante; el correo lleva su posición y su enlace de referido personal
- Beta — el correo lleva el enlace de aceptación que le inscribe
- Contacto — el mensaje llega a tu bandeja de entrada al instante; el correo es su acuse de recibo y le permite ver tus respuestas
Las entradas de lista de espera creadas mediante una inserción se registran con
origen embed, así puedes distinguirlas de las inscripciones del portal en la
tabla de entradas y en las exportaciones CSV.
Qué ven los visitantes
La inserción muestra solo el formulario, sin cabecera, pie ni navegación del portal. Toma el color de marca de tu proyecto, así que hereda tu color de acento sin ningún trabajo de estilos por tu parte.
Las páginas insertadas no se indexan en buscadores; las páginas públicas de tu portal son las versiones canónicas e indexables.
Fragmento antiguo de la lista de espera
Antes de que existiera el cargador por script, la inserción de la lista de
espera era un iframe simple apuntando a /waitlist/embed:
<iframe src="https://acme.supdesk.app/waitlist/embed" width="100%" height="360"
style="border:0" title="Lista de espera"></iframe>Sigue funcionando: no necesitas cambiar nada. Sustituirlo por el fragmento
actual te da el ajuste automático de altura; la height fija del iframe antiguo
es su único inconveniente real.