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
- Otwórz Dane → Kolekcje i kliknij Dodaj.
- Podaj nazwę (łacińskie litery, bez spacji — łatwiej odwoływać się do niej w reakcjach).
- Przyciskiem Pole dodaj potrzebne kolumny i wybierz typ każdej z nich.
- 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 dlajsonitp.). - 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
jsonsprawdza się, gdy struktura wartości nie jest z góry ustalona.