Incorpore dados diretamente nos links de pesquisa

Processo de alto nível

  1. Ative Links personalizados para um canal
  2. Gere um payload assinado com a biblioteca jwt padrão, usando o segredo partilhado do passo anterior
  3. Anexe o token como parâmetro payload ao link da pesquisa

Formato do token

Se o payload contiver um campo chamado id, este será considerado um identificador único para a resposta.

Por exemplo:

  • Se definido como ID do pedido - então, com este payload, apenas uma resposta pode ser criada para uma única combinação de pesquisa e pedido.
  • Se o ID for definido como ID do utilizador - então o utilizador pode preencher a pesquisa apenas uma vez.
  • na interface de administração, geramos sempre um ID único - isto significa que o utilizador pode responder apenas uma vez com o mesmo link.

Exemplo de código:

import jwt from "jsonwebtoken";

const secret = "SHARED SECRET"; // Da página de canais de partilha
const data = {
    id: "123456",
    // quaisquer atributos adicionais tornar-se-ão o contexto para a pesquisa
    data: "exemplo",
};

// Este é código do lado do servidor. Não coloque o SEGREDO PARTILHADO no código do lado do cliente.
const payload = jwt.sign(data, secret, { expiresIn: "1h" });

// UTILIZAÇÃO
// https://youropinion.is/snap/xxx/c/yyy?payload=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
//      eyJpZCI6IjEyMzQ1Njc4OTAiLCJhZG1pbiI6dHJ1ZSwiaWF0IjoxNTE2MjM5MDIyfQ.
//      mIatWmJPRz4-NU7KWcjuOKNnfWUeLPqYhHb-R7FYunE