Después de una inscripción
La página Tras el envío de un formulario decide qué ocurre cuando alguien se inscribe: el mensaje de agradecimiento u otra página, los correos, el boletín, una cuenta de cliente y el webhook hacia otro sistema. Todo, salvo el mensaje de agradecimiento, está desactivado hasta que usted lo active.

- Las pestañas de idioma, para el mensaje de agradecimiento y los textos de los correos.
- Gracias: lo que ve el visitante después del envío, la página de privacidad, el reinicio del quiosco y el control de duplicados.
- Correos electrónicos: el correo de confirmación al visitante.
- Resumen diario: el correo de resumen para su equipo (El resumen diario).
- Opciones: el boletín y la cuenta de cliente.
- Webhook: las inscripciones enviadas a otro sistema.
Un único botón Guardar, abajo, guarda toda la página. El visitante recibe primero la respuesta; los correos, las opciones y el webhook se ejecutan justo después, cada uno por su cuenta. Si uno de ellos falla, el visitante nunca ve un error: el fallo se anota en Parámetros Avanzados › Registros/Logs, en una línea que empieza por pchscansign.
Gracias
| Ajuste | Qué hace |
|---|---|
| Después de enviar | Mostrar un mensaje sustituye el formulario por el mensaje de agradecimiento. Abrir otra página abre la dirección que usted indique, por ejemplo una página con un código de descuento. Un quiosco siempre muestra el mensaje. |
| Mensaje de agradecimiento | El texto que se muestra tras una inscripción correcta, por idioma. Diga a la gente qué pasará después, por ejemplo «Le llamaremos en un plazo de dos días.» |
| Página que se abre | La dirección completa, empezando por https://. Se le añaden los valores UTM de la inscripción para que su herramienta de analítica atribuya la visita al evento (Seguimiento con valores UTM). |
| Página de política de privacidad | Una página CMS de su tienda, enlazada bajo el formulario (Ninguna por defecto). El quiosco la abre en una ventana sobre el formulario. Elija su política de privacidad siempre que el formulario pida datos personales. |
| Reinicio del quiosco | Cuántos segundos muestra el quiosco el mensaje de agradecimiento antes de un formulario en blanco, de 3 a 120. 8 segundos tras la instalación. |
| Control de duplicados | Una segunda inscripción con la misma dirección de correo electrónico en menos de 24 horas recibe el agradecimiento, pero no se vuelve a guardar ni a contar. Activado para los nuevos formularios (General); desactívelo cuando una persona pueda inscribir a varias personas con la misma dirección. Necesita un campo usado como dirección de correo electrónico. |
El correo de confirmación
El visitante puede recibir una copia de sus respuestas justo después de inscribirse. Active Correo de confirmación en la tarjeta Correos electrónicos; necesita un campo usado como Dirección de correo electrónico de la persona.
| Ajuste | Qué hace |
|---|---|
| Asunto del correo | El asunto, por idioma. {form_title} se convierte en el título del formulario. Tras la instalación: «Su inscripción: {form_title}». |
| Texto del correo | El texto que va encima de las respuestas, por idioma: los próximos pasos, la fecha de un evento, un contacto. Tras la instalación: «Gracias por inscribirse. Aquí tiene una copia de sus respuestas.» |

