PollsLivePollsLive
← All posts

June 28, 2026 · 8 min read

Intégrez des sondages live dans votre produit avec l'API PollsLive

Créez des sondages, pilotez des sessions live, lisez les résultats et recevez des webhooks depuis votre propre code : un guide pour développeurs afin d'intégrer des sondages interactifs au cœur de votre SaaS ou de votre appli de communauté.

By Tom Becker · Full-stack developer·DevelopersHow-to

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 à /api/v1.

Authentification : un seul token Bearer

Générez une clé d'API de workspace dans Studio → Developers (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.

auth
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
# Rate limit: 120 requests/min per key (HTTP 429 if exceeded).

É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.

POST /polls
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.

embed
<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.

GET results
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.

verify a webhook (Node)
import crypto from "node:crypto";

export function verify(rawBody, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

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.

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