Nach einer Anmeldung
Die Seite Nach dem Absenden eines Formulars legt fest, was passiert, wenn sich jemand anmeldet: die Dankesnachricht oder eine andere Seite, die E-Mails, der Newsletter, ein Kundenkonto und der Webhook an ein anderes System. Alles außer der Dankesnachricht ist aus, bis Sie es einschalten.

- Die Sprach-Tabs, für die Dankesnachricht und die E-Mail-Texte.
- Vielen Dank: was der Besucher nach dem Senden sieht, die Datenschutzseite, das Zurücksetzen des Kiosks und die Dublettenprüfung.
- E-Mails: die Bestätigungs-E-Mail an den Besucher.
- Tägliche Zusammenfassung: die Zusammenfassung per E-Mail an Ihr Team (Die tägliche Zusammenfassung).
- Optionen: der Newsletter und das Kundenkonto.
- Webhook: die Anmeldungen, die an ein anderes System gesendet werden.
Eine Schaltfläche Speichern unten speichert die ganze Seite. Der Besucher erhält zuerst die Antwort; die E-Mails, die Optionen und der Webhook laufen direkt danach, jeweils für sich. Schlägt einer davon fehl, sieht der Besucher nie einen Fehler: Der Fehler wird unter Erweiterte Einstellungen › Log-Dateien in einer Zeile protokolliert, die mit pchscansign beginnt.
Vielen Dank
| Einstellung | Was sie bewirkt |
|---|---|
| Nach dem Senden | Nachricht anzeigen ersetzt das Formular durch die Dankesnachricht. Andere Seite öffnen öffnet die Adresse, die Sie eingeben, zum Beispiel eine Seite mit einem Rabattcode. Ein Kiosk zeigt immer die Nachricht. |
| Dankesnachricht | Der Text, der nach einer erfolgreichen Anmeldung angezeigt wird, pro Sprache. Sagen Sie den Leuten, wie es weitergeht, zum Beispiel „Wir rufen Sie innerhalb von zwei Tagen an.“ |
| Zu öffnende Seite | Die vollständige Adresse, beginnend mit https://. Die UTM-Werte der Anmeldung werden angehängt, sodass Ihre Webanalyse den Besuch der Veranstaltung zurechnet (Tracking mit UTM-Werten). |
| Seite der Datenschutzerklärung | Eine CMS-Seite Ihres Shops, die unter dem Formular verlinkt wird (standardmäßig Keine). Der Kiosk öffnet sie in einem Fenster über dem Formular. Wählen Sie Ihre Datenschutzerklärung, sobald das Formular personenbezogene Daten abfragt. |
| Kiosk zurücksetzen nach | Wie viele Sekunden der Kiosk die Dankesnachricht zeigt, bevor ein leeres Formular erscheint, von 3 bis 120. Nach der Installation 8 Sekunden. |
| Dublettenprüfung | Eine zweite Anmeldung mit derselben E-Mail-Adresse innerhalb von 24 Stunden erhält einen Dank, wird aber weder erneut gespeichert noch erneut gezählt. Bei neuen Formularen eingeschaltet (Allgemein); schalten Sie sie aus, wenn eine Person mehrere Personen mit derselben Adresse anmelden darf. Sie braucht ein Feld, das als E-Mail-Adresse verwendet wird. |
Die Bestätigungs-E-Mail
Der Besucher kann direkt nach der Anmeldung eine Kopie seiner Antworten erhalten. Schalten Sie Bestätigungs-E-Mail in der Karte E-Mails ein; die Option braucht ein Feld mit der Verwendung E-Mail-Adresse der Person.
| Einstellung | Was sie bewirkt |
|---|---|
| E-Mail-Betreff | Der Betreff, pro Sprache. {form_title} wird zum Titel des Formulars. Nach der Installation: „Ihre Anmeldung: {form_title}“. |
| E-Mail-Text | Der Text über den Antworten, pro Sprache: die nächsten Schritte, das Datum einer Veranstaltung, ein Ansprechpartner. Nach der Installation: „Vielen Dank für Ihre Anmeldung. Hier ist eine Kopie Ihrer Antworten.“ |

