Aller au contenu

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).

asyncapi: 3.0.0
info:
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-ordres
defaultContentType: application/json
channels:
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.