Cómo publicar respuestas de formularios de forma segura en tu web

Una petición habitual: «Quiero mostrar una lista de inscritos en nuestra web» o «necesito ver las respuestas en mi propio panel de administración». La API REST lo permite, y la diferencia entre una implementación segura y una insegura se reduce a una sola cosa: dónde está la clave API.

Dato útil: el editor y la cuenta de Gatherino están disponibles en inglés o checo. Los formularios que rellenan quienes responden pueden mostrarse en 18 idiomas, incluido el español.

La regla básica

La clave API debe estar en tu servidor, nunca en el JavaScript del navegador. Si la incluyes en el código del front-end, cualquiera puede leerla en el código fuente de la página y descargar todas las respuestas de todos tus formularios, no solo las que quieres mostrar.

El flujo correcto es: el navegador pide datos a tu servidor → tu servidor consulta a Gatherino con la clave → tu servidor devuelve solo los campos pensados para ser públicos.

La parte del servidor

Obtener las respuestas en tu backend (Node.js):

const res = await fetch(
  `https://gatherino.com/api/v1/submissions?formId=${FORM_ID}&limit=100`,
  { headers: { Authorization: `Bearer ${process.env.GATHERINO_KEY}` } }
);
const { items, total, totalPages } = await res.json();

// Publish selected fields only — never the whole data object
const publicList = items.map((s) => ({
  name: s.data[FIELD_NAME_ID],
  city: s.data[FIELD_CITY_ID],
}));

Los pasos

  1. 1

    Crea una clave API

    En Ajustes → Claves API. Se muestra una sola vez, así que guárdala en una variable de entorno del servidor.

  2. 2

    Localiza los IDs de los campos

    El endpoint de detalle del formulario devuelve el ID y la etiqueta de cada campo. Guarda esta correspondencia: los IDs son estables.

  3. 3

    Gestiona la paginación

    Cada petición devuelve como máximo 100 respuestas. Recorre las páginas restantes usando totalPages.

  4. 4

    Añade caché

    No llames a la API en cada carga de página. Guardar en caché durante unos minutos es suficiente y también te ahorra trabajo.

  5. 5

    Filtra lo que publicas

    Elige campos concretos. Nunca envíes el objeto de respuesta completo al navegador.

Datos personales: una lista de nombres en un sitio web público supone publicar datos personales. Asegúrate de tener una base jurídica o publica solo datos que los interesados esperen que sean públicos (por ejemplo, nombres en una lista de participantes que ya conocían de antemano).

Preguntas frecuentes

¿Puedo llamar a la API directamente desde el navegador?

No con tu clave API, porque quedaría expuesta públicamente. Pasa siempre por tu propio servidor.

¿Por qué las claves de datos son como field_1778…?

Son los IDs de los campos del formulario. Obtén sus etiquetas desde el detalle del formulario.

¿Con qué frecuencia debo consultar los datos?

Según necesites: para una lista de inscritos, cada pocos minutos es suficiente. Si necesitas reacciones instantáneas, usa un webhook.

¿La API admite tildes y caracteres especiales?

Sí, todo está en UTF-8.

Relacionados

Prueba Gatherino gratis

Plan gratuito: 3 formularios y 100 respuestas al mes. Sin tarjeta de crédito. Datos alojados en la UE.

Empieza gratis →