Cum să publici în siguranță răspunsurile formularelor pe site
O cerință frecventă: „Vreau să afișez o listă cu înscriși pe site” sau „Am nevoie de răspunsuri direct în administrarea proprie”. REST API-ul face asta, iar diferența între o implementare sigură și una nesigură depinde de un singur lucru: unde se află cheia API.
De reținut: editorul Gatherino și contul sunt disponibile în engleză sau cehă. Formularele completate de respondenți pot fi afișate în 18 limbi, inclusiv în română.
Regula de bază
Cheia API trebuie să se afle pe server, niciodată în JavaScript-ul din browser. Dacă este pusă în codul front-end, oricine o poate citi din sursa paginii și poate descărca fiecare răspuns din toate formularele, nu doar din cele pe care vrei să le afișezi.
Fluxul corect este: browserul cere date de la serverul tău → serverul cere datele de la Gatherino folosind cheia → serverul returnează doar câmpurile destinate publicului.
Partea de server
Preluarea răspunsurilor pe 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],
}));Pașii
- 1
Crearea cheii API
Din Setări → Chei API. Se afișează o singură dată, așa că trebuie stocată într-o variabilă de mediu pe server.
- 2
Găsirea ID-urilor câmpurilor
Endpoint-ul de detalii al formularului returnează ID-ul și eticheta fiecărui câmp. Păstrează maparea — ID-urile sunt stabile.
- 3
Gestionarea paginării
O cerere returnează cel mult 100 de răspunsuri. Parcurge paginile următoare folosind câmpul totalPages.
- 4
Adăugarea cache-ului
Nu se apelează API-ul la fiecare încărcare a paginii. Un cache de câteva minute este suficient și îți economisește efort.
- 5
Filtrarea datelor publicate
Se aleg câmpuri specifice. Obiectul complet de răspuns nu se trimite niciodată în browser.
Date personale: o listă cu nume pe un site public constituie publicarea de date cu caracter personal. Este necesară o bază legală, iar publicarea trebuie limitată la detalii pe care persoanele se așteaptă să le vadă publice (de exemplu, numele de pe o listă de start despre care au fost informate din timp).
Întrebări frecvente
Pot apela API-ul direct din browser?
Nu cu cheia API, deoarece ar deveni publică. Apelurile trebuie făcute întotdeauna prin propriul server.
De ce cheile datelor au forma field_1778…?
Acestea sunt ID-urile câmpurilor din formular. Etichetele lor se preiau din detaliile formularului.
Cât de des ar trebui preluate datele?
Atunci când este necesar. Pentru o listă de înscriși, preluarea la fiecare câteva minute este suficientă. Pentru reacții instantanee se folosește un webhook.
API-ul acceptă diacritice?
Da, totul este în UTF-8.
Similare
Încearcă Gatherino gratuit
Plan gratuit: 3 formulare și 100 de răspunsuri pe lună. Fără card de credit, date găzduite în UE.
Începe gratuit →