Daten direkt in Umfrage-Links einbetten

Prozessübersicht

  1. Personalisierte Links für einen Kanal aktivieren
  2. Signierten Payload mit einer Standard-jwt-Bibliothek unter Verwendung des Shared Secret aus dem vorherigen Schritt generieren
  3. Den Token als payload-Parameter an den Umfrage-Link anhängen

Token-Format

Wenn der Payload ein Feld namens id enthält, wird dies als eindeutiger Identifikator für die Antwort betrachtet.

Zum Beispiel:

  • Wenn auf Bestell-ID gesetzt - dann kann mit diesem Payload nur eine Antwort für eine einzelne Umfrage- und Bestellkombination erstellt werden.
  • Wenn die ID auf Benutzer-ID gesetzt wird - dann kann der Benutzer die Umfrage nur einmal ausfüllen.
  • In der Admin-Oberfläche generieren wir immer eine eindeutige ID - das bedeutet, dass der Benutzer mit demselben Link nur einmal antworten kann.

Code-Beispiel:

import jwt from "jsonwebtoken";

const secret = "SHARED SECRET"; // Von der Seite "Kanäle teilen"
const data = {
    id: "123456",
    // Zusätzliche Attribute werden zum Kontext für die Umfrage
    data: "example",
};

// Dies ist Server-Code. Fügen Sie das SHARED SECRET nicht in den Client-seitigen Code ein.
const payload = jwt.sign(data, secret, { expiresIn: "1h" });

// VERWENDUNG
// https://youropinion.is/snap/xxx/c/yyy?payload=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
//      eyJpZCI6IjEyMzQ1Njc4OTAiLCJhZG1pbiI6dHJ1ZSwiaWF0IjoxNTE2MjM5MDIyfQ.
//      mIatWmJPRz4-NU7KWcjuOKNnfWUeLPqYhHb-R7FYunE