Kolekcje i dane

Kolekcje to własne tabele danych Twojego bota. Wygodnie przechowuje się w nich zgłoszenia, zamówienia, odpowiedzi z dialogów, punkty w grze, zapisy na zajęcia — wszystko, co bot zbiera od użytkowników lub otrzymuje z integracji. Sekcja znajduje się w menu po lewej: Dane → Kolekcje.

Czym jest kolekcja

Kolekcja składa się z pól (schemat opisujący kolumny) i rekordów (wiersze z danymi). Każdy rekord to zestaw wartości według pól kolekcji; wewnętrznie jest przechowywany jako elastyczny dokument JSON, dzięki czemu kolekcja bez problemu przyjmuje nowe pola.

Nazwa kolekcji jest unikalna w obrębie jednego bota i służy jako identyfikator w akcjach reakcji (np. leads, orders, scores).

Typy pól

Podczas tworzenia kolekcji definiujesz listę pól i typ każdego z nich:

  • text — ciąg znaków (imię, email, komentarz).
  • number — liczba (kwota, ilość, punkty).
  • bool — tak/nie (true / false).
  • datetime — data i czas.
  • json — zagnieżdżony obiekt lub tablica dla złożonych wartości.

Typ wpływa na sposób edycji pola w interfejsie i na konwersję wartości przy zapisie. Schemat nie jest sztywny: jeśli rekord zawiera pole spoza schematu, zostanie ono zapisane i wyświetlone jako osobna kolumna.

Tworzenie kolekcji

  1. Otwórz Dane → Kolekcje i kliknij Dodaj.
  2. Podaj nazwę (łacińskie litery, bez spacji — łatwiej odwoływać się do niej w reakcjach).
  3. Przyciskiem Pole dodaj potrzebne kolumny i wybierz typ każdej z nich.
  4. W razie potrzeby ustaw reguły przechowywania (patrz niżej) i zapisz.

Rekordy: przeglądanie i edycja

Na karcie kolekcji znajduje się przycisk z ikoną tabeli — otwiera okno Dane z rekordami tej kolekcji:

  • Podgląd — wszystkie wiersze wyświetlane są jako lista, pole na komórkę, poczynając od najnowszych.
  • Dodaj rekord — otwiera formularz według schematu kolekcji; każde pole jest edytowane zgodnie ze swoim typem (przełącznik dla bool, pole wprowadzania JSON dla json itp.).
  • Edytuj (ołówek) — edytuje istniejący wiersz.
  • Usuń (kosz) — usuwa wiersz.

Rekordy są również wypełniane automatycznie — przez akcje reakcji bota (patrz niżej). Ręczna edycja i automatyczny zapis działają na tej samej kolekcji.

Przechowywanie (retention)

Aby kolekcja nie rosła w nieskończoność, ustaw reguły automatycznego czyszczenia:

  • Przechowuj maksymalnie rekordów — po przekroczeniu limitu najstarsze rekordy są usuwane.
  • Przechowuj nie dłużej niż (dni) — rekordy starsze niż podany okres są usuwane.

Czyszczenie jest wykonywane przez proces działający w tle; reguły można łączyć.

Praca z danymi z reakcji

Kolekcje są bezpośrednio powiązane z konstruktorem reakcji. W akcjach reakcji dostępne są:

  • Utwórz rekord — dodaje wiersz; wartości pobierane są z szablonów (np. {{user.id}}, {{message.text}}). Można ustawić klucz deduplikacji, aby ponowne wywołanie aktualizowało ten sam wiersz zamiast tworzyć duplikaty.
  • Zaktualizuj rekordy — zmienia wiersze spełniające warunek.
  • Pobierz rekordy — odczytuje wiersze do kontekstu wykonania jako tablicę, aby można je było następnie iterować.
  • Usuń rekordy — usuwa wiersze według warunku.
  • Pętla (for-each) — przechodzi przez tablicę z kontekstu i wykonuje zagnieżdżone akcje dla każdego elementu (np. wysłanie wiadomości do listy z kolekcji).

Dzięki temu bot może prowadzić CRM, gromadzić zgłoszenia, przyznawać punkty i budować raporty bez zewnętrznej bazy danych.

Dostęp z Mini App

Rekordy kolekcji można odczytywać z Telegram Mini App Twojego bota: frontend pobiera dane kolekcji po nazwie z filtrami i limitem. Pozwala to wyświetlać użytkownikowi jego zamówienia, historię lub tabelę liderów bezpośrednio w Telegram.

Wskazówki

  • Nadawaj polom krótkie, maszynowe nazwy (email, total, paid) — wygodniej wstawiać je do szablonów reakcji.
  • Do idempotentnego zapisu (np. „jedno zgłoszenie na użytkownika") używaj klucza deduplikacji.
  • Włącz retention dla logów i danych tymczasowych, aby kolekcja nie rozrastała się.
  • Typ json sprawdza się, gdy struktura wartości nie jest z góry ustalona.