Jak bezpiecznie publikować odpowiedzi z formularza na Twojej stronie

Częsta prośba: „Chcę pokazać listę zapisanych osób na naszej stronie” albo „Potrzebuję odpowiedzi w moim własnym panelu administracyjnym”. REST API to umożliwia, a o tym, czy wdrożenie będzie bezpieczne, decyduje jedna rzecz: gdzie znajduje się klucz API.

Warto wiedzieć: edytor Gatherino i konto są dostępne po angielsku lub czesku. Formularze wypełniane przez respondentów mogą być wyświetlane w 18 językach, w tym po polsku.

Podstawowa zasada

Klucz API powinien znajdować się na Twoim serwerze, nigdy w kodzie JavaScript po stronie przeglądarki. Umieszczenie klucza w kodzie front-endu sprawia, że każdy może odczytać go ze źródła strony i pobrać każdą odpowiedź z każdego Twojego formularza, nie tylko tych, które chciałeś pokazać.

Prawidłowy przebieg wygląda tak: przeglądarka pyta Twój serwer → serwer pyta Gatherino z kluczem → serwer zwraca tylko te pola, które mają być publiczne.

Część serwerowa

Pobieranie odpowiedzi na backendzie (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],
}));

Kroki

  1. 1

    Utwórz klucz API

    W sekcji Ustawienia → Klucze API. Jest wyświetlany tylko raz, dlatego zapisz go w zmiennej środowiskowej po stronie serwera.

  2. 2

    Znajdź ID pól

    Punkt końcowy szczegółów formularza zwraca ID i etykietę każdego pola. Zachowaj mapowanie, ponieważ ID są stabilne.

  3. 3

    Obsłuż paginację

    Jedno żądanie zwraca maksymalnie 100 odpowiedzi. Pobieraj kolejne strony, korzystając z pola totalPages.

  4. 4

    Dodaj buforowanie

    Nie wywołuj API przy każdym załadowaniu strony. Buforowanie na kilka minut w zupełności wystarcza i oszczędza też Twój czas.

  5. 5

    Filtruj to, co publikujesz

    Wybieraj konkretne pola. Nigdy nie wysyłaj całego obiektu odpowiedzi do przeglądarki.

Dane osobowe: lista imion na publicznej stronie internetowej to publikacja danych osobowych. Upewnij się, że masz podstawę prawną, albo publikuj wyłącznie informacje, których respondenci mogą się spodziewać jako publicznych (na przykład imiona na liście startowej, o której wcześniej wiedzieli).

FAQ

Czy mogę wywoływać API bezpośrednio z przeglądarki?

Nie z kluczem API — byłby on wtedy publiczny. Zawsze przechodź przez własny serwer.

Dlaczego klucze danych wyglądają jak field_1778…?

To ID pól formularza. Pobierz ich etykiety ze szczegółów formularza.

Jak często powinienem pobierać dane?

Zależy to od potrzeb. W przypadku listy zapisanych osób wystarczy co kilka minut. Do natychmiastowych reakcji użyj webhooka.

Czy API obsługuje polskie znaki diakrytyczne?

Tak, wszystko jest zakodowane w UTF-8.

Powiązane

Wypróbuj Gatherino za darmo

Plan darmowy: 3 formularze i 100 odpowiedzi miesięcznie. Bez karty kredytowej, dane hostowane w UE.

Zacznij za darmo →