Incrustar datos directamente en los enlaces de la encuesta

Proceso general

  1. Habilita Enlaces personalizados para un canal.
  2. Genera un payload firmado con una librería jwt estándar utilizando el secreto compartido del paso anterior.
  3. Añade el token como parámetro payload al enlace de la encuesta.

Formato del token

Si el payload contiene un campo llamado id, este se considerará un identificador único para la respuesta.

Por ejemplo:

  • Si se establece como ID de pedido - entonces con este payload solo se puede crear una respuesta para una única combinación de encuesta y pedido.
  • Si se establece el ID como ID de usuario - entonces el usuario solo puede rellenar la encuesta una vez.
  • En la interfaz de administración siempre generamos un ID único, lo que significa que el usuario puede responder una vez con el mismo enlace.

Fragmento de código:

import jwt from "jsonwebtoken";

const secret = "SECRETO COMPARTIDO"; // De la página de canales para compartir
const data = {
    id: "123456",
    // cualquier atributo adicional se convertirá en contexto para la encuesta
    data: "example",
};

// Este es código del servidor. No pongas el SECRETO COMPARTIDO en el código del lado del cliente.
const payload = jwt.sign(data, secret, { expiresIn: "1h" });

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