Incrustar datos directamente en los enlaces de la encuesta
Proceso general
- Habilita
Enlaces personalizadospara un canal. - Genera un payload firmado con una librería
jwtestándar utilizando elsecreto compartidodel paso anterior. - Añade el
tokencomo parámetropayloadal 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