--- title: "Signature plenigo" slug: "plenigo-signatur-2" description: "Vérifiez les callbacks Frisbii Media avec la signature plenigo, l’HMAC-SHA256 et l’horodatage pour sécuriser les données reçues." updated: 2026-10-28T07:47:58Z published: 2026-10-28T07:47:58Z canonical: "help.frisbii.com/plenigo-signatur-2" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.frisbii.com/llms.txt > Use this file to discover all available pages before exploring further. # Signature plenigo ## Remarques préliminaires Chaque callback provenant du système Frisbii Media est doté d'une signature, qui se trouve dans l'en-tête, afin de garantir que l'appel provient d'une source fiable et n'a pas été manipulé. --- ## Vérifier la signature plenigo Chaque callback est signé via un en-tête de signature. Cet en-tête s'appelle plenigo-signature et se présente comme suit : `t=1729583536,s=fdcd0a0ccd0b4db629d35a33c3aada5cf669a28f91adb38abcc9ffcdb1663d38` L'en-tête contient deux éléments : un horodatage indiquant le moment où le callback a été généré (t) et un code d'authentification de message basé sur un hachage [(HMAC](https://en.wikipedia.org/wiki/HMAC)) avec [SHA-256](https://en.wikipedia.org/wiki/SHA-2) (s). Résumé : ```plaintext plenigo-signature: t=,s= ``` - **t** = horodatage Unix (secondes depuis l'epoch) - **s** = signature HMAC-SHA256 (encodée en hexadécimal) ### Comment créer la signature **Frisbii Media** calcule la signature selon les étapes suivantes : 1. Récupérer l'horodatage actuel sous forme de chaîne de caractères 2. Relier l'horodatage et les données brutes du corps par un point (`.`) 3. Générer un HMAC avec SHA256, en utilisant le secret de callback de **Frisbii Media** 4. Définir l'en-tête : ```plaintext plenigo-signature: t=timestamp,s=signature ``` Pour faciliter la logique spécifique au versioning, chaque requête de callback contient également l'en-tête HTTP : ```plaintext X-Plenigo Api version ``` ### Vérifier l'en-tête **Étape 1 : extraire les horodatages et les signatures de l'en-tête** Le contenu de l'en-tête peut être séparé avec le caractère « , » (virgule) pour obtenir une liste d'éléments. Chaque élément peut être divisé en une paire de données constituée d'un préfixe et d'une valeur en utilisant le caractère « = » (signe égal) comme séparateur. Valeurs des préfixes : - « t » = horodatage - « s » = une ou plusieurs signatures Tous les autres éléments peuvent être ignorés. **Étape 2 : préparer la chaîne « signed_payload »** La chaîne « signed_payload » est créée par une concaténation : - l'horodatage sous forme de chaîne - le caractère « . » (point) - la charge utile JSON réelle (c'est-à-dire le contenu de la requête) sous forme de chaîne **Étape 3 : déterminer la signature attendue** Un code d'authentification HMAC avec une fonction de hachage SHA256 est nécessaire. Le secret de signature du point de terminaison est utilisé comme clé et la chaîne de caractères « signed_payload » est utilisée comme message. **Étape 4 : comparer les signatures** La signature (ou les signatures) figurant dans l'en-tête doit être comparée à la signature attendue. Pour la comparaison, vous devez calculer la différence entre l'horodatage actuel et l'horodatage reçu afin de décider si cette différence se situe dans une tolérance acceptable. > [!NOTE] > Remarque > > Si l'horodatage remonte trop loin dans le passé, nous vous recommandons de ne plus utiliser ce callback pour le traitement des données, car cela peut entraîner une incohérence des données, en particulier pour les données clients. Voici un exemple de traitement du callback reçu : ![](https://cdn.document360.io/b84e1b5d-2ba6-4465-8c62-fb45a2f31314/Images/Documentation/2b80f94a-c666-4812-aec5-90b21e3ca688?sv=2026-02-06&spr=https&st=2026-11-10T07%3A02%3A38Z&se=2026-11-10T08%3A02%3A38Z&sr=c&sp=r&sig=5tLPZZcDrE6a8ROwfOuB62%2BYXzmNf%2FTbF%2BJAeWYPd2Y%3D) ###