Die E-Mail enthält Logo und Namen Ihres Shops, den Titel des Formulars, Ihren Text, die Antworten mit den Fragen so, wie sie gestellt wurden, die Schaltflächenfarbe des Formulars als Akzent und eine Zeile, die sagt, warum die Person sie erhält. Sie ist in der Sprache des Links verfasst, den die Person verwendet hat, und wird über die E-Mail-Einstellungen Ihres Shops versendet.
Zum Newsletter hinzufügen
Zum Newsletter hinzufügen trägt die Personen in den Newsletter ein, die das Kästchen für die Newsletter-Einwilligung ankreuzen. Die Option braucht ein E-Mail-Feld und ein Kontrollkästchen mit der Verwendung Newsletter-Einwilligung. Für jede Anmeldung mit angekreuztem Kästchen gilt:
- Hat ein Kunde des Shops diese E-Mail-Adresse, wird sein Kundenkonto für den Newsletter eingetragen.
- Andernfalls wird die Adresse zu den Abonnenten des PrestaShop-Moduls Newsletter-Anmeldung (
ps_emailsubscription) hinzugefügt, wenn dieses Modul installiert und aktiv ist.
Ein Kundenkonto anlegen
Kundenkonto anlegen legt ein Kundenkonto für Personen an, die noch keines haben. Die Option braucht Felder mit den Verwendungen E-Mail-Adresse, Vorname und Nachname.
- Hat kein registrierter Kunde des Shops diese E-Mail-Adresse, legt das Modul ein aktives Konto in der Standard-Kundengruppe des Shops an, mit Vor- und Nachnamen und für den Newsletter eingetragen, wenn das Kästchen für die Newsletter-Einwilligung angekreuzt wurde.
- Das Konto erhält ein zufälliges Passwort, das niemand kennt, und die Person erhält eine E-Mail „Ihr Konto bei …“ mit einem Link, um ein Passwort zu wählen. Ist der Link abgelaufen, nutzt die Person „Passwort vergessen?“ auf der Login-Seite.
- Ein bestehender Kunde bleibt unverändert. Ein Name, den PrestaShop nicht als Kundennamen akzeptiert (zum Beispiel mit Ziffern), führt zu keinem Konto.
Webhook
Ein Webhook sendet jede Anmeldung bei ihrem Eingang an ein anderes System: ein CRM, Zapier, Make, n8n oder Ihr eigenes Skript.
- Geben Sie in der Karte Webhook die Adresse ein, die Ihnen das empfangende System genannt hat. Sie muss mit
https://beginnen: Die Daten sind personenbezogen, daher werden unverschlüsselte Adressen abgelehnt. - Klicken Sie auf Speichern. Mit der ersten Adresse wird ein Geheimschlüssel erzeugt. Zeigen Sie ihn mit Anzeigen an, kopieren Sie ihn mit Kopieren und tragen Sie ihn im empfangenden System ein, damit es die Signatur prüfen kann.
- Klicken Sie auf Test-Anmeldung senden. Das Modul sendet eine Beispiel-Anmeldung dieses Formulars, mit seinen aktuellen Feldern und erfundenen Werten, und zeigt den HTTP-Status, mit dem das empfangende System geantwortet hat.
Nach jeder Anmeldung sendet das Modul ein JSON-Dokument per POST an die Adresse und wartet höchstens fünf Sekunden auf die Antwort. Ein Status von 200 bis 299 gilt als zugestellt. Einer Weiterleitung wird nicht gefolgt (geben Sie die endgültige Adresse ein), und Adressen in privaten Netzwerken werden abgelehnt. Eine fehlgeschlagene Zustellung wird nicht wiederholt; die Karte zeigt Letzte Antwort, Letzter Fehler und Fehler in Folge, und die Checkliste warnt vor Fehlern der letzten sieben Tage. Beim Speichern einen neuen Geheimschlüssel erzeugen ersetzt den Geheimschlüssel, falls er versehentlich weitergegeben wurde: Aktualisieren Sie dann auch das empfangende System.
Das Dokument sieht so aus (die Felder sind die Ihres Formulars):
{
"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"}
}
valueist die Antwort so, wie die Person sie gesehen hat: bei einer Auswahlliste die Beschriftung der gewählten Option, bei einem Kontrollkästchen Ja oder Nein in der Sprache des Links, bei den anderen Typen der Text.roleswiederholt die Antworten der Felder, die als E-Mail, Vorname, Nachname, Telefon und Firma verwendet werden, damit das empfangende System nicht von Ihren Fragen abhängt.submitted_atist der Zeitpunkt der Anmeldung in der Zeitzone des Shops.
Die Signatur prüfen
Jede Anfrage trägt den Header X-ScanSign-Signature: sha256=, gefolgt vom HMAC-SHA256 des unveränderten Body, berechnet mit dem Geheimschlüssel, in hexadezimaler Schreibweise. Der Header X-ScanSign-Event ist signup bei einer echten Anmeldung und test bei Test-Anmeldung senden. Das empfangende System berechnet denselben Wert aus dem empfangenen Body und lehnt die Anfrage ab, wenn die Werte voneinander abweichen. 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); // nicht von Ihrem Shop
exit;
}
$signup = json_decode($body, true);
In Node.js, mit dem unveränderten Body als 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));
Berechnen Sie die Signatur über den Body genau so, wie er empfangen wurde, vor jedem JSON-Parsing: Ein Body, der geparst und neu geschrieben wurde, stimmt nicht mehr überein.
Die tägliche Zusammenfassung
Wer die Interessenten zurückruft, braucht nicht eine E-Mail pro Anmeldung. Die tägliche Zusammenfassung schickt stattdessen eine E-Mail pro Tag: wie viele Personen sich am Vortag angemeldet haben, über welchen Link, was sie geantwortet haben, und einen Link zur Liste.
Einschalten
- Öffnen Sie die Seite Nach dem Absenden des Formulars.
- Schalten Sie in der Karte Tägliche Zusammenfassung die Option Tägliche Zusammenfassung ein.
- Geben Sie die Empfänger ein, durch Kommas getrennt, zum Beispiel
sales@example.com, anna@example.com. - Wählen Sie Senden ab: die Uhrzeit in der Zeitzone des Shops, ab der die Zusammenfassung versendet werden darf (nach der Installation 8:00 Uhr).
- Klicken Sie auf Speichern. Eine falsche Adresse wird abgelehnt und dabei genannt.
Jedes Formular hat seine eigene Zusammenfassung, eigene Empfänger und eine eigene Uhrzeit.
Was die Zusammenfassung enthält

