evenements-du-compte
Événement (AsyncAPI) — version 0.1.0, proposition. Producteur : tenue-de-compte. Consommateurs déclarés : aucun déclaré à ce jour.
Les faits publiés par la tenue de compte quand l’état d’un compte change : ouvert, clos. Le cycle est court et définitif — un compte ne se supprime jamais, il se clôt (avoirs liquidés exigés) ; un compte clos ne se rouvre pas. Chaque fait ne transporte que les identifiants : la fiche du compte se consulte (contrat consultation-des-entites), elle ne se duplique pas sur le bus.
La spécification
Section intitulée « La spécification »asyncapi: 3.0.0info: title: tenue-de-compte — les événements du cycle de vie du Compte version: 0.1.0 description: >- Les faits publiés par la tenue de compte quand l'état d'un compte change : ouvert, clos. Le cycle est court et définitif — un compte ne se supprime jamais, il se clôt (avoirs liquidés exigés) ; un compte clos ne se rouvre pas. Chaque fait ne transporte que les identifiants : la fiche du compte se consulte (contrat consultation-des-entites), elle ne se duplique pas sur le bus. x-producteurs: - tenue-de-compte x-consommateurs: []defaultContentType: application/jsonchannels: compte: address: tenue-de-compte.compte description: >- Canal logique du cycle de vie des comptes de la tenue de compte. L'ordre n'est garanti que par producteur (sequence strictement croissant), jamais entre producteurs. messages: compteOuvert: $ref: '#/components/messages/compteOuvert' compteClos: $ref: '#/components/messages/compteClos'operations: publierLeCycleDeVieDuCompte: action: send channel: $ref: '#/channels/compte' summary: La tenue de compte publie un événement par changement d'état d'un compte. messages: - $ref: '#/channels/compte/messages/compteOuvert' - $ref: '#/channels/compte/messages/compteClos'components: messages: compteOuvert: name: compte-ouvert title: Compte ouvert summary: Un compte a été ouvert au plan du tenant. contentType: application/json payload: $ref: '#/components/schemas/evenementCompteOuvert' compteClos: name: compte-clos title: Compte clos summary: Un compte a été clos — définitivement, ses avoirs liquidés. contentType: application/json payload: $ref: '#/components/schemas/evenementCompteClos' schemas: socleDEvenement: type: object # Les consommateurs sont tolérants : un champ inconnu s'ignore — # le schéma n'interdit donc pas les propriétés additionnelles. required: - type_evenement - version_contrat - sequence - tenant - compte - produit_le properties: version_contrat: type: string description: La version sémantique du présent contrat (celle de ce fichier). sequence: type: integer minimum: 1 description: >- Le numéro de séquence chez le producteur — strictement croissant, fourni par la boîte d'envoi ; un consommateur y détecte un manque ou un désordre. tenant: type: string minLength: 1 description: Le teneur de compte — la muraille de Chine. compte: type: string minLength: 1 description: >- L'identifiant public du compte dont l'état a changé — avec le tenant et le type, l'identifiant unique de déduplication des consommateurs (un compte s'ouvre une fois, se clôt une fois). produit_le: type: string format: date-time description: L'instant de la retenue de l'événement (UTC) — la survenance du fait. evenementCompteOuvert: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object properties: type_evenement: const: compte-ouvert evenementCompteClos: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object properties: type_evenement: const: compte-clos