Przejdź do treści
Intum
Aktualizacja: 2 min czytania

API Endpoints

| Metoda | Ścieżka | Opis |
|——–|———|——|
| GET | /form/forms.json | Lista formularzy |
| GET | /form/forms/:id.json | Pojedynczy formularz |
| POST | /form/forms.json | Utworzenie formularza |
| PATCH | /form/forms/:id.json | Aktualizacja formularza |
| DELETE | /form/forms/:id.json | Usunięcie formularza |

Pola formularza

| Pole | Typ | Wymagane | Opis |
|——|—–|———-|——|
| name | string | tak | Nazwa formularza |
| description | text | nie | Opis formularza |
| lang | string | nie | Język: pl, en, fr, cs, sk, de, es, uk |
| kind | string | nie | Typ: simple (domyślnie), advanced, nps, contact_basic, contact_advanced |
| date_from | datetime | nie | Początek aktywności formularza |
| date_to | datetime | nie | Koniec aktywności formularza |
| mapping | string | nie | Mapowanie wyników: client, task, email |
| mapping_options | object | nie | Opcje mapowania (np. {"auto_mapping": 1}) |
| team_id | integer | nie | ID zespołu |
| department_id | integer | nie | ID działu |
| notification_mailbox_id | integer | nie | ID skrzynki do powiadomień |
| confirmation_mailbox_id | integer | nie | ID skrzynki do potwierdzeń klienta |
| confirmation_subject | string | nie | Temat emaila potwierdzenia |
| confirmation_body | string | nie | Treść emaila potwierdzenia (Liquid) |
| client_email_field_id | integer | nie | ID pola z emailem klienta (do potwierdzenia) |
| fields | object | nie | Ustawienia UI formularza |

Pola w fields

| Klucz | Opis |
|——-|——|
| submit_text | Tekst przycisku wysłania |
| form_class | Klasa CSS formularza |
| form_style | Style CSS formularza |
| form_redirect | URL przekierowania po wysłaniu |
| form_response | HTML/Liquid zwrotka po wysłaniu |
| form_anonymous | Czy anonimowe (bez IP/agent) |
| custom_js | Własny JavaScript |
| button_class | Klasa CSS przycisku |

Pola Form::FormField

| Pole | Typ | Wymagane | Opis |
|——|—–|———-|——|
| name | string | tak* | Nazwa pola (* nie dla placeholder) |
| kind | string | tak | Typ: string, text, select, radio, checkbox, attachment, title, placeholder |
| required | boolean | nie | Czy pole wymagane |
| priority | integer | nie | Kolejność wyświetlania |
| description | text | nie | Opis/placeholder pola |
| regex | string | nie | Walidacja: email, digits, alphanum |
| map_to | string | nie | Pole docelowe przy mapowaniu (np. email, phone, name) |
| fields | object | nie | Ustawienia pola |

Pola w FormField fields

| Klucz | Opis |
|——-|——|
| input_placeholder | Placeholder tekst |
| options | Opcje dla select/radio/checkbox (rozdzielane \r\n) |
| rows | Liczba wierszy textarea |
| class | Klasa CSS pola |
| code | Nazwa zmiennej do Liquid |

Format requestu

POST — Utworzenie formularza z polami

{
  "api_token": "TOKEN",
  "form": {
    "name": "Formularz kontaktowy",
    "description": "Formularz na stronę główną",
    "lang": "pl",
    "kind": "simple",
    "form_fields_attributes": [
      {
        "name": "Imię i nazwisko",
        "kind": "string",
        "required": true,
        "priority": 1,
        "map_to": "name"
      },
      {
        "name": "Email",
        "kind": "string",
        "required": true,
        "priority": 2,
        "regex": "email",
        "map_to": "email"
      },
      {
        "name": "Wiadomość",
        "kind": "text",
        "required": true,
        "priority": 3
      }
    ]
  }
}

PATCH — Aktualizacja formularza

{
  "api_token": "TOKEN",
  "form": {
    "name": "Zmieniona nazwa",
    "mapping": "client",
    "mapping_options": { "auto_mapping": 1 }
  }
}

Endpointy publiczne (bez autoryzacji)

| Metoda | Ścieżka | Opis |
|——–|———|——|
| GET | /form/forms/:token/get_form | Pobranie formularza publicznego (token) |
| POST | /form/results/save | Zapisanie wyniku formularza |

Format odpowiedzi

GET — Lista formularzy

[
  {
    "id": 123,
    "name": "Formularz kontaktowy",
    "kind": "simple",
    "lang": "pl",
    "results_count": 45,
    "new_results_count": 3,
    "last_result_at": "2026-03-05T10:00:00+01:00",
    "date_from": null,
    "date_to": null,
    "token": "abc123token"
  }
]