Intégrer des données directement dans les liens d’enquête

Processus de haut niveau

  1. Activez les Liens personnalisés pour un canal.
  2. Générez une charge utile signée avec la bibliothèque standard jwt en utilisant le secret partagé de l’étape précédente.
  3. Ajoutez le jeton en tant que paramètre payload au lien de l’enquête.

Format du jeton

Si la charge utile (payload) contient un champ nommé id, il sera considéré comme un identifiant unique pour la réponse.

Par exemple :

  • S’il est défini sur l’ID de la commande : cette charge utile ne permettra de créer qu’une seule réponse pour une combinaison enquête/commande unique.
  • S’il est défini sur l’ID de l’utilisateur : l’utilisateur ne pourra remplir l’enquête qu’une seule fois.
  • Dans l’interface d’administration, nous générons toujours un ID unique, ce qui signifie que l’utilisateur ne peut répondre qu’une seule fois avec le même lien.

Extrait de code :

import jwt from "jsonwebtoken";

const secret = "SECRET PARTAGÉ"; // Depuis la page des canaux de partage
const data = {
    id: "123456",
    // tout attribut supplémentaire deviendra le contexte de l'enquête
    data: "exemple",
};

// Ceci est du code côté serveur. Ne mettez pas le SECRET PARTAGÉ dans le code côté client.
const payload = jwt.sign(data, secret, { expiresIn: "1h" });

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