Dopo un’iscrizione
La pagina Dopo l’invio di un form decide cosa succede quando qualcuno si iscrive: il messaggio di ringraziamento o un’altra pagina, le email, la newsletter, un account cliente e il webhook verso un altro sistema. Tutto, tranne il messaggio di ringraziamento, resta disattivato finché non lo attivi.

- I pulsanti delle lingue, per il messaggio di ringraziamento e i testi delle email.
- Ringraziamento: cosa vede il visitatore dopo l’invio, la pagina della privacy, il ripristino del chiosco e il controllo duplicati.
- Email: l’email di conferma al visitatore.
- Riepilogo giornaliero: l’email di riepilogo per il tuo team (Il riepilogo giornaliero).
- Opzioni: la newsletter e l’account cliente.
- Webhook: le iscrizioni inviate a un altro sistema.
Un unico pulsante Salva in fondo salva l’intera pagina. Il visitatore riceve prima la risposta; le email, le opzioni e il webhook vengono eseguiti subito dopo, ciascuno per conto proprio. Se uno di essi non va a buon fine, il visitatore non vede mai un errore: l’errore viene scritto in Parametri Avanzati › Logs, in una riga che inizia con pchscansign.
Ringraziamento
| Impostazione | Cosa fa |
|---|---|
| A invio completato | Mostra un messaggio sostituisce il form con il messaggio di ringraziamento. Apri un’altra pagina apre l’indirizzo che inserisci, per esempio una pagina con un codice sconto. Un chiosco mostra sempre il messaggio. |
| Messaggio di ringraziamento | Il testo mostrato dopo un’iscrizione riuscita, per lingua. Di’ alle persone cosa succede dopo, per esempio «Ti chiameremo entro due giorni.» |
| Pagina da aprire | L’indirizzo completo, che inizia con https://. I valori UTM dell’iscrizione vengono aggiunti all’indirizzo, così i tuoi strumenti di analisi attribuiscono la visita all’evento (Tracciamento con i valori UTM). |
| Pagina dell’informativa sulla privacy | Una pagina CMS del tuo negozio, collegata sotto il form (Nessuna per impostazione predefinita). Il chiosco la apre in una finestra sopra il form. Scegli la tua informativa sulla privacy ogni volta che il form chiede dati personali. |
| Ripristino del chiosco | Per quanti secondi il chiosco mostra il messaggio di ringraziamento prima di un form vuoto, da 3 a 120. 8 secondi dopo l’installazione. |
| Controllo duplicati | Una seconda iscrizione con lo stesso indirizzo email entro 24 ore riceve il ringraziamento ma non viene salvata di nuovo, né conteggiata di nuovo. Attivo per i nuovi form (Generale); disattivalo quando una persona può iscrivere più persone con lo stesso indirizzo. Richiede un campo usato come indirizzo email. |
L’email di conferma
Il visitatore può ricevere una copia delle risposte subito dopo l’iscrizione. Attiva Email di conferma nella scheda Email; richiede un campo usato come Indirizzo email della persona.
| Impostazione | Cosa fa |
|---|---|
| Oggetto dell’email | L’oggetto, per lingua. {form_title} diventa il titolo del form. Dopo l’installazione: «La tua iscrizione: {form_title}». |
| Testo dell’email | Il testo sopra le risposte, per lingua: i prossimi passi, la data di un evento, un contatto. Dopo l’installazione: «Grazie per l’iscrizione. Ecco una copia delle tue risposte.» |

