Formulierreacties veilig publiceren op je website

Een veelgehoorde vraag: “Ik wil een lijst met deelnemers op onze site tonen” of “ik wil reacties in mijn eigen beheeromgeving hebben”. De REST API doet dat — en het verschil tussen een veilige en een onveilige implementatie komt neer op één ding: waar de API-sleutel staat.

Goed om te weten: de Gatherino-editor en je account zijn in het Engels of Tsjechisch. De formulieren die je invullers invullen, kunnen in 18 talen worden getoond, inclusief het Nederlands.

De basisregel

De API-sleutel hoort op je server, nooit in JavaScript in de browser. Zet je de sleutel in frontendcode, dan kan iedereen hem uit de broncode van de pagina halen — en elke reactie van al je formulieren downloaden, niet alleen de reacties die je wilde tonen.

De correcte volgorde is: de browser vraagt je server → je server vraagt Gatherino met de sleutel → je server stuurt alleen de velden terug die openbaar mogen zijn.

De serverkant

Reacties ophalen op je 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],
}));

De stappen

  1. 1

    Een API-sleutel aanmaken

    Ga naar Instellingen → API-sleutels. De sleutel wordt maar één keer getoond, dus bewaar hem in een omgevingsvariabele op de server.

  2. 2

    Veld-ID's opzoeken

    Het eindpunt met formulierdetails geeft het ID en label van elk veld terug. Bewaar de koppeling — ID's blijven stabiel.

  3. 3

    Paginering afhandelen

    Eén verzoek geeft maximaal 100 reacties terug. Haal extra pagina's op via totalPages.

  4. 4

    Caching toevoegen

    Roep de API niet bij elke paginaweergave aan. Caching van enkele minuten is ruim voldoende en scheelt je ook werk.

  5. 5

    Filter wat je publiceert

    Kies specifieke velden. Stuur nooit het volledige reactieobject naar de browser.

Persoonsgegevens: een lijst met namen op een openbare website is een publicatie van persoonsgegevens. Zorg dat je een rechtsgrond hebt, of publiceer alleen gegevens die deelnemers openbaar verwachten (bijvoorbeeld namen op een deelnemerslijst die ze vooraf kenden).

Veelgestelde vragen

Kan ik de API rechtstreeks vanuit de browser aanroepen?

Niet met je API-sleutel — die zou dan openbaar zijn. Ga altijd via je eigen server.

Waarom zien de gegevenssleutels eruit als field_1778…?

Dat zijn de veld-ID's van het formulier. Haal hun labels op via de formulierdetails.

Hoe vaak moet ik ophalen?

Zo vaak als nodig — voor een deelnemerslijst is om de paar minuten ruim voldoende. Wil je direct reageren, gebruik dan een webhook.

Ondersteunt de API diakrieten?

Ja, alles is UTF-8.

Gerelateerd

Probeer Gatherino gratis

Gratis abonnement: 3 formulieren en 100 antwoorden per maand. Geen creditcard nodig, gegevens gehost in de EU.

Gratis aan de slag →