June 28, 2026 · 9 min read
API de sondage en direct pour votre produit
Créez des sondages, pilotez des sessions, lisez les résultats et recevez des webhooks depuis votre code : le guide de l'API PollsLive pour applis SaaS.
Si votre produit a une audience (un outil de webinaires, un LMS, une plateforme de communauté, une appli d'événement), tôt ou tard vous voudrez des sondages à l'intérieur. Construire de zéro le vote en temps réel, l'antifraude et une interface de résultats représente des mois de travail. Intégrer PollsLive, c'est une après-midi. Voici le parcours pour développeurs : créez un sondage, insérez l'embed, lisez les résultats et recevez des webhooks, avec de vrais appels à la documentation développeur.
Authentification : un seul token Bearer
Générez une clé d'API de workspace dans Studio → API développeur (elles ressemblent à `plv_live_…`) et envoyez-la comme token Bearer. Pas de valse OAuth pour un usage serveur à serveur ; OAuth client-credentials est disponible quand vous avez besoin d'un périmètre par locataire.
export POLLSLIVE_API=https://pollslive.com/api/v1
export POLLSLIVE_KEY=plv_live_xxxxxxxxxxxxxxxxxxxx
# Every request carries the key as a Bearer token:
# Authorization: Bearer $POLLSLIVE_KEY
# Limits and HTTP 429 handling: https://pollslive.com/docs/developers/rate-limitsÉtape 1 : Créez un sondage depuis votre code
Un sondage est un deck typé : content.questions est un tableau de diapos, chacune avec un discriminant kind. POST /polls renvoie le nouveau sondage, y compris son slug, qui est tout ce dont vous avez besoin pour l'intégrer.
curl -sS -X POST "$POLLSLIVE_API/polls" \
-H "Authorization: Bearer $POLLSLIVE_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Which feature should we build next?",
"renderingMode": "ASYNC",
"content": {
"questions": [{
"id": "next",
"kind": "multiple_choice",
"text": "Which feature should we build next?",
"options": [
{ "id": "a", "label": "Dark mode" },
{ "id": "b", "label": "Mobile app" },
{ "id": "c", "label": "Public API" }
]
}]
}
}'
# → { "poll": { "slug": "which-feature-x7f2", ... } }Étape 2 : Intégrez-le dans votre interface
Placez le sondage sur n'importe quelle page avec un iframe d'une ligne : pas de SDK, pas de librairie cliente et aucun traceur tiers qui voyage avec. Il s'adapte à son conteneur et fonctionne dans React, WordPress, Webflow ou du HTML brut.
<iframe
src="https://pollslive.com/embed/which-feature-x7f2"
width="100%" height="520"
style="border:0;border-radius:12px"
loading="lazy" title="PollsLive poll"></iframe>Étape 3 : Lisez les résultats quand vous en avez besoin
Récupérez les comptages à la demande pour vos propres tableaux de bord, ou exportez un CSV pour vos rapports. Les résultats reviennent par diapo avec les comptages et (pour les échelles) les moyennes.
curl -sS "$POLLSLIVE_API/polls/POLL_ID/results" \
-H "Authorization: Bearer $POLLSLIVE_KEY"
# → { "questions": [ { "id": "next", "options": [
# { "id": "a", "label": "Dark mode", "count": 64 },
# { "id": "b", "label": "Mobile app", "count": 41 },
# { "id": "c", "label": "Public API", "count": 95 } ] } ] }Étape 4 : Recevez les mises à jour avec des webhooks
Interroger l'API en boucle fonctionne, mais les webhooks sont meilleurs. Enregistrez un endpoint et PollsLive envoie des événements signés en HMAC (vote.created, poll.published, session.started/ended) pour que votre appli réagisse en temps réel. Vérifiez la signature puis mettez à jour votre interface ou retransmettez l'événement.
import crypto from "node:crypto";
// header: the X-PollsLive-Signature value, "t=<unix>,v1=<hex>"
export function verify(rawBody, header, secret, toleranceSec = 300) {
const parts = Object.fromEntries(
header.split(",").map((kv) => kv.split("=")),
);
const t = Number(parts.t);
if (!t || Math.abs(Date.now() / 1000 - t) > toleranceSec) return false;
const expected = crypto
.createHmac("sha256", secret)
.update(`${t}.${rawBody}`)
.digest("hex");
const a = Buffer.from(expected);
const b = Buffer.from(parts.v1 ?? "");
return a.length === b.length && crypto.timingSafeEqual(a, b);
}Voilà tout le cycle : créer, intégrer, lire, réagir. Pour la référence complète (chaque endpoint, scope et type d'événement), consultez la documentation pour développeurs, et pour un exemple concret, amener les résultats live dans un tableau de bord interne avec des webhooks.
Tip
Commencez par l'API REST pour créer et publier, puis ajoutez des webhooks quand vous avez besoin de recevoir les résultats en direct.
Pour un partage sans code, consultez partager et intégrer votre sondage.
Construisez sur PollsLive : créez des sondages, pilotez des sessions live, récupérez les résultats et recevez des webhooks depuis votre propre code.
Lisez la documentation pour développeurs