L’email contiene il logo e il nome del tuo negozio, il titolo del form, il tuo testo, le risposte con le domande così come erano state poste, il colore del pulsante del form come colore di accento e una riga che spiega perché la persona la riceve. È scritta nella lingua del link usato dalla persona e parte tramite le impostazioni email del tuo negozio.
Iscrivere alla newsletter
Iscrivi alla newsletter iscrive le persone che spuntano la casella del consenso newsletter. Richiede un campo email e una casella di spunta usata come Consenso newsletter. Per ogni iscrizione con la casella spuntata:
- Se un cliente del negozio ha quell’indirizzo email, il suo account cliente viene iscritto alla newsletter.
- Altrimenti l’indirizzo viene aggiunto agli iscritti del modulo Iscrizione Newsletter di PrestaShop (
ps_emailsubscription), se quel modulo è installato e attivo.
Creare un account cliente
Crea cliente crea un account cliente per le persone che non ne hanno uno. Richiede campi usati come indirizzo email, nome e cognome.
- Quando nessun cliente registrato del negozio ha quell’indirizzo email, il modulo crea un account attivo nel gruppo clienti predefinito del negozio, con nome e cognome, iscritto alla newsletter se la casella del consenso newsletter è stata spuntata.
- L’account riceve una password casuale che nessuno conosce, e la persona riceve un’email «Il tuo account su …» con un link per scegliere una password. Quando il link è scaduto, la persona usa «Hai dimenticato la password?» nella pagina di accesso.
- Un cliente esistente resta com’è. Un nome che PrestaShop non accetta come nome cliente (per esempio con delle cifre) non crea alcun account.
Webhook
Un webhook invia ogni iscrizione a un altro sistema appena arriva: un CRM, Zapier, Make, n8n o un tuo script.
- Nella scheda Webhook, inserisci l’Indirizzo che ti ha fornito il sistema ricevente. Deve iniziare con
https://: i dati sono personali, quindi gli indirizzi non cifrati vengono rifiutati. - Fai clic su Salva. Con il primo indirizzo viene creata una Chiave segreta. Usa Mostra e Copia e inseriscila nel sistema ricevente, così potrà verificare la firma.
- Fai clic su Invia un’iscrizione di prova. Il modulo invia un’iscrizione di esempio di questo form, con i suoi campi attuali e valori inventati, e mostra lo stato HTTP con cui ha risposto il sistema ricevente.
Dopo ogni iscrizione il modulo invia un documento JSON all’indirizzo e attende la risposta al massimo cinque secondi. Uno stato da 200 a 299 vale come consegnato. Un reindirizzamento non viene seguito (inserisci l’indirizzo finale), e gli indirizzi all’interno di reti private vengono rifiutati. Una consegna non riuscita non viene ritentata; la scheda mostra Ultima risposta, Ultimo errore ed Errori consecutivi, e la lista di controllo avvisa degli errori degli ultimi sette giorni. Crea una nuova chiave segreta al salvataggio sostituisce la chiave segreta, se è stata condivisa per errore: in tal caso aggiorna anche il sistema ricevente.
Il documento ha questo aspetto (i campi sono quelli del tuo form):
{
"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"}
}
valueè la risposta come la vedeva la persona: l’etichetta dell’opzione scelta per un menu a tendina, sì o no nella lingua del link per una casella di spunta, il testo per gli altri tipi.rolesripete le risposte dei campi usati come email, nome, cognome, telefono e azienda, così il sistema ricevente non dipende dalle tue domande.submitted_atè l’ora dell’iscrizione nel fuso orario del negozio.
Verificare la firma
Ogni richiesta contiene l’intestazione X-ScanSign-Signature: sha256= seguito dall’HMAC-SHA256 del corpo grezzo, calcolato con la chiave segreta, in esadecimale. L’intestazione X-ScanSign-Event vale signup per un’iscrizione reale e test per Invia un’iscrizione di prova. Il sistema ricevente calcola lo stesso valore dal corpo ricevuto e rifiuta la richiesta quando i due valori sono diversi. In 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); // non proviene dal tuo negozio
exit;
}
$signup = json_decode($body, true);
In Node.js, con il corpo grezzo come 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));
Calcola la firma sul corpo esattamente come è stato ricevuto, prima di qualsiasi analisi del JSON: un corpo analizzato e poi riscritto non corrisponde più.
Il riepilogo giornaliero
Le persone che richiamano i contatti non hanno bisogno di un’email per ogni iscrizione. Il riepilogo giornaliero invia loro invece un’email al giorno: quante persone si sono iscritte il giorno prima, tramite quale link, cosa hanno risposto e un link all’elenco.
Attivarlo
- Apri la pagina Dopo l’invio del form.
- Nella scheda Riepilogo giornaliero, attiva Riepilogo giornaliero.
- Inserisci i Destinatari, separati da virgole, per esempio
sales@example.com, anna@example.com. - Scegli Invia a partire dalle: l’ora, nel fuso orario del negozio, a partire dalla quale il riepilogo può partire (le 8:00 dopo l’installazione).
- Fai clic su Salva. Un indirizzo errato viene rifiutato e indicato nel messaggio.
Ogni form ha il proprio riepilogo, i propri destinatari e il proprio orario.
Cosa contiene il riepilogo

- Il form, il giorno, il numero di iscrizioni e il numero di aperture.
- Per link: ogni link con il suo canale, la campagna, le aperture e le iscrizioni. Un link eliminato conserva il suo nome, con «(eliminato)».
- Per risposta: i conteggi di ogni domanda con menu a tendina o casella di spunta.
- Apri le iscrizioni di questo giorno: un link alla pagina Iscrizioni del form, filtrata su quel giorno. Se il back office ti chiede di accedere, o mostra la sua pagina sul token non valido, accedi o conferma, e l’elenco si apre.
Il riepilogo è scritto nella lingua predefinita del negozio. Viene inviato solo per un giorno in cui ci sono state iscrizioni: un giorno tranquillo non invia nulla.
Quando parte
Il riepilogo di un giorno parte il giorno successivo, dall’ora di Invia a partire dalle, al primo di questi momenti:
- Qualcuno usa il back office. Il modulo controlla al massimo ogni 15 minuti, mentre i dipendenti lavorano. Non serve alcuna configurazione, ma in un giorno in cui nessuno apre il back office, il riepilogo attende.
- Viene chiamato l’indirizzo cron. Con un cron job ogni 15 minuti, il riepilogo parte all’ora che hai scelto (Attività pianificate).
Un riepilogo non viene mai inviato dalla pagina di un visitatore, così un’iscrizione non viene mai rallentata da un’email. Quando alcuni giorni sono stati saltati, per esempio in un fine settimana senza back office, l’esecuzione successiva invia il riepilogo di ogni giorno saltato in cui ci sono state iscrizioni, un’email per giorno e al massimo sette giorni per esecuzione. Un riepilogo già inviato non viene inviato di nuovo, nemmeno con Esegui ora.
La riga di stato mostra quando è stato eseguito l’ultimo riepilogo, e la lista di controllo avvisa quando ci sono riepiloghi da inviare ma nessuno è stato eseguito da 36 ore (La lista di controllo).