Sign In
Sign In
  1. Accueil
  2. API
  3. Lancer votre campagne WhatsApp Push
  4. Signature d'authenticité des requêtes
API
37 articles
WhatsApp Push v1.03
Introduction
Lancer votre campagne WhatsApp Push3
Signature d'authenticité des requêtes
Exemple 1 - Modèle avec une image et 2 boutons CTA
Exemple 2 - Modèle avec 2 boutons de Quick Reply
Webhooks
Agent Handover v1.04
Data Compliance API4
Widget Javascript API4
Message Trigger v1.12
Messaging v1.14

Signature d'authenticité des requêtes

Vérifie l'authenticité des requêtes push WhatsApp grâce à une signature HMAC-SHA256 dans l'en-tête X-Mindsay-Signature, avec une protection contre le rejeu fondée sur l'horodatage.

Mis à jour le 24 septembre 2026

Laiye Chatbot vérifie la présence et la validité de l'en-tête HTTP X-Mindsay-Signature afin de valider l'authenticité des requêtes. Pour cela, Laiye Chatbot et son partenaire partagent une clé secrète (définie lors de l'intégration).

Le partenaire de Laiye Chatbot doit générer une signature lorsqu'il appelle l'API. L'API Laiye génère la même signature de son côté et vérifie qu'elle correspond à celle transmise dans l'en-tête HTTP X-Mindsay-Signature.

Pour empêcher les attaques par rejeu, l'API Laiye vérifie aussi que la valeur de X-Mindsay-Timestamp n'est pas trop ancienne (tolérance de 5 minutes).

Voici comment générer la signature :

  1. Concaténez la valeur de l'en-tête X-Mindsay-Timestamp avec le corps de la requête

  2. Calculez le hachage hexadécimal de cette chaîne avec l'algorithme standard HMAC-SHA256 et la clé secrète partagée

Exemple

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

La signature peut être générée comme suit :

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

Cet article vous a-t-il aidé ?

Made from France 💙

Catégories

  • ANALYTIQUE
  • CONSTRUIRE
  • LOUIS AI
  • INTÉGRER

🔗 Useful Links

  • Sign In
  • Website
  • Terms & Conditions

© 2026

MindsayPropulsé par Mindsay

Rechercher dans le centre d’aide…

Rechercher des articles du centre d’aide