Aller au contenu

evenement-referentiel-publie

Événement (AsyncAPI) — version 0.1.0. Producteur : entreprise. Consommateurs déclarés : operations, tenue-de-compte.

L’annonce des versions opposables du référentiel conventionnel : l’événement annonce une version disponible, son périmètre et son empreinte — jamais le paramétrage, le barème ou le document complet. Seule une version validée et immuable est publiée ; le consommateur rafraîchit sa projection par API et vérifie l’empreinte.

asyncapi: 3.0.0
info:
title: entreprise — les événements du référentiel conventionnel
version: 0.1.0
x-ruptures: [] # première publication — aucune rupture
description: >-
L'annonce des versions opposables du référentiel conventionnel : l'événement annonce
une version disponible, son périmètre et son empreinte — jamais le paramétrage, le
barème ou le document complet. Seule une version validée et immuable est publiée ;
le consommateur rafraîchit sa projection par API et vérifie l'empreinte.
x-producteurs:
- entreprise
x-consommateurs:
- composant: operations
- composant: tenue-de-compte
defaultContentType: application/json
channels:
referentiel:
address: entreprise.referentiel.v1
description: >-
Canal logique du référentiel conventionnel publié. L'ordre est garanti par objet
publié (subject_id) et par producteur.
messages:
versionPubliee:
$ref: '#/components/messages/versionPubliee'
operations:
publierLeReferentiel:
action: send
channel:
$ref: '#/channels/referentiel'
summary: >-
Entreprise annonce chaque version opposable ; le consommateur projette et relit par
API.
messages:
- $ref: '#/channels/referentiel/messages/versionPubliee'
components:
messages:
versionPubliee:
name: version-publiee
title: Version du référentiel publiée
summary: >-
Une version validée et immuable est disponible — douze types selon l'objet
(population, attestation, acte, dispositif, abondement, calcul d'enveloppe,
répartition, enveloppe transmise, offre, allocation, convention, remplacement).
contentType: application/json
payload:
allOf:
- $ref: '#/components/schemas/enveloppe'
- type: object
properties:
data:
$ref: '#/components/schemas/chargeDeVersion'
schemas:
enveloppe:
type: object
description: >-
L'enveloppe commune du domaine (enveloppe-commune.md). Les consommateurs sont
tolérants : un champ inconnu s'ignore.
required:
- event_id
- event_type
- occurred_at
- tenant_id
- subject_id
- subject_version
- sequence
- schema_version
- data
properties:
event_id:
type: string
format: uuid
event_type:
type: string
description: Le type versionné, parmi les douze du canal.
enum:
- entreprise.referentiel.population-publiee.v1
- entreprise.referentiel.attestation-modifiee.v1
- entreprise.referentiel.acte-publie.v1
- entreprise.referentiel.dispositif-publie.v1
- entreprise.referentiel.abondement-publie.v1
- entreprise.referentiel.calcul-enveloppe-publie.v1
- entreprise.referentiel.repartition-publiee.v1
- entreprise.referentiel.enveloppe-transmise.v1
- entreprise.referentiel.offre-publiee.v1
- entreprise.referentiel.allocation-publiee.v1
- entreprise.referentiel.convention-publiee.v1
- entreprise.referentiel.version-remplacee.v1
occurred_at:
type: string
format: date-time
tenant_id:
type: string
subject_id:
type: string
description: L'objet publié — l'ordre est garanti par objet.
subject_version:
type: integer
sequence:
type: integer
correlation_id:
type: string
causation_id:
type: string
schema_version:
type: integer
data:
type: object
chargeDeVersion:
type: object
description: >-
L'annonce d'une version : l'objet, sa version, sa période d'effet, son périmètre
et son empreinte — jamais le contenu complet.
required:
- objet_type
- objet_id
- objet_version
- date_debut_effet
- empreinte
properties:
objet_type:
type: string
description: >-
Par exemple POPULATION, ATTESTATION, ACTE, DISPOSITIF, JEU_ABONDEMENT,
FORMULE_COLLECTIVE, REPARTITION, ENVELOPPE, OFFRE, ALLOCATION, CONVENTION.
objet_id:
type: string
format: uuid
objet_version:
type: integer
date_debut_effet:
type: string
format: date
date_fin_effet:
type: string
format: date
perimetre_ids:
type: array
items:
type: string
format: uuid
remplace_version:
type: integer
description: La version remplacée — sur une correction ou une succession.
empreinte:
type: string
description: Par exemple sha256:… — le consommateur la vérifie après relecture.
entite_declarante_id:
type: string
format: uuid
description: Sur une enveloppe — l'entité qui déclare.
perimetre_id:
type: string
format: uuid
description: Sur une enveloppe — le périmètre légal.
montant:
type: number
description: Sur une enveloppe — le montant collectif déclaré.
exercice:
type: string
description: Sur une enveloppe — l'exercice concerné.
population_id:
type: string
format: uuid
description: Sur une enveloppe — la population attestée.
version_formule_id:
type: string
format: uuid
description: Sur une enveloppe — la version de formule collective figée.
version_repartition_id:
type: string
format: uuid
description: Sur une enveloppe — la version de répartition figée.
operation_collective_id:
type: string
description: Sur une enveloppe transmise — l'opération collective externe.
statut:
type: string
description: Sur une attestation — son statut, sans copie de la preuve.