Aller au contenu

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.

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