June 28, 2026 · 8 min read
Integra encuestas en vivo en tu producto con la API de PollsLive
Crea encuestas, dirige sesiones en vivo, lee resultados y recibe webhooks desde tu propio código: una guía para desarrolladores para integrar encuestas interactivas dentro de tu SaaS o app de comunidad.
Si tu producto tiene audiencia —una herramienta de webinars, un LMS, una plataforma de comunidad, una app de eventos— tarde o temprano querrás encuestas dentro de él. Construir votación en tiempo real, antifraude y una interfaz de resultados desde cero son meses de trabajo. Integrar PollsLive es una tarde. Este es el camino para desarrolladores: crea una encuesta, inserta el embed, lee resultados y recibe webhooks, con llamadas reales a /api/v1.
Autenticación: un único token Bearer
Genera una clave de API de workspace en Studio → Developers (se ven como `plv_live_…`) y envíala como token Bearer. Sin baile de OAuth para uso servidor-a-servidor; OAuth client-credentials está disponible cuando necesitas alcance por inquilino.
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).Paso 1 — Crea una encuesta desde tu código
Una encuesta es un deck tipado: content.questions es un array de diapositivas, cada una con un discriminador kind. POST /polls devuelve la nueva encuesta, incluido su slug, que es todo lo que necesitas para insertarla.
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", ... } }Paso 2 — Insértala en tu interfaz
Coloca la encuesta en cualquier página con un iframe de una línea: sin SDK, sin librería cliente y sin rastreadores de terceros viajando con ella. Se adapta a su contenedor y funciona dentro de React, WordPress, Webflow o HTML plano.
<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>Paso 3 — Lee los resultados cuando los necesites
Obtén los conteos bajo demanda para tus propios paneles, o exporta un CSV para informes. Los resultados vuelven por diapositiva con conteos y (para escalas) promedios.
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 } ] } ] }Paso 4 — Recibe actualizaciones con webhooks
Sondear la API funciona, pero los webhooks son mejores. Registra un endpoint y PollsLive envía eventos firmados con HMAC —vote.created, poll.published, session.started/ended— para que tu app reaccione en tiempo real. Verifica la firma y luego actualiza tu interfaz o reenvía el evento.
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)
);
}Ese es todo el ciclo: crear, insertar, leer, reaccionar. Para la referencia completa —cada endpoint, scope y tipo de evento— consulta la documentación para desarrolladores, y para un ejemplo práctico, llevar resultados en vivo a un panel interno con webhooks.
Construye sobre PollsLive: crea encuestas, dirige sesiones en vivo, obtén resultados y recibe webhooks desde tu propio código.
Lee la documentación para desarrolladores