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