Aller au contenu principal

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.

Migration V1 → V2

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éTypeDescription
SyndicatsB2BSyncResultRésultat de synchronisation des syndicats
EmployeursB2BSyncResultRésultat de synchronisation des employeurs
EmployesB2BSyncResultRésultat de synchronisation des employés
EmploisB2BSyncResultRésultat de synchronisation des emplois
AdhesionsB2BSyncResultRésultat de synchronisation des adhésions
ObjetsConsentementB2BSyncResultRé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éTypeDescription
IdExternestringIdentifiant unique dans votre système (clé de correspondance)

Propriétés optionnelles

PropriétéTypeDescription
Prenomstring?Prénom de l'employé
Nomstring?Nom de famille
NoMembrestring?Numéro de membre
Courrielstring?Adresse courriel principale
CourrielAlternatifstring?Courriel secondaire
TelephonePrincipalstring?Téléphone principal
TelephoneAlternatifstring?Téléphone secondaire
Adresse1string?Première ligne d'adresse
Adresse2string?Deuxième ligne d'adresse
Villestring?Ville
Provincestring?Province/État
CodePostalstring?Code postal
MauvaisCourrielbool?Indicateur courriel invalide
MauvaisCourrielAlternatifbool?Indicateur courriel alternatif invalide
DateNaissanceDateOnly?Date de naissance
ValeursChampUtilisateurList<B2BValeurChampUtilisateurDto>Valeurs des champs personnalisés
EmploisList<B2BEmploiDtoV2>Liens d'emploi de l'employé
AdhesionsList<B2BAdhesionDtoV2>Adhésions syndicales de l'employé
Différence avec V1

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éTypeRequisDescription
IdentifiantExternestringOuiIdentifiant externe de l'emploi (clé unique)
IdentifiantExterneEmployeurstringOuiIdentifiant externe de l'employeur
Matriculestring?NonMatricule de l'employé chez cet employeur
DateDebutDateTime?NonDate de début de l'emploi
DateFinDateTime?NonDate 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éTypeDescription
SyndicatIdExternestringIdentifiant externe du syndicat
DateAdhesionDateTimeDate 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éTypeDescription
DateSignatureDateTimeDate de signature de l'adhésion
IdUniqueAdhesionstringIdentifiant unique de l'adhésion
TransactionIdstringIdentifiant de la transaction
ASignatureManuscripteboolSi l'adhésion a une signature manuscrite
SyndicatIdExternestring?Identifiant externe du syndicat
SyndicatNomstring?Nom du syndicat

Identité de l'employé

PropriétéTypeDescription
EmployeIdExternestringIdentifiant externe de l'employé
EmployeIdUniquestringIdentifiant unique MCM de l'employé
EmployePrenomstringPrénom de l'employé
EmployeNomstringNom de l'employé

Snapshot des coordonnées (au moment de la signature)

PropriétéTypeDescription
Courrielstring?Courriel au moment de la signature
CourrielAlternatifstring?Courriel alternatif au moment de la signature
TelephonePrincipalstring?Téléphone principal au moment de la signature
TelephoneAlternatifstring?Téléphone alternatif au moment de la signature
Adresse1string?Adresse ligne 1 au moment de la signature
Adresse2string?Adresse ligne 2 au moment de la signature
Villestring?Ville au moment de la signature
Provincestring?Province au moment de la signature
CodePostalstring?Code postal au moment de la signature
ValeursChampUtilisateurICollection<B2BValeurChampUtilisateurItem>Champs personnalisés au moment de la signature
Snapshot vs données actuelles

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éTypeDescription
NomstringNom du syndicat
IdentifiantExternestringIdentifiant externe du syndicat
EmployeursList<B2BUpdateEmployeurDtoV2>Employeurs rattachés à ce syndicat
Différence avec V1

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éTypeDescription
NomstringNom de l'employeur
IdentifiantExternestringIdentifiant externe de l'employeur