evenement-lien-emploi
Événement (AsyncAPI) — version 0.1.0. Producteur : entreprise. Consommateurs déclarés : tenue-de-compte, epargnant.
Le fait employeur publié : ouverture, évolution, clôture et annulation d’un lien d’emploi, modification d’une mise à disposition. La charge exclut NIR, matricule RH, identité, rémunération et catégorie détaillée — la personne n’est désignée que par son epargnant_id résolu. La clôture informe les consommateurs ; elle ne leur ordonne pas de fermer un compte ou un mandat.
La spécification
Section intitulée « La spécification »asyncapi: 3.0.0info: title: entreprise — les événements du fait employeur version: 0.1.0 x-ruptures: [] # première publication — aucune rupture description: >- Le fait employeur publié : ouverture, évolution, clôture et annulation d'un lien d'emploi, modification d'une mise à disposition. La charge exclut NIR, matricule RH, identité, rémunération et catégorie détaillée — la personne n'est désignée que par son epargnant_id résolu. La clôture informe les consommateurs ; elle ne leur ordonne pas de fermer un compte ou un mandat. x-producteurs: - entreprise x-consommateurs: - composant: tenue-de-compte - composant: epargnantdefaultContentType: application/jsonchannels: emploi: address: entreprise.emploi.v1 description: >- Canal logique du fait employeur. L'ordre est garanti par lien d'emploi (subject_id = lien_emploi_id) et par producteur, jamais entre producteurs. messages: lienOuvert: $ref: '#/components/messages/lienOuvert' lienModifie: $ref: '#/components/messages/lienModifie' lienClos: $ref: '#/components/messages/lienClos' lienAnnule: $ref: '#/components/messages/lienAnnule' miseADispositionModifiee: $ref: '#/components/messages/miseADispositionModifiee'operations: publierLeFaitEmployeur: action: send channel: $ref: '#/channels/emploi' summary: >- Entreprise publie le fait employeur ; les consommateurs en tirent leurs propres conséquences — jamais un ordre. messages: - $ref: '#/channels/emploi/messages/lienOuvert' - $ref: '#/channels/emploi/messages/lienModifie' - $ref: '#/channels/emploi/messages/lienClos' - $ref: '#/channels/emploi/messages/lienAnnule' - $ref: '#/channels/emploi/messages/miseADispositionModifiee'components: messages: lienOuvert: name: entreprise.emploi.lien-ouvert.v1 title: Lien d'emploi ouvert summary: Un emploi est reconnu — l'epargnant_id est résolu, jamais une identité. contentType: application/json payload: $ref: '#/components/schemas/enveloppe' lienModifie: name: entreprise.emploi.lien-modifie.v1 title: Lien d'emploi modifié summary: Une nouvelle version du lien s'applique. contentType: application/json payload: $ref: '#/components/schemas/enveloppe' lienClos: name: entreprise.emploi.lien-clos.v1 title: Lien d'emploi clos summary: >- La relation d'emploi se termine. La clôture informe ; elle ne ferme ni compte, ni position, ni mandat individuel. contentType: application/json payload: $ref: '#/components/schemas/enveloppe' lienAnnule: name: entreprise.emploi.lien-annule.v1 title: Lien d'emploi annulé summary: >- Une ouverture erronée est compensée — corrige_event_id référence le fait compensé ; jamais une modification ni un retrait de l'événement d'origine. contentType: application/json payload: $ref: '#/components/schemas/enveloppe' miseADispositionModifiee: name: entreprise.emploi.mise-a-disposition-modifiee.v1 title: Mise à disposition modifiée summary: L'affectation d'accueil d'un lien d'emploi est créée, modifiée ou terminée. contentType: application/json payload: $ref: '#/components/schemas/enveloppe' 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 description: Identifiant du fait — clé de déduplication du consommateur. event_type: type: string description: Le type versionné, parmi les cinq du canal. enum: - entreprise.emploi.lien-ouvert.v1 - entreprise.emploi.lien-modifie.v1 - entreprise.emploi.lien-clos.v1 - entreprise.emploi.lien-annule.v1 - entreprise.emploi.mise-a-disposition-modifiee.v1 occurred_at: type: string format: date-time description: La survenance du fait métier. tenant_id: type: string description: Le teneur de compte — routage et contrôle avant désérialisation. subject_id: type: string description: Le lien d'emploi — l'ordre est garanti par sujet. subject_version: type: integer description: La version métier du lien après mutation. sequence: type: integer description: Strictement croissante par sujet dans le tenant. correlation_id: type: string description: La chaîne de traitement d'origine. causation_id: type: string description: Le fait ou la commande qui a causé celui-ci. schema_version: type: integer description: La version du schéma de la charge. data: $ref: '#/components/schemas/chargeLienEmploi' chargeLienEmploi: type: object description: >- La charge du fait employeur. Exclut NIR, matricule RH, identité, rémunération et catégorie détaillée. required: - lien_emploi_id - lien_version - epargnant_id - employeur_entite_id - qualite_emploi - debut properties: lien_emploi_id: type: string format: uuid description: Le lien d'emploi concerné. lien_version: type: integer description: La version du lien après le fait. epargnant_id: type: string description: La personne, par son identifiant publié résolu — jamais une identité. employeur_entite_id: type: string description: L'entité juridique employeuse. etablissement_id: type: string description: L'établissement d'exercice, s'il est connu. qualite_emploi: type: string description: >- La situation vis-à-vis de l'employeur — code métier complet (ENT-STA-001), par exemple SALARIE, DIRIGEANT_ELIGIBLE, CONJOINT, ANCIEN_SALARIE. debut: type: string format: date description: Le début de la relation d'emploi. fin_reelle: type: string format: date description: La fin réelle — présente sur une clôture. motif: type: string description: Le motif de fin — présent sur une clôture, code métier complet. corrige_event_id: type: string format: uuid description: >- Le fait compensé — présent sur une annulation, absent sinon.