El correo lleva el logotipo y el nombre de su tienda, el título del formulario, su texto, las respuestas con las preguntas tal como se hicieron, el color del botón del formulario como color de énfasis y una línea que explica por qué la persona lo recibe. Se redacta en el idioma del enlace que usó la persona y sale con la configuración de correo de su tienda.
Añadir al boletín
Añadir al boletín de noticias suscribe a las personas que marcan la casilla de consentimiento del boletín. Necesita un campo de correo electrónico y una casilla usada como Consentimiento del boletín. Para cada inscripción con la casilla marcada:
- Si un cliente de la tienda tiene esa dirección de correo electrónico, la cuenta del cliente se suscribe al boletín.
- Si no, la dirección se añade a los suscriptores del módulo Suscripción a nuestro boletín de noticias de PrestaShop (
ps_emailsubscription), cuando ese módulo está instalado y activo.
Crear una cuenta de cliente
Crear cliente crea una cuenta de cliente para las personas que no tienen ninguna. Necesita campos usados como dirección de correo electrónico, nombre y apellidos.
- Cuando ningún cliente registrado de la tienda tiene esa dirección de correo electrónico, el módulo crea una cuenta activa en el grupo de clientes predeterminado de la tienda, con el nombre y los apellidos, y suscrita al boletín si se marcó la casilla de consentimiento del boletín.
- La cuenta recibe una contraseña aleatoria que nadie conoce, y la persona recibe un correo «Su cuenta en …» con un enlace para elegir una contraseña. Cuando el enlace ha caducado, la persona usa «¿Olvidó su contraseña?» en la página de inicio de sesión.
- Un cliente existente se deja como está. Un nombre que PrestaShop no acepta como nombre de cliente (con cifras, por ejemplo) no crea ninguna cuenta.
Webhook
Un webhook envía cada inscripción a otro sistema en cuanto llega: un CRM, Zapier, Make, n8n o su propio script.
- En la tarjeta Webhook, escriba la Dirección que le dio el sistema receptor. Debe empezar por
https://: los datos son personales, así que se rechazan las direcciones sin cifrar. - Haga clic en Guardar. Con la primera dirección se crea una Clave secreta. Muéstrela con Mostrar, cópiela con Copiar e introdúzcala en el sistema receptor para que pueda comprobar la firma.
- Haga clic en Enviar una inscripción de prueba. El módulo envía una inscripción de ejemplo de este formulario, con sus campos actuales y valores inventados, y muestra el código de estado HTTP con el que respondió el sistema receptor.
Después de cada inscripción, el módulo envía por POST un documento JSON a la dirección y espera la respuesta como máximo cinco segundos. Un estado de 200 a 299 cuenta como entregado. No se sigue una redirección (escriba la dirección final), y se rechazan las direcciones de redes privadas. Una entrega fallida no se vuelve a intentar; la tarjeta muestra Última respuesta, Último fallo y Fallos seguidos, y la lista de comprobación avisa de los fallos de los últimos siete días. Generar una nueva clave secreta al guardar sustituye la clave secreta, si se compartió por error: actualice entonces también el sistema receptor.
El documento tiene este aspecto (los campos son los de su formulario):
{
"module": "pchscansign",
"version": "1.0.0",
"form": {"id": 1, "title": "Green Building Expo 2026"},
"link": {"code": "K7M2P9XW", "name": "Stand B12 - poster QR", "channel": "qr"},
"lang": "en",
"submitted_at": "2026-10-23T11:42:05+02:00",
"fields": [
{"id": 11, "label": "First name", "role": "firstname", "value": "Anna"},
{"id": 13, "label": "Email", "role": "email", "value": "anna@example.com"},
{"id": 16, "label": "What do you do?", "role": "none", "value": "Installer"},
{"id": 19, "label": "Keep me informed by email", "role": "newsletter_consent", "value": "Yes"}
],
"roles": {"email": "anna@example.com", "firstname": "Anna", "lastname": "Berg",
"phone": "", "company": ""},
"utm": {"source": "scansign", "medium": "qr", "campaign": "green-building-expo-2026"}
}
valuees la respuesta tal como la vio la persona: la etiqueta de la opción elegida en una lista desplegable, sí o no en el idioma del enlace en una casilla de verificación, el texto en los demás tipos.rolesrepite las respuestas de los campos usados como correo electrónico, nombre, apellidos, teléfono y empresa, para que el sistema receptor no dependa de sus preguntas.submitted_ates la hora de la inscripción en la zona horaria de la tienda.
Comprobar la firma
Cada petición lleva la cabecera X-ScanSign-Signature: sha256= seguido del HMAC-SHA256 del cuerpo sin procesar, calculado con la clave secreta, en hexadecimal. La cabecera X-ScanSign-Event vale signup para una inscripción real y test para Enviar una inscripción de prueba. El sistema receptor calcula el mismo valor a partir del cuerpo que recibió y rechaza la petición cuando no coinciden. En PHP:
$body = file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $body, $secret);
$given = isset($_SERVER['HTTP_X_SCANSIGN_SIGNATURE']) ? $_SERVER['HTTP_X_SCANSIGN_SIGNATURE'] : '';
if (!hash_equals($expected, $given)) {
http_response_code(401); // no viene de su tienda
exit;
}
$signup = json_decode($body, true);
En Node.js, con el cuerpo sin procesar como Buffer:
const crypto = require('crypto');
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
const given = req.get('X-ScanSign-Signature') || '';
const valid = given.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(given), Buffer.from(expected));
Calcule la firma sobre el cuerpo exactamente tal como se recibió, antes de analizar el JSON: un cuerpo que se ha analizado y vuelto a escribir ya no coincide.
El resumen diario
Las personas que después llaman a los contactos no necesitan un correo por inscripción. El resumen diario les envía, en su lugar, un correo al día: cuántas personas se inscribieron el día anterior, a través de qué enlace, qué respondieron, y un enlace a la lista.
Activarlo
- Abra la página Tras el envío del formulario.
- En la tarjeta Resumen diario, active Resumen diario.
- Escriba los Destinatarios, separados por comas, por ejemplo
sales@example.com, anna@example.com. - Elija Enviar a partir de: la hora, en la zona horaria de la tienda, a partir de la cual puede salir el resumen (las 8:00 tras la instalación).
- Haga clic en Guardar. Una dirección incorrecta se rechaza, indicando cuál es.
Cada formulario tiene su propio resumen, sus propios destinatarios y su propia hora.
Qué contiene el resumen

- El formulario, el día, el número de inscripciones y el número de aperturas.
- Por enlace: cada enlace con su canal, campaña, aperturas e inscripciones. Un enlace eliminado conserva su nombre, con «(eliminado)».
- Por respuesta: los recuentos de cada pregunta de lista desplegable y de casilla de verificación.
- Abrir las inscripciones de este día: un enlace a la página Inscripciones del formulario, filtrada por ese día. Si el back office le pide que inicie sesión, o muestra su página sobre un token no válido, inicie sesión o confirme, y se abre la lista.
El resumen se redacta en el idioma predeterminado de la tienda. Solo se envía para un día que tuvo inscripciones: un día sin actividad no envía nada.
Cuándo sale
El resumen de un día sale al día siguiente, a partir de la hora de Enviar a partir de, en el primero de estos momentos:
- Alguien usa el back office. El módulo lo comprueba como máximo cada 15 minutos mientras los empleados trabajan. No requiere ninguna configuración, pero un día en que nadie abre el back office, el resumen espera.
- Se llama a la dirección del cron. Con una tarea cron cada 15 minutos, el resumen sale a la hora que eligió (Tareas programadas).
Un resumen nunca se envía desde la página de un visitante, así que un correo nunca ralentiza una inscripción. Cuando se han saltado días, por ejemplo un fin de semana sin back office, la siguiente ejecución envía el resumen de cada día saltado que tuvo inscripciones, un correo por día y como máximo siete días por ejecución. Un resumen que ya se envió no se vuelve a enviar, tampoco con Ejecutar ahora.
La línea de estado muestra cuándo se ejecutó el último resumen, y la lista de comprobación avisa cuando hay resúmenes pendientes pero no se ha ejecutado ninguno en 36 horas (La lista de comprobación).