Andmete manustamine otse küsitluse linkidesse

Ülevaatlik protsess

  1. Aktiveeri kanali jaoks Isikustatud lingid
  2. Genereeri allkirjastatud andmepakett standardse jwt teegi abil, kasutades eelmisest sammust saadud jagatud saladust
  3. Lisa token payload parameetrina küsitluse lingile

Tokeni formaat

Kui andmepakett sisaldab välja nimega id, siis seda käsitletakse vastuse unikaalse identifikaatorina.

Näiteks:

  • Kui selleks on tellimuse ID - siis sellise andmepaketiga saab luua ainult ühe vastuse ühe küsitluse ja tellimuse kombinatsiooni kohta.
  • Kui selleks on kasutaja ID - siis saab kasutaja küsitluse täita ainult üks kord.
  • Administraatori liideses genereerime alati unikaalse ID - see tähendab, et kasutaja saab sama lingiga vastata ainult üks kord.

Koodinäide:

import jwt from "jsonwebtoken";

const secret = "SHARED SECRET"; // Jagamiskanali lehelt
const data = {
    id: "123456",
    // kõik täiendavad atribuudid muutuvad küsitluse kontekstiks
    data: "example",
};

// See on serveripoolne kood. Ära pane SHARED SECRET kliendipoolsesse koodi.
const payload = jwt.sign(data, secret, { expiresIn: "1h" });

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