Desarrolladores / Referencia de la API

Poll API

v3

Las integraciones creadas para la API anterior de StrawPoll siguen funcionando. Así se corresponde la v3 con los formularios.

URL base
https://api.strawpoll.com/v3
Especificación
OpenAPI 3

La Poll API v3 sigue funcionando

El código escrito para la API anterior de StrawPoll sigue funcionando. Los endpoints v3 se siguen sirviendo igual en https://api.strawpoll.com/v3 (y https://strawpoll.com/api/v3), aceptan la misma cabecera X-API-Key y hablan el mismo JSON, como se describe en la especificación OpenAPI v3.

Para proyectos nuevos, usa la Forms API (v4): cubre todos los tipos de pregunta, además de los borradores, las respuestas y las invitaciones. La v3 seguirá recibiendo correcciones, pero no funciones nuevas.

En qué se ha convertido una encuesta v3

Cada encuesta v3 es un formulario de una sola pregunta:

type v3Sección del formulario
multiple_choice con opciones textmultiple_choice
multiple_choice con opciones imagepicture_choice
ranked_choiceranked_choice
meeting con opciones date y time_rangemeeting

El id de una encuesta es el slug del formulario, y los identificadores de opciones son identificadores de choices. Así que puedes combinar las dos API: crear una encuesta con la v3 y leer sus respuestas con la v4, o al revés. require_voter_names añade una sección de datos de contacto que pide un nombre.

Los formularios de varias preguntas se pueden leer con la v3, que muestra su primera pregunta. Cualquier cambio a través de la v3 se rechaza con 409 unsupported_form: así la v3 nunca elimina preguntas que no ve. Usa la v4 para esos formularios.

Ajustes

poll_configAjuste del formulario
deadline_atclosesAt
duplication_checking: ip, session, invite, noneresponseDuplicateCheck: ip, session, code, none
results_visibility: always, after_vote, after_deadline, neverresultsVisibility: public, public_after_response, public_after_close, private
edit_vote_permissions: admin, admin_voter, voter, nobodyeditResponsePermissions: admin, admin_own_responses, own_responses, nobody
hide_participantsresponsesVisibility: private
allow_commentsallowComments, con comentarios públicos
allow_vpn_userslo contrario de blockVPNUsers
force_appearance: light, dark, autoel tema claro u oscuro de StrawPoll, o ninguno
is_multiple_choice, multiple_choice_min, multiple_choice_maxiguales, y 0 significa sin límite
allow_other_optionrespuestas libres
randomize_optionsopciones mezcladas
allow_indeterminaterespuestas «si hace falta» en las encuestas de reunión
require_voter_namesuna pregunta de nombre; siempre activa en las encuestas de reunión

PUT/polls/{id} conserva cada ajuste que omitas en poll_config, así como los votos de las opciones cuyo id vuelvas a enviar.

Los formularios configurados en el editor pueden usar controles que la v3 no conoce. Aparecen con el valor v3 más parecido: un control por nombre como session, un control por correo como invite.

Las diferencias que conviene conocer

  • Las encuestas se publican al instante. La v3 no tenía borradores. Los cambios con PUT están en línea enseguida; un borrador abierto en el editor no se toca.
  • is_private siempre vale true. En la nueva plataforma, las encuestas nunca aparecen públicamente en listados.
  • Resultados. poll_votes vale 1 (elegida o sí), 0 (no elegida o no), 2 (si hace falta) y null (sin respuesta). En ranked_choice, es el puesto que el participante dio a la opción, siendo 1 el primero. poll_participants está vacío, salvo que los nombres sean públicos o la encuesta sea tuya. Los resultados que aún no puedes ver responden 403 results_hidden.
  • Las respuestas libres aparecen como opciones adicionales con is_write_in: true.
  • Los comentarios son notas que los participantes dejan con su voto. Puedes listarlos, leerlos y (como propietario de la encuesta) eliminarlos; POST/comments y PUT/comments/{id} responden 501.
  • Usuarios. No hay perfiles públicos: /users/@me (o tu propio id) funciona, y cualquier otro usuario devuelve 404. username vale null y user_meta solo contiene valores por defecto. PATCH/users/@me cambia displayname.
  • Medios. POST/upload acepta imágenes (JPEG, PNG, GIF o WebP, hasta 5 MB). Los vídeos y los medios de YouTube y Giphy no son compatibles: por eso POST/media y PUT/media/{id} responden 501. DELETE/media/{id} rechaza las imágenes que aún muestra una encuesta.
  • Los contadores que ya no existen, como view_count y los puntos, valen 0.
  • Los errores son objetos JSON con error y code, y se aplican los mismos límites de frecuencia que en la v4.

Tus claves actuales

Las claves de la plataforma anterior siguen funcionando una vez migrada tu cuenta. También puedes crear claves nuevas en Ajustes → Claves de API; funcionan tanto para la v3 como para la v4.