Votants (Votez)
Endpoints CRUD pour les votants d'une campagne, plus une mise à jour en lot du droit de vote. Module requis : Votez.
Toutes les routes sont sous le préfixe /b2b/v1/campagnes/{campagneId}/votants.
Liste des votants
GET /b2b/v1/campagnes/{campagneId}/votants
Filtres (query string)
| Nom | Type | Description |
|---|---|---|
courriel | string | Recherche partielle (contains) |
identifiant | string | Égalité stricte |
nom | string | Recherche partielle sur nom ou prenom |
droitDeVote | bool | Filtre par droit de vote |
estRadie | bool | Filtre par statut radié |
aVote | bool | Filtre par statut « a voté » |
Réponse
[
{
"id": "...",
"identifiant": "M-001",
"courriel": "alice@example.com",
"courrielAlternatif": null,
"nom": "Tremblay",
"prenom": "Alice",
"droitDeVote": true,
"estRadie": false,
"aVote": false,
"poids": 1.0,
"commentaire": null
}
]
Obtenir un votant
GET /b2b/v1/campagnes/{campagneId}/votants/{votantId}
| Nom | Emplacement | Type |
|---|---|---|
campagneId | Path | Guid |
votantId | Path | Guid |
Upsert (créer / modifier) un votant
PUT /b2b/v1/campagnes/{campagneId}/votants
Corps de la requête
{
"votantId": null,
"identifiant": "M-001",
"courriel": "alice@example.com",
"courrielAlternatif": null,
"nom": "Tremblay",
"prenom": "Alice",
"droitDeVote": true,
"poids": 1.0,
"commentaire": null
}
votantId null = création. Fourni = mise à jour de ce votant.
Réponse
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
L'identifiant Guid du votant créé ou mis à jour.
Erreurs possibles
| Code | HTTP | Signification |
|---|---|---|
Votant.CourrielDejaUtilise | 409 | Le courriel est déjà utilisé pour cette campagne |
Votant.IdentifiantDejaUtilise | 409 | L'identifiant est déjà utilisé |
Votant.ADejaVote | 400 | Le votant a déjà voté — modifications interdites |
Votant.EstRadie | 400 | Le votant est radié |
Supprimer un votant
DELETE /b2b/v1/campagnes/{campagneId}/votants/{votantId}
Erreurs possibles
| Code | HTTP | Signification |
|---|---|---|
Votant.ADesVotes | 400 | Le votant a déjà voté — utilisez radier à la place |
Radier un votant
POST /b2b/v1/campagnes/{campagneId}/votants/{votantId}/radier
Marque le votant comme radié — il est exclu des envois de jeton, des mises à jour en lot et ne peut plus voter.
Erreurs possibles
| Code | HTTP | Signification |
|---|---|---|
Votant.DejaRadie | 400 | Le votant est déjà radié |
Mise à jour en lot du droit de vote
POST /b2b/v1/campagnes/{campagneId}/votants/droits-de-vote
Idéal pour appliquer une liste d'exclus depuis un système externe. Prend en charge 40 000+ identifiants par appel, ignore les votants radiés, n'écrit que les différences.
Corps de la requête
{
"votantIds": ["...", "...", "..."],
"droitDeVote": false
}
Réponse
{
"nombreMisAJour": 1234,
"votantIdsNonTrouves": []
}
| Champ | Type | Description |
|---|---|---|
nombreMisAJour | int | Nombre de votants effectivement modifiés |
votantIdsNonTrouves | Guid[] | Identifiants ne correspondant à aucun votant de la campagne |
Voir aussi
IVotantsClient— client SDK .NET- Liste électorale · Campagnes
- Guide — workflow de vote