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é | Type | Description |
|---|---|---|
IdUnique | string | Identifiant unique de l'élément en erreur |
Message | string | Description 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é | Type | Description |
|---|---|---|
Erreurs | List<B2BError> | Liste des erreurs individuelles |
AddCount | int | Nombre d'éléments créés |
UpdateCount | int | Nombre 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é | Type | Description |
|---|---|---|
Employes | B2BSyncResult | Résultat de synchronisation des employés |
Employeurs | B2BSyncResult | Résultat de synchronisation des employeurs |
ObjetsConsentement | B2BSyncResult | Ré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é | Type | Description |
|---|---|---|
ErreursEmployes | List<B2BError> | Erreurs liées aux employés |
ErreursEmployeurs | List<B2BError> | Erreurs liées aux employeurs |
ErreursObjetsConsentement | List<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é | Type | Description |
|---|---|---|
DateSignature | DateTime | Date de signature de l'adhésion |
Courriel | string | Courriel utilisé lors de la signature |
IdUnique | string | Identifiant unique de l'employé |
IdUniqueAdhesion | string | Identifiant unique de l'adhésion |
TransactionId | string | Identifiant de la transaction |
ASignatureManuscripte | bool | Si l'adhésion a une signature manuscrite |
Employe | B2BEmployeItem | Données de l'employé |
SyndicatIdExterne | string? | Identifiant externe du syndicat |
SyndicatNom | string? | 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é | Type | Description |
|---|---|---|
Apres | DateTime? | Filtrer les adhésions après cette date |
IdExterne | string? | 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é | Type | Description |
|---|---|---|
IdentifiantExterne | string | Identifiant externe de l'emploi |
IdUnique | Guid | Identifiant unique (GUID) pour le routage URL |
IdentifiantExterneEmploye | string | Identifiant externe de l'employé |
IdentifiantExterneEmployeur | string | Identifiant externe de l'employeur |
NomEmployeur | string | Nom de l'employeur |
Matricule | string? | Matricule de l'employé chez cet employeur |
DateDebut | DateTime? | Date de début de l'emploi |
DateFin | DateTime? | 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é | Type | Requis | Description |
|---|---|---|---|
IdentifiantExterne | string | Oui | Identifiant externe de l'emploi |
IdentifiantExterneEmploye | string | Oui | Identifiant externe de l'employé |
IdentifiantExterneEmployeur | string | Oui | Identifiant externe de l'employeur |
Matricule | string? | Non | Matricule de l'employé |
DateDebut | DateTime? | Non | Date de début |
DateFin | DateTime? | Non | Date 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é | Type | Description |
|---|---|---|
Nom | string | Nom du syndicat |
IdentifiantExterne | string | Identifiant 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é | Type | Description |
|---|---|---|
Id | int | Identifiant unique du formulaire |
Nom | string | Nom du formulaire |
Description | string? | Description du formulaire |
TypeFormulaire | string | Type 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é | Type | Description |
|---|---|---|
IdExterneEmploye | string | Identifiant externe de l'employé |
Courriel | string | Adresse courriel du destinataire |
IdFormulaire | int | Identifiant 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é | Type | Description |
|---|---|---|
IdExterne | string? | Identifiant externe du consentement |
DateConsentement | DateTime | Date du consentement |
Consent | bool | Si le consentement est accepté |
Employe | B2BEmployeItem | Données de l'employé |
ObjetDeConsentement | B2BConsentementItemObjetConsentement | Objet 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é | Type | Description |
|---|---|---|
IdentifiantExterne | string | Identifiant externe de l'objet de consentement |
Titre | string | Titre 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é | Type | Requis | Description |
|---|---|---|---|
Titre | string | Oui | Titre de l'objet de consentement |
IdentifiantExterne | string | Oui | Identifiant externe |
Description | string? | Non | Description 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é | Type | Description |
|---|---|---|
Apres | DateTime? | Filtrer les consentements après cette date |
IdExterne | string? | 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é | Type | Description |
|---|---|---|
Nom | string | Nom technique du champ (identifiant unique) |
Label | string | Libellé affiché à l'utilisateur |
Ordre | int | Position d'affichage du champ |
TypeChampUtilisateurId | Guid | ID du type de champ (voir B2BTypeChampUtilisateur) |
TypeChampUtilisateurNom | string | Nom du type de champ |
EstRequis | bool | Si le champ est obligatoire |
MaxLength | int | Longueur maximale (pour les champs texte) |
TexteAide | string? | Texte d'aide affiché à l'utilisateur |
Choix | List<B2BChoixChampUtilisateurItem> | Options disponibles (pour les champs de type Choix) |
Employeurs | List<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);
}
| Constante | GUID | Description |
|---|---|---|
Choix | 00000000-...-000000000001 | Liste déroulante avec options prédéfinies |
Date | 00000000-...-000000000002 | Champ de saisie de date |
Booleen | 00000000-...-000000000003 | Case à cocher (Oui/Non) |
Texte | 00000000-...-000000000004 | Champ de texte libre |
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é | Type | Description |
|---|---|---|
IdExterne | string? | Identifiant externe de l'option |
Label | string | Libellé de l'option |
Ordre | int | Position 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é | Type | Description |
|---|---|---|
IdentifiantExterne | string | Identifiant externe de l'employeur |
Nom | string | Nom 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é | Type | Requis | Description |
|---|---|---|---|
Nom | string | Oui | Nom technique du champ (identifiant unique) |
TypeChampUtilisateurId | Guid | Oui | ID 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é | Type | Requis | Description |
|---|---|---|---|
Label | string | Oui | Libellé affiché à l'utilisateur |
Ordre | int | Non | Position d'affichage (défaut: 0) |
EstRequis | bool | Non | Si le champ est obligatoire (défaut: false) |
MaxLength | int | Non | Longueur maximale (défaut: 0) |
TexteAide | string? | Non | Texte 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é | Type | Description |
|---|---|---|
Choix | List<B2BChoixChampUtilisateurItem> | Liste des options à définir |
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é | Type | Description |
|---|---|---|
IdExternes | List<string> | Liste des identifiants externes des employeurs |
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é | Type | Description |
|---|---|---|
Nom | string | Nom technique du champ |
ValeurString | string? | Valeur texte (pour les champs de type Texte) |
ValeurDate | DateTime? | Valeur date (pour les champs de type Date) |
ValeurChoix | string? | Valeur sélectionnée (pour les champs de type Choix) |
ValeurBool | bool? | Valeur booléenne (pour les champs de type Booléen) |
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é | Type | Description |
|---|---|---|
NomChamp | string | Nom technique du champ |
Valeur | string | Valeur en format texte |
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é | Type | Description |
|---|---|---|
IdExterneEmploye | string | Identifiant externe de l'employé |
Courriel | string | Adresse 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é | Type | Description |
|---|---|---|
IdExterneEmploi | string | Identifiant externe de l'emploi ciblé |
Courriel | string | Adresse 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é | Type | Description |
|---|---|---|
IdExterneEmploi | string | Identifiant externe de l'emploi ciblé |
Courriel | string | Adresse courriel du destinataire |
IdFormulaire | int | Identifiant 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é | Type | Défaut | Description |
|---|---|---|---|
Destinataire | string | - | Adresse courriel du destinataire (requis) |
Sujet | string | - | Objet du courriel (requis) |
Contenu | string | - | Corps du courriel (requis) |
EstHtml | bool | true | Si le contenu est en HTML (sinon texte brut) |
ReplyTo | string? | null | Adresse de réponse optionnelle |
OmettrePiedDePage | bool | false | Si true, le pied de page système n'est pas ajouté |
Fournisseur | B2BMailerProviderType? | null | Fournisseur 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
}
| Valeur | Description |
|---|---|
Cakemail (1) | Service de courriel transactionnel Cakemail |
SendGrid (2) | Service SendGrid par Twilio |
Postmark (3) | Service Postmark |
Smtp (4) | Serveur SMTP personnalisé |