Sign In
Sign In
  1. Accueil
  2. API
  3. Data Compliance API
  4. Signature d'authenticité des requêtes
API
37 articles
WhatsApp Push v1.03
Agent Handover v1.04
Data Compliance API4
Introduction
Signature d'authenticité des requêtes
Suppression des données
Export des données
Widget Javascript API4
Message Trigger v1.12
Messaging v1.14

Signature d'authenticité des requêtes

Générez l'en-tête HMAC-SHA256 X-Mindsay-Signature à partir de l'horodatage et du corps de la requête pour valider l'authenticité des requêtes d'API.

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 tente de générer la même signature de son côté et vérifie qu'elle correspond à celle fournie dans l'en-tête HTTP X-Mindsay-Signature.

Pour empêcher les attaques par rejeu, l'API Laiye vérifie également 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 l'empreinte hexadécimale de cette chaîne à l'aide de l'algorithme standard HMAC-SHA256 et de la clé secrète partagée

Exemple

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

Elle peut être générée de la façon suivante :

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

Vous pouvez copier-coller cet extrait dans une requête Postman en tant que Pre-request script

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