[Intum](https://intum.fr/aide.md) / [Noe AI](https://intum.fr/aide/noe-ai.md)

# [Aplikacje Noe](https://intum.fr/aide/noe-ai/aplikacje-noe.md) | [API](#api)

## Czym są aplikacje Noe

Aplikacje Noe to interaktywne interfejsy webowe, które można tworzyć bezpośrednio w przeglądarce bez stawiania własnego backendu. Edytujesz kod w Intum, system kompiluje go w locie i serwuje gotową apkę pod własnym URL-em albo wstrzykuje na konkretną stronę systemu.

## Trzy rodzaje aplikacji Noe

Aplikacje Noe mogą pełnić różne role - od samodzielnych narzędzi po małe rozszerzenia interfejsu Intum.

### 1. Samodzielne aplikacje

Klasyczne apki dostępne pod własnym adresem `/a/:url_code` - kalkulatory, dashboardy, mini-narzędzia, gry, formularze. Mogą być publiczne (bez logowania) albo dostępne tylko dla zalogowanych użytkowników konta.

Przykłady: kalkulator marży, generator haseł, prosty CRM dla wąskiego zespołu, gra na firmowy event.

### 2. Aplikacje integracyjne Intum

Gotowe aplikacje, które integrują Intum z zewnętrznymi serwisami - np. **integracja z Fakturownią**, KSeF, allegro, sklepami internetowymi czy API banków. Część z nich jest dostarczana przez Intum, część można zbudować samemu na bazie konektorów (Connect / InConnector).

Apka integracyjna zwykle pobiera dane z zewnętrznego API, prezentuje je w Intum, pozwala na akcje typu "importuj fakturę" albo "wyślij do JPK". Często ma podpiętą bazę Noe (`db_code`) na cache i konfigurację.

### 3. Aplikacje wewnętrzne (osadzone w stronach Intum)

Małe skrypty, które wstrzykują się w konkretne strony systemu i zmieniają ich działanie albo dodają nowe funkcje - np. podświetlają maile od wybranego nadawcy w inboxie, dodają przyciski na karcie klienta, modyfikują listę zadań.

Decyduje o tym pole `show_in_module` w aplikacji. Pełny opis tego typu wraz z listą stron na które można się wpiąć: [Aplikacje Noe Wewnętrzne](../noe-ai/aplikacje-noe-wewnetrzne).

## Silniki renderowania

Do wyboru jest kilka silników:

- **Svelte 5** - nowoczesny framework reaktywny, kompilowany na serwerze
- **Vue 3** - popularny framework z Composition API
- **React 19** - klasyczny React z JSX
- **JavaScript** - czysty JS, bez kompilacji, najszybsze wstrzyknięcie
- **HTML** - statyczny HTML z opcjonalnym CSS
- **Kaboom / Phaser** - silniki do gier 2D/3D

Do tego osobny wybór CSS: `tailwind_all` (CDN), `tailwind` (kompilowany, mniejszy rozmiar) albo `none`.

## Funkcje

- **Edytor kodu** - wbudowany edytor z podświetlaniem składni
- **Automatyczna kompilacja** - kod kompiluje się przy zapisie
- **Publikowanie** - apka może być publiczna (bez logowania) albo prywatna
- **Przyjazne URL-e** - zamiast UUID możesz ustawić czytelny `url_code` (np. `/a/kalkulator`)
- **Klonowanie** - szybkie tworzenie kopii istniejącej aplikacji
- **Baza danych Noe** - opcjonalny `db_code` podpina apkę pod bazę dokumentową; wiele apek może współdzielić jedną bazę
- **Prompt AI** - możliwość dołączenia promptu systemowego do apki
- **Akcje (Flow)** - wywoływanie procesów Flow z poziomu frontendu apki
- **Historia zmian** - wersjonowanie kodu źródłowego z możliwością przywracania starszych wersji

## Konkretny przykład apki wewnętrznej

Krok po kroku z gotowym kodem JS: [Jak dodać własną apkę Noe podświetlającą maile od konkretnego nadawcy](../poradnik/jak-dodac-wlasna-apke-noe-podswietlajaca-maile-od-konkretnego-nadawcy)

---

## API

### Ogólne API

# Intum API

Dokumentacja API platformy [Intum](https://intum.pl) - system operacyjny firmy.

## Host

Host jest zawsze taki sam jak adres konta: `xxxx.intum.com` lub `xxx.intum.pl` (w zależności od ustawień konta)

## Autoryzacja

Wszystkie requesty API wymagają `api_token`:
- header: `Authorization: Bearer TOKEN`

Token możesz wygenerować w **Ustawienia Konta** → **Tokeny API**

# Aplikacje Noe — API

**Autoryzacja:** `Authorization: Bearer TOKEN`
**Content-Type:** `application/json`

## Endpoints

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/noe/apps.json` | Lista aplikacji |
| GET | `/noe/apps/:id.json` | Szczegóły aplikacji |
| POST | `/noe/apps.json` | Utworzenie aplikacji |
| PATCH | `/noe/apps/:id.json` | Aktualizacja aplikacji |
| DELETE | `/noe/apps/:id.json` | Usunięcie aplikacji |
| PATCH | `/noe/apps/:id/replace.json` | Częściowa edycja pola (replace API) |
| GET | `/noe/apps/:id/versions` | Historia wersji |
| POST | `/noe/apps/:id/restore_version` | Przywrócenie wersji |
| GET | `/a/:url_code` | Uruchomienie aplikacji (publiczny URL) |

## Pola

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | tak | Nazwa aplikacji |
| `url_code` | string | nie | Przyjazny URL slug (np. `kalkulator` → `/a/kalkulator`) |
| `description` | text | nie | Opis aplikacji |
| `app_engine` | string | tak | Silnik: `svelte`, `vue`, `react`, `js`, `html` |
| `css_engine` | string | tak | CSS: `tailwind_all` (CDN), `tailwind` (kompilowany), `none` |
| `source_code` | text | tak | Kod źródłowy (max 200 000 znaków) |
| `public` | boolean | nie | Dostępna bez logowania (default: false) |
| `active` | boolean | nie | Czy aktywna (default: true) |
| `db_code` | string | nie | Kod bazy Noe::Db |
| `show_in_module` | string | nie | Osadzenie w module (np. `organize`, `tasks/show`) |
| `prompt` | text | nie | Prompt systemowy dla AI |

## POST — Utworzenie

```json
POST /noe/apps.json

{
  "app": {
    "name": "Kalkulator",
    "url_code": "kalkulator",
    "app_engine": "svelte",
    "css_engine": "tailwind_all",
    "public": true,
    "source_code": "<script>\n  let count = $state(0);\n</script>\n<button onclick={() => count++}>{count}</button>"
  }
}
```

## PATCH — Replace API

Częściowa edycja pola (np. podmiana fragmentu kodu):

```json
PATCH /noe/apps/:id/replace.json

{
  "field": "source_code",
  "old": "let count = $state(0)",
  "new": "let count = $state(10)"
}
```

---

## Powiązane

- [Aplikacje Noe Wewnętrzne](https://intum.fr/aide/noe-ai/aplikacje-noe-wewnetrzne.md)
- [Jak dodać własną aplikację Noe podświetlającą maile od konkretnego nadawcy](https://intum.fr/aide/poradnik/jak-dodac-wlasna-apke-noe-podswietlajaca-maile-od-konkretnego-nadawcy.md)
- [Noe AI w Intum](https://intum.fr/aide/noe-ai/noe-ai.md)
