Sign In
Sign In
  1. Home
  2. APIs
  3. Lance sua campanha de Push do WhatsApp
  4. Assinatura de autenticidade da solicitação
APIs
37 articles
WhatsApp Push v1.03
Introdução
Lance sua campanha de Push do WhatsApp3
Assinatura de autenticidade da solicitação
Exemplo 1 - Modelo com imagem e 2 botões de CTA
Exemplo 2 - Modelo com 2 botões de resposta rápida
Webhooks
Transfert d’agent v1.04
API de conformidade de dados4
API JavaScript do widget4
Message Trigger v1.12
Messaging v1.14

Assinatura de autenticidade da solicitação

Valide a autenticidade da solicitação push do WhatsApp usando uma assinatura HMAC-SHA256 no cabeçalho X-Mindsay-Signature, com proteção contra repetição por meio de um registro de data e hora.

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:
[{"template": {"components": [{"type": "body", "parameters": []}], "language": {"code": "en"}, "name": "hello_from_laiye"}, "to": "33xxxxxxxx1"}]

Secret:
a_secure_secret

Concatenated value:
1575215418[{"template": {"components": [{"type": "body", "parameters": []}], "language": {"code": "en"}, "name": "hello_from_laiye"}, "to": "33xxxxxxxx1"}]

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);

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