Aller au contenu principal

Types communs

Types partagés utilisés par plusieurs clients.

Erreurs et synchronisation

B2BError

Représente une erreur lors d'une opération en lot.

public record B2BError(string IdUnique, string Message);
PropriétéTypeDescription
IdUniquestringIdentifiant unique de l'élément en erreur
MessagestringDescription de l'erreur

B2BSyncResult

Résultat de synchronisation pour un type d'entité.

public class B2BSyncResult
{
public required List<B2BError> Erreurs { get; init; }
public int AddCount { get; set; }
public int UpdateCount { get; set; }
}
PropriétéTypeDescription
ErreursList<B2BError>Liste des erreurs individuelles
AddCountintNombre d'éléments créés
UpdateCountintNombre d'éléments mis à jour

B2BSyncEmployesResult

Résultat global d'une opération de synchronisation. Contient un B2BSyncResult par type d'entité synchronisé.

public class B2BSyncEmployesResult
{
public required B2BSyncResult Employes { get; set; }
public required B2BSyncResult Employeurs { get; set; }
public required B2BSyncResult ObjetsConsentement { get; set; }
}
PropriétéTypeDescription
EmployesB2BSyncResultRésultat de synchronisation des employés
EmployeursB2BSyncResultRésultat de synchronisation des employeurs
ObjetsConsentementB2BSyncResultRésultat de synchronisation des objets de consentement

B2BSyncErrors

Erreurs groupées par type d'entité (format hérité).

public class B2BSyncErrors
{
public required List<B2BError> ErreursEmployes { get; init; }
public required List<B2BError> ErreursEmployeurs { get; init; }
public required List<B2BError> ErreursObjetsConsentement { get; init; }
}
PropriétéTypeDescription
ErreursEmployesList<B2BError>Erreurs liées aux employés
ErreursEmployeursList<B2BError>Erreurs liées aux employeurs
ErreursObjetsConsentementList<B2BError>Erreurs liées aux objets de consentement

Adhésions

B2BAdhesionItem

Représente une adhésion (signature de carte de membre).

public class B2BAdhesionItem
{
public required DateTime DateSignature { get; init; }
public required string Courriel { get; init; }
public required string IdUnique { get; init; }
public required string IdUniqueAdhesion { get; init; }
public required string TransactionId { get; init; }
public required bool ASignatureManuscripte { get; init; }
public required B2BEmployeItem Employe { get; init; }
public string? SyndicatIdExterne { get; init; }
public string? SyndicatNom { get; init; }
}
PropriétéTypeDescription
DateSignatureDateTimeDate de signature de l'adhésion
CourrielstringCourriel utilisé lors de la signature
IdUniquestringIdentifiant unique de l'employé
IdUniqueAdhesionstringIdentifiant unique de l'adhésion
TransactionIdstringIdentifiant de la transaction
ASignatureManuscripteboolSi l'adhésion a une signature manuscrite
EmployeB2BEmployeItemDonnées de l'employé
SyndicatIdExternestring?Identifiant externe du syndicat
SyndicatNomstring?Nom du syndicat

B2BAdhesionSearchRequest

Paramètres de recherche pour les adhésions.

public record B2BAdhesionSearchRequest
{
public DateTime? Apres { get; init; }
public string? IdExterne { get; init; }
}
PropriétéTypeDescription
ApresDateTime?Filtrer les adhésions après cette date
IdExternestring?Filtrer par identifiant externe de l'employé

Emplois

B2BEmploiItem

Représente un lien d'emploi entre un employé et un employeur.

public class B2BEmploiItem
{
public required string IdentifiantExterne { get; init; }
public required Guid IdUnique { get; init; }
public required string IdentifiantExterneEmploye { get; init; }
public required string IdentifiantExterneEmployeur { get; init; }
public required string NomEmployeur { get; init; }
public string? Matricule { get; init; }
public DateTime? DateDebut { get; init; }
public DateTime? DateFin { get; init; }
}
PropriétéTypeDescription
IdentifiantExternestringIdentifiant externe de l'emploi
IdUniqueGuidIdentifiant unique (GUID) pour le routage URL
IdentifiantExterneEmployestringIdentifiant externe de l'employé
IdentifiantExterneEmployeurstringIdentifiant externe de l'employeur
NomEmployeurstringNom de l'employeur
Matriculestring?Matricule de l'employé chez cet employeur
DateDebutDateTime?Date de début de l'emploi
DateFinDateTime?Date de fin de l'emploi (null = en cours)

B2BUpdateEmploiDto

DTO pour créer ou modifier un emploi.

