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