⚡ Moduł Automatyzacji (n8n Integration) - Dokumentacja¶
📖 Wprowadzenie¶
Moduł Automatyzacji to "API Gateway" Twojego systemu. Pozwala na dwukierunkową komunikację między Panelem Księgowym a światem zewnętrznym (n8n, Zapier, Make, AI).
Dzięki temu modułowi system przestaje być tylko bazą danych, a staje się aktywnym uczestnikiem procesów biznesowych.
🚀 Funkcjonalności¶
1. Przepływy Automatyzacji (Visual Flows)¶
Zamiast pisać kod, układasz klocki w wizualnym edytorze. * Trigger (Wyzwalacz): Co ma uruchomić proces? (np. "Nowa Faktura", "Zadanie Zakończone"). * Action (Akcja): Co ma się stać? (np. "Wyślij Email", "Wyślij do n8n", "Czekaj 3 dni").
2. Smart API (Inbound)¶
Specjalne endpointy API zaprojektowane dla AI i n8n. Są "inteligentne", co oznacza, że potrafią same znaleźć odpowiednie dane, nawet jeśli podasz je niedokładnie.
POST /api/automation/smart/invoice/- Tworzy fakturę (np. z komendy głosowej).POST /api/automation/smart/task/- Tworzy zadanie dla pracownika.POST /api/automation/smart/time/- Rejestruje czas pracy.
3. Webhooki (Outbound)¶
Klasyczny sposób powiadamiania zewnętrznych systemów. System wysyła JSON na wskazany adres URL, gdy wydarzy się coś ważnego.
🛠️ Konfiguracja n8n (Instrukcja Wdrożeniowa)¶
Aby połączyć n8n z Panelem Księgowym:
Krok 1: Generowanie Klucza API¶
- Wejdź w Ustawienia -> Automatyzacje.
- W sekcji "Klucze API" kliknij "Dodaj Klucz".
- Nazwij go (np. "n8n Production").
- Skopiuj wygenerowany klucz (zaczyna się od
sk_...).
Krok 2: Konfiguracja w n8n (HTTP Request Node)¶
Aby n8n mogło coś zrobić w Panelu (np. wystawić fakturę):
* Method: POST
* URL: https://twoja-domena.pl/api/automation/smart/invoice/
* Authentication: Header Auth
* Header Name: Authorization
* Header Value: Bearer sk_TWOJ_KLUCZ
Krok 3: Odbieranie danych z Panelu¶
- W n8n stwórz węzeł Webhook.
- Skopiuj jego adres (Test lub Production).
- W Panelu Księgowym wejdź w Ustawienia -> Automatyzacje -> Webhooki.
- Dodaj nowy webhook, wklej adres z n8n i wybierz zdarzenie (np.
INVOICE_CREATED).
🏗️ Architektura Techniczna¶
Modele Danych (apps/automation/models.py)¶
AutomationFlow- Przechowuje strukturę grafu (JSON z React Flow).APIKey- Zarządza dostępem z zewnątrz.AutomationWebhook- Konfiguracja wyjść (legacy).AutomationLog- Pełny audyt wszystkich zdarzeń (Request/Response).
Silnik Wykonawczy (apps/automation/services/engine.py)¶
Klasa AutomationEngine jest sercem modułu.
1. Przyjmuje AutomationFlow i Context (dane zdarzenia).
2. Analizuje graf węzeł po węźle.
3. Wykonuje akcje synchronicznie (w przyszłości asynchronicznie przez Celery).
4. Obsługuje zmienne szablonowe (np. {{ invoice.number }}).
Visual Builder (assets/js/flow-builder/)¶
Aplikacja React wykorzystująca bibliotekę React Flow.
* Uniwersalny komponent używany zarówno w Automatyzacji jak i Windykacji.
* Zapisuje stan grafu jako JSON w bazie danych.
* Dynamicznie renderuje dostępne klocki w zależności od trybu (mode).
🎨 Przewodnik po Visual Builderze¶
- Dodawanie klocków: Przeciągnij klocek z panelu po lewej stronie na obszar roboczy.
- Łączenie: Kliknij kropkę (uchwyt) na dole klocka i przeciągnij linię do kropki na górze innego klocka.
- Konfiguracja: Kliknij dwukrotnie na klocek, aby edytować jego parametry (np. adres email).
- Zapis: Kliknij przycisk "Zapisz" w prawym górnym rogu.
Wskazówka: Pamiętaj, że każdy przepływ musi zaczynać się od Triggera (fioletowy klocek).