evenements-du-cre
Événement (AsyncAPI) — version 0.5.0. Producteur : tenue-de-compte. Consommateurs déclarés : carnet-ordres.
Les faits publiés par la tenue de compte quand l’état d’un CRE (compte rendu d’événement) change : comptabilisé, rejeté, bloqué, extourné. Chaque fait dit que le changement a eu lieu et comment le retrouver ; aucun ne transporte les écritures ni les positions. Garanties (notice) : jamais de faux positif (boîte d’envoi), livraison au moins une fois, exactement un événement par fait (unicité clé × type), ordre par producteur (sequence).
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 CRE version: 0.5.0 x-ruptures: - version: 0.5.0 rupture: "propriété retirée : tenant" motif: >- Isolation forte par tenant — aucun identifiant de tenant n'est transporté ; l'appartenance est celle de l'installation (précédent instruments 0.4.0). L'unicité du fait devient clé × type — elle perd sa composante tenant —, en cohérence avec l'enveloppe du CRE 0.3. description: >- Les faits publiés par la tenue de compte quand l'état d'un CRE (compte rendu d'événement) change : comptabilisé, rejeté, bloqué, extourné. Chaque fait dit que le changement a eu lieu et comment le retrouver ; aucun ne transporte les écritures ni les positions. Garanties (notice) : jamais de faux positif (boîte d'envoi), livraison au moins une fois, exactement un événement par fait (unicité clé × type), ordre par producteur (sequence). x-producteurs: - tenue-de-compte x-consommateurs: - composant: carnet-ordresdefaultContentType: application/jsonchannels: cre: address: tenue-de-compte.cre description: >- Canal logique du cycle de vie des CRE de la tenue de compte. L'ordre n'est garanti que par producteur (sequence strictement croissant), jamais entre producteurs. messages: creComptabilise: $ref: '#/components/messages/creComptabilise' creRejete: $ref: '#/components/messages/creRejete' creBloque: $ref: '#/components/messages/creBloque' creExtourne: $ref: '#/components/messages/creExtourne'operations: publierLeCycleDeVieDuCre: action: send channel: $ref: '#/channels/cre' summary: La tenue de compte publie un événement par changement d'état d'un CRE. messages: - $ref: '#/channels/cre/messages/creComptabilise' - $ref: '#/channels/cre/messages/creRejete' - $ref: '#/channels/cre/messages/creBloque' - $ref: '#/channels/cre/messages/creExtourne'components: messages: creComptabilise: name: cre-comptabilise title: CRE comptabilisé summary: Un CRE a été comptabilisé — la pièce est inscrite au livre. contentType: application/json payload: $ref: '#/components/schemas/evenementCreComptabilise' creRejete: name: cre-rejete title: CRE rejeté summary: Un CRE a été rejeté — verdict terminal, motivé. contentType: application/json payload: $ref: '#/components/schemas/evenementCreRejete' creBloque: name: cre-bloque title: CRE bloqué summary: >- Un CRE a été bloqué — motivé, en attente d'une reprise ; sa comptabilisation ultérieure publiera « CRE comptabilisé ». contentType: application/json payload: $ref: '#/components/schemas/evenementCreBloque' creExtourne: name: cre-extourne title: CRE extourné summary: >- Un CRE comptabilisé a été extourné — le fait désigne la cible et porte la causalité (le CRE compensateur, lui-même comptabilisé). contentType: application/json payload: $ref: '#/components/schemas/evenementCreExtourne' 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 - cre - cle_idempotence - 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. cre: type: string minLength: 1 description: L'identifiant du CRE dont l'état a changé (celui du producteur amont). cle_idempotence: type: string minLength: 1 description: >- La clé de la livraison à l'origine du fait — avec le type, l'identifiant unique de déduplication des consommateurs. produit_le: type: string format: date-time description: L'instant de la retenue de l'événement (UTC) — la survenance du fait. evenementCreComptabilise: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object required: [nombre_ecritures] properties: type_evenement: const: cre-comptabilise nombre_ecritures: type: integer minimum: 1 description: Le nombre d'écritures de la pièce inscrite. nombre_mouvements_lots: type: integer minimum: 0 description: >- 0.4.0 — le nombre de mouvements de lots de droits inscrits par la pièce. Un consommateur sait ainsi si des droits ont été créés, consommés ou transportés — « comptabilisé » ne dit plus seulement des écritures (réalignement du 2026-07-27, quatre familles d'effets). Absent = zéro (consommateur tolérant). nombre_ajustements_fiscaux: type: integer minimum: 0 description: >- 0.4.0 — le nombre d'ajustements fiscaux certifiés appliqués par la pièce. Absent = zéro. nombre_affectations: type: integer minimum: 0 description: >- 0.4.0 — le nombre de mouvements d'affectation de gestion inscrits par la pièce. Absent = zéro. evenementCreRejete: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object required: [motif] properties: type_evenement: const: cre-rejete motif: type: string minLength: 1 description: Le motif du rejet, tel que le livre l'a prononcé. evenementCreBloque: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object required: [motif] properties: type_evenement: const: cre-bloque motif: type: string minLength: 1 description: Le motif du blocage — la reprise est possible quand les conditions changent. evenementCreExtourne: allOf: - $ref: '#/components/schemas/socleDEvenement' - type: object required: [cause] properties: type_evenement: const: cre-extourne cre: type: string minLength: 1 description: L'identifiant du CRE extourné — la cible. cause: type: string minLength: 1 description: >- La référence de causalité — l'identifiant du CRE compensateur dont la comptabilisation a produit l'extourne ; cle_idempotence est la clé de ce compensateur.