Sign In
Sign In
  1. Home
  2. APIs
  3. API de conformidade de dados
  4. Assinatura de autenticidade da solicitação
APIs
37 articles
WhatsApp Push v1.03
Transfert d’agent v1.04
API de conformidade de dados4
Introdução
Assinatura de autenticidade da solicitação
Eliminação de dados
Exportação de dados
API JavaScript do widget4
Message Trigger v1.12
Messaging v1.14

Assinatura de autenticidade da solicitação

Gere o cabeçalho X-Mindsay-Signature HMAC-SHA256 a partir do carimbo de data/hora e do corpo para validar a autenticidade da solicitação à API.

Updated on 24 de setembro de 2026

O Laiye Chatbot verifica a existência e a validade do X-Mindsay-Signature cabeçalho HTTP para validar a autenticidade da solicitação. Para isso, o Laiye Chatbot e seu parceiro compartilham uma chave secreta (configurada durante a integração).

O parceiro do Laiye Chatbot deve gerar uma assinatura ao solicitar a API. A API do Laiye tenta gerar a mesma assinatura do seu lado e verifica se ela corresponde à assinatura fornecida no X-Mindsay-Signature cabeçalho HTTP.

Para evitar ataques de repetição, a API do Laiye também valida se o X-Mindsay-Timestamp não está muito distante no passado (tolerância de 5 minutos).

Veja como gerar a assinatura:

  1. Concatene o valor no cabeçalho X-Mindsay-Timestamp com o corpo da solicitação

  2. Calcule o hash hexadecimal desta string usando o algoritmo padrão HMAC-SHA256 e a chave secreta compartilhada

Exemplo

text
X-Mindsay-Timestamp:
1575215418

Body:
{"unique_chatter_identifier_key": "member_id", "unique_chatter_identifier_value": "123"}

Secret:
a_secure_secret

Concatenated value:
1575215418{"unique_chatter_identifier_key": "member_id", "unique_chatter_identifier_value": "123"}

Computed HMAC:
acee24dc55838d04dbd879967dffda464f843799a9e6b14c97d9a2b908de6d85

Isso pode ser gerado da seguinte forma:

JavaScript
const requestData = pm.request.body.raw;
const secretKey = "your-secret-key";
const timestamp = Math.floor(Date.now() / 1000).toString();
const signature = calculateSignature(secretKey, timestamp, requestData);

pm.request.headers.add({
  key: 'X-Mindsay-Signature',
  value: signature
});
pm.request.headers.add({
    key: "X-Mindsay-Timestamp",
    value: timestamp
})

function calculateSignature(secretKey, timestamp, rawBody) {
  const CryptoJS = require('crypto-js');
  const hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, secretKey);
  hmac.update(CryptoJS.enc.Utf8.parse(timestamp.toString()));
  hmac.update(CryptoJS.enc.Utf8.parse(rawBody));
  return hmac.finalize().toString(CryptoJS.enc.Hex);

Você pode copiar e colar este trecho em uma solicitação do Postman como um script de pré-solicitação

Was this article helpful?

Made from France 💙

Categories

  • ANÁLISE
  • CONSTRUIR
  • LOUIS AI
  • INTEGRAR

🔗 Useful Links

  • Sign In
  • Website
  • Terms & Conditions

© 2026

MindsayPowered by Mindsay

Search the help center…

Search help center articles