public class B2BUpdateEmploiDto
{
public required string IdentifiantExterne { get; init; }
public required string IdentifiantExterneEmploye { 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
IdentifiantExterneEmployestringOuiIdentifiant externe de l'employé
IdentifiantExterneEmployeurstringOuiIdentifiant externe de l'employeur
Matriculestring?NonMatricule de l'employé
DateDebutDateTime?NonDate de début
DateFinDateTime?NonDate de fin (null = en cours)

Syndicats

B2BSyndicatItem

Représente un syndicat. Hérite de B2BUpdateSyndicatDto.

public class B2BSyndicatItem : B2BUpdateSyndicatDto
{
// Propriétés héritées de B2BUpdateSyndicatDto
}

B2BUpdateSyndicatDto

DTO pour créer ou modifier un syndicat.

public class B2BUpdateSyndicatDto
{
public required string Nom { get; init; }
public required string IdentifiantExterne { get; init; }
}
PropriétéTypeDescription
NomstringNom du syndicat
IdentifiantExternestringIdentifiant externe du syndicat

Formulaires

B2BFormulaireItem

Représente un formulaire.

public class B2BFormulaireItem
{
public required int Id { get; set; }
public required string Nom { get; set; }
public string? Description { get; set; }
public required string TypeFormulaire { get; set; }
}
PropriétéTypeDescription
IdintIdentifiant unique du formulaire
NomstringNom du formulaire
Descriptionstring?Description du formulaire
TypeFormulairestringType de formulaire

B2BEnvoyerFormulaire

Requête pour envoyer une invitation à un formulaire.

public class B2BEnvoyerFormulaire
{
public required string IdExterneEmploye { get; init; }
public required string Courriel { get; init; }
public required int IdFormulaire { get; init; }
}
PropriétéTypeDescription
IdExterneEmployestringIdentifiant externe de l'employé
CourrielstringAdresse courriel du destinataire
IdFormulaireintIdentifiant du formulaire à envoyer

Consentements

B2BConsentementItem

Représente un consentement donné par un employé.

public class B2BConsentementItem
{
public string? IdExterne { get; init; }
public required DateTime DateConsentement { get; init; }
public required bool Consent { get; init; }
public required B2BEmployeItem Employe { get; init; }
public required B2BConsentementItemObjetConsentement ObjetDeConsentement { get; init; }
}
PropriétéTypeDescription
IdExternestring?Identifiant externe du consentement
DateConsentementDateTimeDate du consentement
ConsentboolSi le consentement est accepté
EmployeB2BEmployeItemDonnées de l'employé
ObjetDeConsentementB2BConsentementItemObjetConsentementObjet du consentement

B2BConsentementItemObjetConsentement

Objet de consentement associé à un consentement.

public class B2BConsentementItemObjetConsentement
{
public string IdentifiantExterne { get; set; } = string.Empty;
public string Titre { get; set; } = string.Empty;
}
PropriétéTypeDescription
IdentifiantExternestringIdentifiant externe de l'objet de consentement
TitrestringTitre de l'objet de consentement

B2BUpdateObjetConsentementDto

DTO pour créer ou modifier un objet de consentement.

public class B2BUpdateObjetConsentementDto
{
public required string Titre { get; init; }
public required string IdentifiantExterne { get; init; }
public string? Description { get; init; }
}
PropriétéTypeRequisDescription
TitrestringOuiTitre de l'objet de consentement
IdentifiantExternestringOuiIdentifiant externe
Descriptionstring?NonDescription de l'objet de consentement

B2BConsentementSearchRequest

Paramètres de recherche pour les consentements.

public record B2BConsentementSearchRequest
{
public DateTime? Apres { get; init; }
public string? IdExterne { get; init; }
}
PropriétéTypeDescription
ApresDateTime?Filtrer les consentements après cette date
IdExternestring?Filtrer par identifiant externe de l'employé

Champs utilisateur

B2BChampUtilisateurItem

Représente un champ personnalisé configuré.

public class B2BChampUtilisateurItem
{
public required string Nom { get; set; }
public required string Label { get; set; }
public int Ordre { get; set; }
public required Guid TypeChampUtilisateurId { get; set; }
public required string TypeChampUtilisateurNom { get; set; }
public bool EstRequis { get; set; }
public int MaxLength { get; set; }
public string? TexteAide { get; set; }
public List<B2BChoixChampUtilisateurItem> Choix { get; set; } = [];
public List<B2BChampUtilisateurEmployeurItem> Employeurs { get; set; } = [];
}
PropriétéTypeDescription
NomstringNom technique du champ (identifiant unique)
LabelstringLibellé affiché à l'utilisateur
OrdreintPosition d'affichage du champ
TypeChampUtilisateurIdGuidID du type de champ (voir B2BTypeChampUtilisateur)
TypeChampUtilisateurNomstringNom du type de champ
EstRequisboolSi le champ est obligatoire
MaxLengthintLongueur maximale (pour les champs texte)
TexteAidestring?Texte d'aide affiché à l'utilisateur
ChoixList<B2BChoixChampUtilisateurItem>Options disponibles (pour les champs de type Choix)
EmployeursList<B2BChampUtilisateurEmployeurItem>Employeurs auxquels le champ est limité

B2BTypeChampUtilisateur

Types de champs utilisateur disponibles. Classe statique avec des constantes GUID.

public static class B2BTypeChampUtilisateur
{
public const string Choix = "00000000-0000-0000-0000-000000000001";
public const string Date = "00000000-0000-0000-0000-000000000002";
public const string Booleen = "00000000-0000-0000-0000-000000000003";
public const string Texte = "00000000-0000-0000-0000-000000000004";

public static readonly IReadOnlyList<string> PossibleValues =
[Choix, Date, Booleen, Texte];

public static bool IsValidType(string typeId);
}
ConstanteGUIDDescription
Choix00000000-...-000000000001Liste déroulante avec options prédéfinies
Date00000000-...-000000000002Champ de saisie de date
Booleen00000000-...-000000000003Case à cocher (Oui/Non)
Texte00000000-...-000000000004Champ de texte libre
info

B2BTypeChampUtilisateur est une classe statique, pas une enum. Utilisez les constantes GUID pour référencer les types de champs.


B2BChoixChampUtilisateurItem

Option d'un champ de type Choix.

public class B2BChoixChampUtilisateurItem
{
public string? IdExterne { get; set; }
public required string Label { get; set; }
public int Ordre { get; set; }
}
PropriétéTypeDescription
IdExternestring?Identifiant externe de l'option
LabelstringLibellé de l'option
OrdreintPosition d'affichage

B2BChampUtilisateurEmployeurItem

Employeur associé à un champ utilisateur (pour limiter la visibilité).

public class B2BChampUtilisateurEmployeurItem
{
public required string IdentifiantExterne { get; set; }
public required string Nom { get; set; }
}
PropriétéTypeDescription
IdentifiantExternestringIdentifiant externe de l'employeur
NomstringNom de l'employeur

B2BAddChampUtilisateurDto

DTO pour ajouter un champ personnalisé. Hérite de B2BEditChampUtilisateurDto.

public class B2BAddChampUtilisateurDto : B2BEditChampUtilisateurDto
{
public required string Nom { get; set; }
public required Guid TypeChampUtilisateurId { get; set; }
}
PropriétéTypeRequisDescription
NomstringOuiNom technique du champ (identifiant unique)
TypeChampUtilisateurIdGuidOuiID du type de champ (voir B2BTypeChampUtilisateur)

Plus toutes les propriétés héritées de B2BEditChampUtilisateurDto.


B2BEditChampUtilisateurDto

DTO pour modifier un champ personnalisé existant.

public class B2BEditChampUtilisateurDto
{
public required string Label { get; set; }
public int Ordre { get; set; }
public bool EstRequis { get; set; }
public int MaxLength { get; set; }
public string? TexteAide { get; set; }
}
PropriétéTypeRequisDescription
LabelstringOuiLibellé affiché à l'utilisateur
OrdreintNonPosition d'affichage (défaut: 0)
EstRequisboolNonSi le champ est obligatoire (défaut: false)
MaxLengthintNonLongueur maximale (défaut: 0)
TexteAidestring?NonTexte d'aide

B2BSetChoixChampUtilisateurRequest

Requête pour définir les options d'un champ de type Choix.

public class B2BSetChoixChampUtilisateurRequest
{
public required List<B2BChoixChampUtilisateurItem> Choix { get; set; }
}
PropriétéTypeDescription
ChoixList<B2BChoixChampUtilisateurItem>Liste des options à définir
attention

Cette opération remplace toutes les options existantes du champ.


B2BSetEmployeursChampUtilisateurRequest

Requête pour définir les employeurs associés à un champ personnalisé.

public class B2BSetEmployeursChampUtilisateurRequest
{
public required List<string> IdExternes { get; set; }
}
PropriétéTypeDescription
IdExternesList<string>Liste des identifiants externes des employeurs
attention

Cette opération remplace toutes les associations employeurs existantes du champ.


B2BValeurChampUtilisateurItem

Valeur d'un champ personnalisé pour un employé (lecture). Les valeurs sont typées selon le type du champ.

public class B2BValeurChampUtilisateurItem
{
public string Nom { get; set; } = null!;
public string? ValeurString { get; set; }
public DateTime? ValeurDate { get; set; }
public string? ValeurChoix { get; set; }
public bool? ValeurBool { get; set; }
}
PropriétéTypeDescription
NomstringNom technique du champ
ValeurStringstring?Valeur texte (pour les champs de type Texte)
ValeurDateDateTime?Valeur date (pour les champs de type Date)
ValeurChoixstring?Valeur sélectionnée (pour les champs de type Choix)
ValeurBoolbool?Valeur booléenne (pour les champs de type Booléen)
astuce

Seule la propriété correspondant au type du champ est remplie. Les autres sont null.


B2BValeurChampUtilisateurDto

DTO pour définir la valeur d'un champ personnalisé (écriture). Utilisé dans la synchronisation.

public class B2BValeurChampUtilisateurDto
{
public required string NomChamp { get; init; }
public required string Valeur { get; init; }
}
PropriétéTypeDescription
NomChampstringNom technique du champ
ValeurstringValeur en format texte
info

Contrairement à B2BValeurChampUtilisateurItem qui retourne des valeurs typées, le DTO d'écriture accepte toujours une valeur string qui est convertie selon le type du champ.


Courriels

B2BEnvoyerDerniereCarteMembreRequest

Requête pour envoyer la dernière carte de membre par courriel.

public class B2BEnvoyerDerniereCarteMembreRequest
{
public required string IdExterneEmploye { get; init; }
public required string Courriel { get; init; }
}
PropriétéTypeDescription
IdExterneEmployestringIdentifiant externe de l'employé
CourrielstringAdresse courriel du destinataire

B2BEnvoyerDerniereCarteMembrePourEmploiRequest

Requête pour envoyer la dernière carte de membre par courriel en ciblant un emploi spécifique. Résout le syndicat via la chaîne Emploi → Employeur → Syndicat.

public class B2BEnvoyerDerniereCarteMembrePourEmploiRequest
{
public required string IdExterneEmploi { get; init; }
public required string Courriel { get; init; }
}
PropriétéTypeDescription
IdExterneEmploistringIdentifiant externe de l'emploi ciblé
CourrielstringAdresse courriel du destinataire

B2BEnvoyerFormulairePourEmploiRequest

Requête pour envoyer une invitation à un formulaire en ciblant un emploi spécifique. Le lien inclut ?emploiId= pour pré-sélectionner l'emploi.

public class B2BEnvoyerFormulairePourEmploiRequest
{
public required string IdExterneEmploi { get; init; }
public required string Courriel { get; init; }
public required int IdFormulaire { get; init; }
}
PropriétéTypeDescription
IdExterneEmploistringIdentifiant externe de l'emploi ciblé
CourrielstringAdresse courriel du destinataire
IdFormulaireintIdentifiant du formulaire à envoyer

B2BEnvoyerCourrielTransactionnelRequest

Requête pour envoyer un courriel transactionnel.

public class B2BEnvoyerCourrielTransactionnelRequest
{
public required string Destinataire { get; init; }
public required string Sujet { get; init; }
public required string Contenu { get; init; }
public bool EstHtml { get; init; } = true;
public string? ReplyTo { get; init; }
public bool OmettrePiedDePage { get; init; }
public B2BMailerProviderType? Fournisseur { get; init; }
}
PropriétéTypeDéfautDescription
Destinatairestring-Adresse courriel du destinataire (requis)
Sujetstring-Objet du courriel (requis)
Contenustring-Corps du courriel (requis)
EstHtmlbooltrueSi le contenu est en HTML (sinon texte brut)
ReplyTostring?nullAdresse de réponse optionnelle
OmettrePiedDePageboolfalseSi true, le pied de page système n'est pas ajouté
FournisseurB2BMailerProviderType?nullFournisseur d'envoi (utilise le fournisseur actif si non spécifié)

B2BMailerProviderType

Types de fournisseurs de courriel transactionnel disponibles.

public enum B2BMailerProviderType
{
Cakemail = 1,
SendGrid = 2,
Postmark = 3,
Smtp = 4
}
ValeurDescription
Cakemail (1)Service de courriel transactionnel Cakemail
SendGrid (2)Service SendGrid par Twilio
Postmark (3)Service Postmark
Smtp (4)Serveur SMTP personnalisé