ZAF / CHAPITRE 09 / 15

Intégration, API et contrats événementiels

Édition publique de référence 1.0 · 5 novembre 2026 · Exemple institutionnel fictif. Aucun résultat client ou déploiement n’est revendiqué.

Dans ce chapitre
  1. 9.1 Commande et fait
  2. 9.2 Contrat explicite
  3. 9.3 Validation et livraison
  4. 9.4 Compatibilité
  5. 9.5 Vérification

9.1 Commande et fait

Une commande demande à une autorité de décider. Un événement décrit un fait validé sous une autorité nommée. Un broker ne rend pas un fait valide. ApproveRequest vise le domaine demandes. RequestApproved n’est émis qu’après une transition valide. Le service de notification ne peut pas modifier la décision.

9.2 Contrat explicite

ÉlémentDéfinition nécessaire
Acteur et périmètreVérification par le service faisant autorité
Demande et versionObjet effectivement examiné
Identité de commandePérimètre, contenu comparé et conservation
ÉvénementIdentifiant stable et version de sens
ErreurRefus, conflit, reprise possible ou résultat inconnu

9.3 Validation et livraison

Figure 9.1 · Commande, validation atomique et effets différés
Commande, validation atomique et effets différésLes commandes invalides sont refusées. La décision valide précède la livraison externe. Des répétitions restent possibles et nécessitent un traitement idempotent.CommandeActeur, clé, versionValidation serveurAutorité et étatTransaction atomiqueÉtat, audit, outboxRefus expliciteAucun changement métierWorker et consommateursReprises et doublonsLivraison enregistréeRésultat et exceptions
Les commandes invalides sont refusées. La décision valide précède la livraison externe. Des répétitions restent possibles et nécessitent un traitement idempotent.

Enregistrer état et intention d’envoi dans une transaction. Le worker traite le travail validé et conserve sa progression. Une livraison peut réussir alors que son accusé de réception se perd : des répétitions restent possibles. Prévoir dédoublonnage ou effets idempotents. Définir l’ordre nécessaire par objet métier et le traitement d’un prédécesseur manquant. Une exigence d’ordre global peut créer une coordination inutile.

9.4 Compatibilité

Changer le sens d’un montant approuvé peut casser un consommateur même sans changer la structure du message. Documenter propriétaire, version, exemples, erreurs et retrait des anciennes versions. L’intégration vérifie identité, données permises, limites, délais, reprises et support. Une clé API ne remplace pas un accord de responsabilité.

9.5 Vérification

  • Répéter une commande après délai dépassé.
  • Refuser une même clé avec contenu différent.
  • Tolérer la livraison répétée d’un événement.
  • Définir le traitement des versions incompatibles.
  • Récupérer le travail après arrêt du worker.

Le livrable est un catalogue de contrats vérifiables, avant le choix éventuel d’un gateway ou broker.