Webhook-ови
Пошаљите сваку пријаву на сопствену адресу, као JSON, истог тренутка када стигне.
Један POST по одговору
Шаље се чим је одговор сачуван, без задржавања испитаника.
Стабилан JSON облик
Јавна имена типова и трајни ID-јеви поља, па преименовање питања никада не квари ваш код.
10 секунди, један покушај
Fillio чека десет секунди на ваш ендпоинт и после тога не покушава поново.
Укључивање webhook-а
Отворите формулар, идите на картицу Подешавања и укључите Webhook. Налепите адресу која треба да прима пријаве; Fillio је чува тренутак након што престанете да куцате и потврђује то на екрану. Сваки формулар носи једну адресу, а враћање прекидача на искључено је брише.
Адреса мора бити HTTPS
Fillio позива само адресе које почињу са https://. Адресу са http:// поље у подешавањима прихвата, али се она никада не позива, па webhook који изгледа сачувано неће тихо испоручити ништа.
Адресе које показују унутар приватне мреже такође се одбијају: сваки хост на 10.x, 127.x, 169.254.x, 172.16-31.x или 192.168.x, свака IPv6 адреса и свако име које је localhost или се завршава са .local или .internal. Ваш ендпоинт мора бити доступан са јавног интернета.
Захтев
POST са JSON телом. Уз њега путују четири заглавља.
| Заглавље | Опис |
|---|---|
| Content-Type: application/json | Тело је увек JSON. |
| User-Agent: Fillio Webhooks/1.0 | Означава позиваоца као Fillio, што је корисно када један ендпоинт слуша више сервиса. |
| X-Fillio-Event: FORM_RESPONSE | Име догађаја. FORM_RESPONSE је једина вредност коју Fillio данас шаље. |
| X-Fillio-Event-Id | Нов UUID за ову испоруку, поновљен као eventId у телу. |
Payload
Омотач који описује догађај и објекат data који описује одговор.
{
"eventId": "8f2c1d7a-4b09-4e5c-9a13-6d0f8b2e77c4",
"eventType": "FORM_RESPONSE",
"createdAt": "2026-08-26T09:14:22.481Z",
"data": {
"responseId": "Qh3Rk9wZm1sVtY7cN2xP",
"formId": "7bTn4Kq2Wx",
"formName": "Workshop signup",
"createdAt": "2026-08-26T09:14:22.481Z",
"fields": [
{
"key": "V1StGXR8_Z5jdHi6B-myT",
"label": "Full name",
"type": "INPUT_TEXT",
"value": "Mira Kaya"
},
{
"key": "kM4pQz7LxAe2Rn0BsTvUw",
"label": "Which session?",
"type": "MULTIPLE_CHOICE",
"value": "c9XbNf3JdQ",
"options": [
{ "id": "c9XbNf3JdQ", "text": "Morning" },
{ "id": "eR2mYt8KpL", "text": "Afternoon" }
]
},
{
"key": "zA6cWn1FyH4tXd9QrLbEs",
"label": "How likely are you to recommend us?",
"type": "LINEAR_SCALE",
"value": 9
}
]
}
}| Својство | Опис |
|---|---|
| eventId | Јединствен ID ове испоруке. |
| eventType | Увек FORM_RESPONSE. |
| createdAt | Када је одговор послат, као ISO 8601 временска ознака у УТЦ. |
| data.responseId | ID сачуваног одговора. |
| data.formId | ID формулара, исти онај који се појављује у његовом јавном линку. |
| data.formName | Наслов формулара као обичан текст, без форматирања. |
| data.fields | По једна ставка за свако одговорено питање. |
Унутар фиелдс
Свака ставка носи четири својства, а питање са опцијама носи и пето.
| Својство | Опис |
|---|---|
| key | Трајни ID питања. Преживљава сваку измену текста, па се ослоните на њега уместо на ознаку. |
| label | Питање онако како је написано у едитору. |
| type | Тип питања, преузет са листе испод. |
| value | Одговор, у облику у којем га то питање чува. |
| options | Само код питања са опцијама: ID и текст сваке опције, да одговор можете вратити у ознаку. |
Стижу само одговорена питања
Питање које испитаник није додирнуо изостаје из низа уместо да буде послато као празна вредност, а питање сакривено условном логиком се уопште не појављује. Тражите сваки одговор по његовом key уместо да се ослањате на положај или на сталан број ставки.
Одговори са избором носе ID-јеве, не ознаке
Одговор из падајуће листе или радио дугмета је ID изабране опције, а одговор из поља за потврду, вишеструког избора или рангирања је низ ID-јева опција. Разрешите их помоћу листе options у истој ставци. Одговор из рангирања задржава редослед којим је испитаник поређао ставке.
Опција Друго
Када испитаник упише нешто у поље Друго, вредност није ID опције него текст __OTHER__: праћен оним што је откуцао. Уклоните тај префикс да прочитате одговор.
"value": "__OTHER__:Heard about it from a friend"Фајлови и потписи
Одговор са отпремањем фајла је линк за преузимање фајла из Fillio-овог складишта. Одговор са потписом је base64 PNG data URL, који можете сачувати или приказати директно.
Типови поља
Тип је стабилно јавно име, па промена унутар Fillio-а никада не стиже до ваше интеграције. Све што Fillio не може да мапира стиже као INPUT_TEXT.
| Тип | Питање | Вредност |
|---|---|---|
| INPUT_TEXT | Кратак одговор | Текст |
| TEXTAREA | Дугачак одговор | Текст |
| INPUT_EMAIL | Имејл | Текст |
| INPUT_PHONE_NUMBER | Број телефона | Текст |
| INPUT_NUMBER | Број | Број као текст, тачно онако како је откуцан |
| INPUT_LINK | Линк | Текст |
| INPUT_DATE | Датум | Датум, у облику YYYY-MM-DD |
| INPUT_TIME | Време | Време, у облику HH:MM на 24-часовном сату |
| DROPDOWN | Падајућа листа | Један ID опције |
| MULTIPLE_CHOICE | Радио дугме | Један ID опције |
| CHECKBOXES | Поље за потврду | Низ ID-јева опција |
| MULTI_SELECT | Вишеструки избор | Низ ID-јева опција |
| RATING | Оцена звездицама | Број |
| LINEAR_SCALE | Линеарна скала | Број |
| RANKING | Рангирање | Низ ID-јева опција, редоследом испитаника |
| FILE_UPLOAD | Отпремање фајла | Линк за преузимање |
| SIGNATURE | Потпис | base64 PNG data URL |
Ако ваш ендпоинт не одговори
Fillio чека десет секунди. Истек времена, грешка у вези или било који статус ван 2xx опсега рачуна се као неуспела испорука, и ту је крај: нема поновног покушаја ни реда за поновно слање.
То никада не утиче на сам одговор. Он се чува пре него што се захтев пошаље и остаје на вашем контролном панелу шта год ваш ендпоинт урадио, па панел остаје потпуна евиденција чак и ако се испорука изгуби.
Потписа нема
Fillio не потписује захтев и не шаље никакву дељену тајну, па тело само по себи не доказује одакле је дошло. Ако ваш ендпоинт мора бити сигуран, дајте му адресу коју само ви знате: дугачку, непогодиву путању или упит. Третирајте све што стигне другде као непоуздано.
Свака испорука носи сопствени ID догађаја, и у заглављу X-Fillio-Event-Id и у телу. Бележење оних које сте већ обрадили најједноставнији је начин да ваш ендпоинт буде безбедан за двоструки позив.
Усмерите webhook на било који ендпоинт за преглед захтева и пошаљите сопствени формулар једном. Видећете тачан payload који ваш формулар производи, са сопственим ID-јевима поља. То је најбржи начин да напишете мапирање на својој страни.