Intégration d’un Webhook avec SESAR : tout ce qu’il faut savoir

Intégration d’un Webhook avec SESAR : tout ce qu’il faut savoir

Le webhook de SESAR permet de notifier votre système lorsqu’un fichier a été reçu et traité. Il repose sur un appel HTTP contenant un objet structuré, et doit être configuré correctement pour assurer une intégration fluide avec votre environnement.

Objectif du Webhook

Lorsqu’un fichier est déposé via SESAR, celui-ci envoie une notification (un "hook") à une adresse que vous avez définie. Cette notification contient un objet chiffré, qui doit être reçu, déchiffré et traité par votre service.


Format attendu par le webhook

Le webhook attend une requête POST avec le contenu suivant :

{
  "args": {
    "CryptedObject": "...",
    "HashKey": "..."
  }
}
  • CryptedObject : le manifeste chiffré en base64.

  • HashKey : le SHA512 de la clé publique utilisée pour le chiffrement, également en base64.

Ce contenu est envoyé avec le header Content-Type: application/json.


Exemple d’implémentation en C#

En ASMX

[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public void SESARHook(SesarWebHook args)
{
    // Traitement ici
}

En ASP.NET MVC

[HttpPost]
public string SESARHook([FromBody] HookArgs SEManifest)
{
    var crypted = SEManifest.args.CryptedObject;
    var hash = SEManifest.args.HashKey;
    
    // Traitement ici
    return "OK";
}

public class HookArgs
{
    public SesarWebHook args { get; set; }
}

public class SesarWebHook
{
    public string CryptedObject { get; set; }
    public string HashKey { get; set; }
}

Déchiffrer le CryptedObject

Pour déchiffrer l’objet reçu (StoreManifest), utilisez le SDK de Secure Exchanges comme suit :

var jsonObject = CryptoHelper.DecryptStringFromBytes(
    Convert.FromBase64String(cryptedObject),
    Convert.FromBase64String(base64Key),
    Convert.FromBase64String(base64Iv)
);

StoreManifest manifest = SerializationHelper.DeserializeFromJson<StoreManifest>(jsonObject);
  • base64Key : la clé AES 256 bits utilisée pour le chiffrement.

  • base64Iv : le vecteur d’initialisation (IV) 128 bits.

  • Ces deux valeurs doivent être protégées dans votre environnement.


Sécurité & cryptage

Les éléments suivants sont cruciaux pour le bon fonctionnement de votre webhook :

  • WebHookKey : Clé AES 256 bits (générable via SECT Tools).

  • WebHookIv : IV 128 bits (également générable via SECT Tools).

  • Ces valeurs sont utilisées pour chiffrer/déchiffrer les StoreManifest.

Alert
🔒 Important : Après le premier démarrage de SESAR, ces valeurs sont cryptées dans un fichier .sesar propre à votre configuration. Ce fichier ne doit pas être déplacé.


Format d’URL du Webhook

L’URL de votre webhook doit suivre le format suivant :

https://[adresse_serveur]/[endpoint]/[methode]

Par exemple :

https://localhost/Test.asmx/SESARHook

Fonctionnement du webhook

  • Le webhook est appelé toutes les 30 secondes si des fichiers sont disponibles.

  • Un code HTTP 200 signifie que le traitement a réussi.

  • Si le webhook échoue ou retourne un autre code, il sera réessayé.

  • Le timeout d’attente de réponse est de 5 minutes.

    • Related Articles

    • Comment configurer SESAR avec Azure Active Directory?

      1. Création d'une application : Dirigez-vous sur Azure Active Directory. Ensuite, sur la barre de gauche cliquez sur « App registration » et cliquez sur « New registration ». Entrez un nom et ensuite, sous « Supported accounts types », cochez la ...
    • Qu'est-ce que SESAR ?

      Présentation du Service SESAR SESAR (Secure Exchanges Send And Receive) est un service Windows conçu pour intégrer et sécuriser vos échanges effectués via Secure Exchanges, qu'ils soient stockés localement ou dans le cloud. Il agit comme une ...
    • Comment décrypter un message sauvegardé sur SESAR avec SECT Tool

      Le décryptage des messages sauvegardés sur SESAR peut être réalisé en suivant une série d'étapes simples à l'aide de l'outil SECT Tool. Voici un guide détaillé pour vous accompagner tout au long du processus. Étapes à suivre : Étape 1 : Ouvrir la ...
    • Q & A SESAR

      SESAR est notre serveur local conçu pour assurer la synchronisation complète des échanges confidentielles. Dans cette fiche, nous répondons aux questions techniques les plus fréquentes pour vous aider à mieux comprendre son fonctionnement et son ...
    • Quels sont les paramètres de configuration de SESAR?

      Comme SESAR fonctionne par « tenant » une organisation pourrait avoir plusieurs « tenant ». Donc le fichier de configuration est bâti de sorte que le service soit installé une seule fois, mais qu’il puisse récupérer les informations de tous les « ...