[Intum](https://intum.fr/aide.md) / [Formularze](https://intum.fr/aide/formularze.md)

# [Zgłoszenia](https://intum.fr/aide/formularze/zgloszenia.md) | [API](#api)

## Czym są zgłoszenia

Zgłoszenia (wyniki) to dane przesłane przez użytkowników wypełniających formularz. Każde wypełnienie formularza tworzy nowe zgłoszenie z odpowiedziami na wszystkie pola.

## Lista zgłoszeń

W widoku formularza przejdź do zakładki **Wyniki** aby zobaczyć listę zgłoszeń. Lista pokazuje:

- Dane z wypełnionych pól
- Datę zgłoszenia
- Status (otwarte / zamknięte)
- Źródło (referrer — z jakiej strony przyszło zgłoszenie)
- Powiązanego klienta CRM (jeśli mapowanie aktywne)

## Jak powstają zgłoszenia

Zgłoszenie jest tworzone automatycznie gdy użytkownik wypełni formularz osadzony na stronie (widget) lub przez bezpośredni link publiczny.

System zapisuje: odpowiedzi na pola, adres IP (chyba że formularz anonimowy), User-Agent przeglądarki, stronę źródłową i datę.

## Zarządzanie zgłoszeniami

### Zamykanie i otwieranie

Zgłoszenie może być **otwarte** (nowe) lub **zamknięte** (obsłużone). Zamknięcie zmniejsza licznik nowych wyników.

### Powiązanie z klientem

Jeśli formularz ma włączone mapowanie na klienta CRM — zgłoszenie jest automatycznie powiązane z kartą klienta.

### Załączniki

Przesłane pliki są dostępne w szczegółach zgłoszenia.

## Powiadomienia

Po nowym zgłoszeniu operator otrzymuje email z danymi, a klient email potwierdzenia (jeśli skonfigurowano).

## Eksport

Listę zgłoszeń można wyeksportować do formatu **XLS** (Excel).

## Wyszukiwanie

Zgłoszenia można filtrować po formularzu, statusie, kliencie CRM, dziale, projekcie i dacie.

## Powiązane

- [Formularze](formularze) — ogólny opis modułu
- [Widget Formularza na Stronę](formularze-widget) — osadzanie formularzy na stronie

---

## 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**

## API Endpoints

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/form/results.json` | Lista zgłoszeń |
| GET | `/form/results/:id.json` | Pojedyncze zgłoszenie |
| POST | `/form/results/save` | Zapisanie zgłoszenia (publiczny) |
| DELETE | `/form/results/:id.json` | Usunięcie zgłoszenia |
| POST | `/form/results/:id/close` | Zamknięcie zgłoszenia |
| POST | `/form/results/:id/open` | Otwarcie zgłoszenia |

## Pola zgłoszenia

| Pole | Typ | Opis |
|------|-----|------|
| `id` | integer | ID zgłoszenia |
| `form_id` | integer | ID formularza |
| `result` | object | Dane: klucz = ID pola, wartość = `{question, answer, kind}` |
| `closed` | boolean | Czy zamknięte |
| `ip` | string | Adres IP |
| `referrer` | text | Strona źródłowa |
| `client_id` | integer | ID klienta CRM |
| `created_at` | datetime | Data zgłoszenia |

## Struktura `result`

Klucze to ID pól formularza. Każda odpowiedź zawiera pytanie (`question`), odpowiedź (`answer`) i typ pola (`kind`).

Przykład: `{ "456": { "question": "Imię", "answer": "Jan", "kind": "string" } }`

## Zapisanie zgłoszenia (publiczny)

### POST `/form/results/save`

Endpoint publiczny, bez autoryzacji. Używany przez widget.

Parametry: `result.form_id` (ID formularza), `result.results` (obiekt z odpowiedziami: klucz = ID pola, wartość = obiekt z polem `answer`), `_antispam` (flaga honeypot), `_form_elapsed` (czas wypełniania w ms).

Odpowiedź: obiekt z polem `render` (HTML zwrotki) i `redirect` (URL przekierowania).

## Filtrowanie listy

| Parametr | Opis |
|----------|------|
| `form_id` | Po formularzu |
| `closed` | `true`/`false` |
| `client_id` | Po kliencie CRM |
| `department_id` | Po dziale |

## Eksport

`GET /form/results.xls?form_id=123` — eksport do Excel