Aller au contenu principal

Campagnes (Votez)

Gestion complète des campagnes de vote. Module requis : Votez.

Pour le parcours complet, voir le guide de workflow de vote.

Liste des campagnes​

GET /b2b/v1/campagnes

Filtres (query string)​

NomTypeDescription
etatstringFiltre par état (Brouillon, Planifie, VoteOuvert, Termine, Archive)
titrestringRecherche partielle (contains)
ouvertureApresDateTimeOuvertureDuVoteUtc ≥ ouvertureApres
fermetureAvantDateTimeFermetureDuVoteUtc ≤ fermetureAvant

Réponse​

[
{
"id": "...",
"titre": "Vote d'acceptation 2026",
"slug": "vote-acceptation-2026",
"ouvertureDuVoteUtc": "2026-05-01T14:00:00Z",
"fermetureDuVoteUtc": "2026-05-08T14:00:00Z",
"etat": "Planifie",
"estPublie": true,
"estArchive": false,
"nombreVotants": 1247,
"nombreQuestions": 3,
"dateCreationUtc": "2026-04-20T10:00:00Z",
"dateModificationUtc": "2026-04-24T14:30:00Z"
}
]

Obtenir une campagne​

GET /b2b/v1/campagnes/{id}
NomEmplacementTypeDescription
idPathGuidIdentifiant de la campagne

Statistiques de campagne​

GET /b2b/v1/campagnes/{id}/stats
NomEmplacementTypeDescription
idPathGuidIdentifiant de la campagne
syndicatIdExterneQuerystring?Limite les stats à un syndicat

Réponse​

{
"campagneId": "...",
"titre": "Vote d'acceptation 2026",
"etat": "VoteOuvert",
"totalVotants": 1247,
"totalVotantsAvecDroitDeVote": 1235,
"votantsAyantVote": 892,
"tauxParticipation": 72.23,
"resultatsVisibles": false,
"questions": [ /* B2BQuestionStatsItem */ ]
}

resultatsVisibles = false pendant la campagne tant que l'indicateur de fonctionnalité « affichage des résultats actifs » est désactivé. Les détails par option n'apparaissent qu'après FermetureDuVoteUtc.


Créer une campagne​

POST /b2b/v1/campagnes

Corps de la requête​

{
"titre": "Vote d'acceptation — Convention 2026",
"ouvertureDuVoteUtc": "2026-05-01T14:00:00Z",
"fermetureDuVoteUtc": "2026-05-08T14:00:00Z",
"textePageAccueil": "<p>Bienvenue...</p>",
"libelleAbstention": "Je m'abstiens",
"ordreReponsesAleatoire": false
}

Réponse​

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

L'identifiant de la campagne créée.

Erreurs possibles​

CodeHTTPSignification
Campagne.OuvertureVoteApresFermeture400ouvertureDuVoteUtc après fermetureDuVoteUtc
Campagne.SlugDejaUtilise409Le slug généré à partir du titre est déjà utilisé
Campagne.NomDejaUtilise409Une campagne porte déjà ce titre

Modifier une campagne​

PUT /b2b/v1/campagnes/{id}

Les modifications structurelles (questions, options, ordre) sont gelées une fois la campagne publiée.


Supprimer une campagne​

DELETE /b2b/v1/campagnes/{id}

Erreurs possibles​

CodeHTTPSignification
Campagne.SupprimerAvecVotes409Des votes ont été enregistrés — suppression bloquée

Publier une campagne​

POST /b2b/v1/campagnes/{id}/publier

Verrouille la structure et expose la campagne aux votants.

Erreurs possibles​

CodeHTTPSignification
Campagne.AucuneQuestion400La campagne doit avoir au moins une question
Campagne.TransitionNonPermise400L'état courant ne permet pas la publication

Dépublier une campagne​

POST /b2b/v1/campagnes/{id}/depublier

Possible uniquement si aucun vote n'a été enregistré.

Erreurs possibles​

CodeHTTPSignification
Campagne.DepublierAvecVotes400Des votes ont été enregistrés — dépublication bloquée

Voir aussi​