- Das Formular, den Tag, die Anzahl der Anmeldungen und die Anzahl der Aufrufe.
- Nach Link: jeden Link mit Kanal, Kampagne, Aufrufen und Anmeldungen. Ein gelöschter Link behält seinen Namen, mit „(gelöscht)“.
- Nach Antwort: die Zählungen jeder Frage mit Auswahlliste oder Kontrollkästchen.
- Anmeldungen dieses Tages öffnen: ein Link zur Seite Anmeldungen des Formulars, gefiltert auf diesen Tag. Wenn das Backoffice Sie zum Einloggen auffordert oder seine Seite zu einem ungültigen Token zeigt, loggen Sie sich ein oder bestätigen Sie, und die Liste öffnet sich.
Die Zusammenfassung ist in der Standardsprache des Shops verfasst. Sie wird nur für einen Tag mit Anmeldungen versendet: An einem ruhigen Tag wird nichts gesendet.
Wann sie versendet wird
Die Zusammenfassung eines Tages wird am nächsten Tag ab der Uhrzeit unter Senden ab versendet, beim ersten dieser Anlässe:
- Jemand arbeitet im Backoffice. Das Modul prüft höchstens alle 15 Minuten, während Mitarbeiter arbeiten. Das braucht keine Einrichtung, aber an einem Tag, an dem niemand das Backoffice öffnet, wartet die Zusammenfassung.
- Die Cron-URL wird aufgerufen. Mit einem Cronjob alle 15 Minuten wird die Zusammenfassung zur gewählten Uhrzeit versendet (Geplante Aufgaben).
Eine Zusammenfassung wird nie von der Seite eines Besuchers aus versendet, sodass eine Anmeldung nie durch eine E-Mail verlangsamt wird. Wurden Tage verpasst, zum Beispiel an einem Wochenende ohne Backoffice, versendet der nächste Lauf die Zusammenfassung jedes verpassten Tages mit Anmeldungen, eine E-Mail pro Tag und höchstens sieben Tage pro Lauf. Eine versendete Zusammenfassung wird nicht erneut versendet, auch nicht mit Jetzt ausführen.
Die Statuszeile zeigt, wann die letzte Zusammenfassung lief, und die Checkliste warnt, wenn Zusammenfassungen fällig sind, aber 36 Stunden lang keine lief (Die Checkliste).