Types V2
Types introduits dans la V2 de l'API B2B. La V2 ajoute la gestion des syndicats, emplois et adhésions comme entités de premier niveau.
Consultez le guide de migration pour comprendre les différences entre V1 et V2.
Synchronisation
B2BSyncEmployesResultV2
Résultat global d'une opération de synchronisation V2. Inclut les syndicats, emplois et adhésions en plus des types V1.
public class B2BSyncEmployesResultV2
{
public required B2BSyncResult Syndicats { get; init; }
public required B2BSyncResult Employeurs { get; init; }
public required B2BSyncResult Employes { get; init; }
public required B2BSyncResult Emplois { get; init; }
public required B2BSyncResult Adhesions { get; init; }
public required B2BSyncResult ObjetsConsentement { get; init; }
}
| Propriété | Type | Description |
|---|---|---|
Syndicats | B2BSyncResult | Résultat de synchronisation des syndicats |
Employeurs | B2BSyncResult | Résultat de synchronisation des employeurs |
Employes | B2BSyncResult | Résultat de synchronisation des employés |
Emplois | B2BSyncResult | Résultat de synchronisation des emplois |
Adhesions | B2BSyncResult | Résultat de synchronisation des adhésions |
ObjetsConsentement | B2BSyncResult | Résultat de synchronisation des objets de consentement |
Employés
B2BUpsertEmployeDtoV2
DTO pour la synchronisation (upsert) d'un employé en V2. Remplace IdentifiantExterneEmployeur, Matricule et DateAdhesion par des collections Emplois et Adhesions.
public class B2BUpsertEmployeDtoV2
{
public string? Prenom { get; set; }
public string? Nom { get; set; }
public string? NoMembre { get; set; }
public string? Courriel { get; set; }
public string? CourrielAlternatif { get; set; }
public string? TelephonePrincipal { get; set; }
public string? TelephoneAlternatif { get; set; }
public string? Adresse1 { get; set; }
public string? Adresse2 { get; set; }
public string? Ville { get; set; }
public string? Province { get; set; }
public string? CodePostal { get; set; }
public required string IdExterne { get; set; }
public bool? MauvaisCourriel { get; set; }
public bool? MauvaisCourrielAlternatif { get; set; }
public DateOnly? DateNaissance { get; set; }
public List<B2BValeurChampUtilisateurDto> ValeursChampUtilisateur { get; set; } = [];
public List<B2BEmploiDtoV2> Emplois { get; set; } = [];
public List<B2BAdhesionDtoV2> Adhesions { get; set; } = [];
}
Propriété requise
| Propriété | Type | Description |
|---|---|---|
IdExterne | string | Identifiant unique dans votre système (clé de correspondance) |
Propriétés optionnelles
| Propriété | Type | Description |
|---|---|---|
Prenom | string? | Prénom de l'employé |
Nom | string? | Nom de famille |
NoMembre | string? | Numéro de membre |
Courriel | string? | Adresse courriel principale |
CourrielAlternatif | string? | Courriel secondaire |
TelephonePrincipal | string? | Téléphone principal |
TelephoneAlternatif | string? | Téléphone secondaire |
Adresse1 | string? | Première ligne d'adresse |
Adresse2 | string? | Deuxième ligne d'adresse |
Ville | string? | Ville |
Province | string? | Province/État |
CodePostal | string? | Code postal |
MauvaisCourriel | bool? | Indicateur courriel invalide |
MauvaisCourrielAlternatif | bool? | Indicateur courriel alternatif invalide |
DateNaissance | DateOnly? | Date de naissance |
ValeursChampUtilisateur | List<B2BValeurChampUtilisateurDto> | Valeurs des champs personnalisés |
Emplois | List<B2BEmploiDtoV2> | Liens d'emploi de l'employé |
Adhesions | List<B2BAdhesionDtoV2> | Adhésions syndicales de l'employé |
En V1, l'employeur et le matricule sont sur l'employé directement (IdExterneEmployeur, Matricule). En V2, ces informations sont dans la collection Emplois, permettant à un employé d'avoir plusieurs emplois simultanés.
De même, DateAdhesion est remplacé par la collection Adhesions, permettant plusieurs adhésions syndicales.
Emplois
B2BEmploiDtoV2
DTO pour un emploi imbriqué dans un employé V2. N'inclut pas IdentifiantExterneEmploye car le contexte employé est déjà connu.
public class B2BEmploiDtoV2
{
public required string IdentifiantExterne { get; init; }
public required string IdentifiantExterneEmployeur { get; init; }
public string? Matricule { get; init; }
public DateTime? DateDebut { get; init; }
public DateTime? DateFin { get; init; }
}
| Propri été | Type | Requis | Description |
|---|---|---|---|
IdentifiantExterne | string | Oui | Identifiant externe de l'emploi (clé unique) |
IdentifiantExterneEmployeur | string | Oui | Identifiant externe de l'employeur |
Matricule | string? | Non | Matricule de l'employé chez cet employeur |
DateDebut | DateTime? | Non | Date de début de l'emploi |
DateFin | DateTime? | Non | Date de fin de l'emploi (null = en cours) |
Adhésions
B2BAdhesionDtoV2
DTO pour une adhésion syndicale imbriquée dans un employé V2.
public class B2BAdhesionDtoV2
{
public required string SyndicatIdExterne { get; init; }
public required DateTime DateAdhesion { get; init; }
}
| Propriété | Type | Description |
|---|---|---|
SyndicatIdExterne | string | Identifiant externe du syndicat |
DateAdhesion | DateTime | Date d'adhésion au syndicat |
B2BAdhesionItemV2
Résultat de recherche d'adhésion V2. Retourne un snapshot des coordonnées de l'employé au moment de la signature (pas les données actuelles).
public class B2BAdhesionItemV2
{
// Identité de l'adhésion
public required DateTime DateSignature { get; init; }
public required string IdUniqueAdhesion { get; init; }
public required string TransactionId { get; init; }
public required bool ASignatureManuscripte { get; init; }
public string? SyndicatIdExterne { get; init; }
public string? SyndicatNom { get; init; }
// Identité de l'employé (immuable)
public required string EmployeIdExterne { get; init; }
public required string EmployeIdUnique { get; init; }
public required string EmployePrenom { get; init; }
public required string EmployeNom { get; init; }
// Snapshot au moment de la signature
public string? Courriel { get; init; }
public string? CourrielAlternatif { get; init; }
public string? TelephonePrincipal { get; init; }
public string? TelephoneAlternatif { get; init; }
public string? Adresse1 { get; init; }
public string? Adresse2 { get; init; }
public string? Ville { get; init; }
public string? Province { get; init; }
public string? CodePostal { get; init; }
// Snapshot des champs personnalisés
public ICollection<B2BValeurChampUtilisateurItem> ValeursChampUtilisateur { get; init; } = [];
}
Propriétés de l'adhésion
| Propriété | Type | Description |
|---|---|---|
DateSignature | DateTime | Date de signature de l'adhésion |
IdUniqueAdhesion | string | Identifiant unique de l'adhésion |
TransactionId | string | Identifiant de la transaction |
ASignatureManuscripte | bool | Si l'adhésion a une signature manuscrite |
SyndicatIdExterne | string? | Identifiant externe du syndicat |
SyndicatNom | string? | Nom du syndicat |
Identité de l'employé
| Propriété | Type | Description |
|---|---|---|
EmployeIdExterne | string | Identifiant externe de l'employé |
EmployeIdUnique | string | Identifiant unique MCM de l'employé |
EmployePrenom | string | Prénom de l'employé |
EmployeNom | string | Nom de l'employé |
Snapshot des coordonnées (au moment de la signature)
| Propriété | Type | Description |
|---|---|---|
Courriel | string? | Courriel au moment de la signature |
CourrielAlternatif | string? | Courriel alternatif au moment de la signature |
TelephonePrincipal | string? | Téléphone principal au moment de la signature |
TelephoneAlternatif | string? | Téléphone alternatif au moment de la signature |
Adresse1 | string? | Adresse ligne 1 au moment de la signature |
Adresse2 | string? | Adresse ligne 2 au moment de la signature |
Ville | string? | Ville au moment de la signature |
Province | string? | Province au moment de la signature |
CodePostal | string? | Code postal au moment de la signature |
ValeursChampUtilisateur | ICollection<B2BValeurChampUtilisateurItem> | Champs personnalisés au moment de la signature |
Contrairement à B2BAdhesionItem (V1) qui retourne les données actuelles de l'employé via un objet B2BEmployeItem imbriqué, la V2 retourne un snapshot des coordonnées telles qu'elles étaient au moment de la signature. Les propriétés sont à plat (pas d'objet imbriqué).
Syndicats
B2BUpdateSyndicatDtoV2
DTO pour créer ou modifier un syndicat en V2. Les employeurs sont imbriqués dans le syndicat pour refléter la relation hiérarchique.
public class B2BUpdateSyndicatDtoV2
{
public required string Nom { get; init; }
public required string IdentifiantExterne { get; init; }
public List<B2BUpdateEmployeurDtoV2> Employeurs { get; init; } = [];
}
| Propriété | Type | Description |
|---|---|---|
Nom | string | Nom du syndicat |
IdentifiantExterne | string | Identifiant externe du syndicat |
Employeurs | List<B2BUpdateEmployeurDtoV2> | Employeurs rattachés à ce syndicat |
En V1, les employeurs sont des entités indépendantes. En V2, les employeurs sont imbriqués dans les syndicats pour refléter la relation hiérarchique du domaine.
Employeurs
B2BUpdateEmployeurDtoV2
DTO pour un employeur imbriqué dans un syndicat V2.
public class B2BUpdateEmployeurDtoV2
{
public required string Nom { get; init; }
public required string IdentifiantExterne { get; init; }
}
| Propriété | Type | Description |
|---|---|---|
Nom | string | Nom de l'employeur |
IdentifiantExterne | string | Identifiant externe de l'employeur |