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.
La spécification
Section intitulée « La spécification »asyncapi: 3.0.0info: 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-comptedefaultContentType: application/jsonchannels: 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.