June 28, 2026 · 9 min read

Integre enquetes ao vivo ao seu produto com a API do PollsLive

Crie enquetes, conduza sessões ao vivo, leia resultados e receba webhooks a partir do seu próprio código: um guia para desenvolvedores integrarem enquetes interativas dentro do seu SaaS ou app de comunidade.

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

Se o seu produto tem público - uma ferramenta de webinars, um LMS, uma plataforma de comunidade, um app de eventos - mais cedo ou mais tarde você vai querer enquetes dentro dele. Construir votação em tempo real, antifraude e uma interface de resultados do zero são meses de trabalho. Integrar o PollsLive é uma tarde. Este é o caminho para desenvolvedores: crie uma enquete, insira o embed, leia resultados e receba webhooks, com chamadas reais à /api/v1.

Tip

Você não precisa ser técnico para seguir este guia. Cada passo usa botões simples no PollsLive - sem código, sem instalar app para seu público.

Autenticação: um único token Bearer

Gere uma chave de API de workspace em Studio → Developers (elas se parecem com `plv_live_…`) e envie-a como token Bearer. Sem dança de OAuth para uso servidor-a-servidor; OAuth client-credentials está disponível quando você precisa de escopo por tenant.

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

Passo 1 - Crie uma enquete a partir do seu código

Uma enquete é um deck tipado: content.questions é um array de slides, cada um com um discriminador kind. POST /polls retorna a nova enquete, incluindo seu slug, que é tudo o que você precisa para inseri-la.

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", ... } }

Passo 2 - Insira-a na sua interface

Coloque a enquete em qualquer página com um iframe de uma linha: sem SDK, sem biblioteca cliente e sem rastreadores de terceiros viajando junto. Ela se adapta ao seu contêiner e funciona dentro de React, WordPress, Webflow ou HTML puro.

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>

Passo 3 - Leia os resultados quando precisar

Obtenha as contagens sob demanda para os seus próprios painéis, ou exporte um CSV para relatórios. Os resultados voltam por slide com contagens e (para escalas) médias.

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 } ] } ] }

Passo 4 - Receba atualizações com webhooks

Fazer polling na API funciona, mas os webhooks são melhores. Registre um endpoint e o PollsLive envia eventos assinados com HMAC - vote.created, poll.published, session.started/ended - para que o seu app reaja em tempo real. Verifique a assinatura e depois atualize a sua interface ou repasse o evento.

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)
  );
}

Esse é o ciclo todo: criar, inserir, ler, reagir. Para a referência completa - cada endpoint, escopo e tipo de evento - consulte a documentação para desenvolvedores, e para um exemplo prático, levar resultados ao vivo a um painel interno com webhooks.

Tip

Comece com a REST API para criar e publicar, depois adicione webhooks quando precisar de pushes de resultados ao vivo.

The Create your poll panel on the PollsLive home page with Questionnaire and Templates tabs.
Start from the Create your poll panel on the home page.
Results panel with stat tiles, breakdown by question, and export buttons.
The Results tab shows every answer and export options.

Para compartilhamento sem código, veja compartilhe e incorpore sua enquete.

Desenvolva no PollsLive - crie enquetes, conduza sessões ao vivo, obtenha resultados e receba webhooks pelo seu próprio código.

Leia a documentação para desenvolvedores