À propos du service
TraduitLa plupart des intégrations échouent en silence. Un service déclenche un événement, le récepteur est en train de redémarrer, personne ne réessaie, et vous apprenez que le client n'a jamais reçu de confirmation. Je construis la couche qui rend cet échange ennuyeux et prévisible : un point d'entrée pour les événements, une file d'attente derrière, un routage pour les notifications, et un journal de livraison qui répond à la question "est-ce que ça a arrivé" sans devinette.
Le travail commence avec la carte des événements, pas avec le code. Nous parcourons ce qui se passe réellement dans vos systèmes et sélectionnons ce qui mérite une réaction : une nouvelle commande, un paiement échoué, un changement de statut, un document signé. Pour chacun, j'écris qui doit en être informé, à quelle vitesse, et par quel canal. La moitié du bruit futur disparaît à cette étape, car jusqu'à présent, personne n'avait demandé si un événement méritait un message.
Ensuite, la mécanique. Un webhook entrant sans vérification de signature n'est pas accepté — sinon n'importe qui peut vous envoyer un événement, et un faux coûte bien plus qu'un manqué. Les événements acceptés vont dans une file d'attente et sont réessayés avec des intervalles croissants pendant que l'autre côté est indisponible. Les répétitions sont normales ici, donc chaque événement porte une clé, et une seconde copie de la même clé ne change rien. Les secrets et les jetons sont conservés en dehors du code et n'atteignent jamais le journal. Les notifications elles-mêmes portent un lien et un numéro et rien de plus : les données personnelles et le contenu des documents ne sont pas mis dans un chat de travail que la moitié de l'entreprise peut faire défiler.
Ce que le travail inclut :
— une carte des événements avec une raison pour chacun ;
— réception de webhook avec vérifications de signature et refus de tout ce qui n'est pas signé ;
— une file d'attente avec réessais et un arriéré visible d'événements non traités ;
— protection contre le traitement du même événement deux fois ;
— routage vers le mail et vers le messager d'équipe, par événement et par destinataire ;
— modèles de messages en langage clair, sans déversements de charge utile brute ;
— un journal de livraison consultable par événement, avec un renvoi manuel ;
— surveillance de la file d'attente qui s'exprime lorsque l'arriéré cesse de se vider ;
— un court guide écrit pour l'équipe.
Le travail commence avec la carte des événements, pas avec le code. Nous parcourons ce qui se passe réellement dans vos systèmes et sélectionnons ce qui mérite une réaction : une nouvelle commande, un paiement échoué, un changement de statut, un document signé. Pour chacun, j'écris qui doit en être informé, à quelle vitesse, et par quel canal. La moitié du bruit futur disparaît à cette étape, car jusqu'à présent, personne n'avait demandé si un événement méritait un message.
Ensuite, la mécanique. Un webhook entrant sans vérification de signature n'est pas accepté — sinon n'importe qui peut vous envoyer un événement, et un faux coûte bien plus qu'un manqué. Les événements acceptés vont dans une file d'attente et sont réessayés avec des intervalles croissants pendant que l'autre côté est indisponible. Les répétitions sont normales ici, donc chaque événement porte une clé, et une seconde copie de la même clé ne change rien. Les secrets et les jetons sont conservés en dehors du code et n'atteignent jamais le journal. Les notifications elles-mêmes portent un lien et un numéro et rien de plus : les données personnelles et le contenu des documents ne sont pas mis dans un chat de travail que la moitié de l'entreprise peut faire défiler.
Ce que le travail inclut :
— une carte des événements avec une raison pour chacun ;
— réception de webhook avec vérifications de signature et refus de tout ce qui n'est pas signé ;
— une file d'attente avec réessais et un arriéré visible d'événements non traités ;
— protection contre le traitement du même événement deux fois ;
— routage vers le mail et vers le messager d'équipe, par événement et par destinataire ;
— modèles de messages en langage clair, sans déversements de charge utile brute ;
— un journal de livraison consultable par événement, avec un renvoi manuel ;
— surveillance de la file d'attente qui s'exprime lorsque l'arriéré cesse de se vider ;
— un court guide écrit pour l'équipe.