वेबहुक
पेस गरिएको हरेक जवाफ आइपुग्नासाथ JSON का रूपमा आफ्नै ठेगानामा पठाउनुहोस्।
प्रति प्रतिक्रिया एउटा POST
जवाफ भण्डारण हुनासाथ पठाइन्छ, उत्तरदातालाई पर्खाइमा नराखी।
स्थिर JSON संरचना
सार्वजनिक प्रकारका नाम र स्थायी फिल्ड ID, त्यसैले प्रश्नको नाम फेर्दा तपाईंको कोड कहिल्यै बिग्रिँदैन।
10 सेकेन्ड, एउटै प्रयास
Fillio तपाईंको एन्डपोइन्टका लागि दस सेकेन्ड पर्खन्छ र त्यसपछि फेरि प्रयास गर्दैन।
वेबहुक सक्रिय गर्ने
फारम खोल्नुहोस्, सेटिङ ट्याबमा जानुहोस् र वेबहुक अन गर्नुहोस्। पेस गरिएका जवाफ पाउनुपर्ने ठेगाना टाँस्नुहोस्; तपाईंले टाइप गर्न छाडेको केही क्षणमै Fillio ले त्यो सुरक्षित गर्छ र पर्दामै पुष्टि गर्छ। हरेक फारमले एउटै ठेगाना बोक्छ, र स्विच फेरि अफ गर्दा त्यो मेटिन्छ।
ठेगाना HTTPS नै हुनुपर्छ
Fillio ले https:// बाट सुरु हुने ठेगानालाई मात्र कल गर्छ। http:// ठेगाना सेटिङ फिल्डले स्वीकार त गर्छ तर त्यसलाई कहिल्यै कल गरिँदैन, त्यसैले सुरक्षित भएजस्तो देखिने वेबहुकले चुपचाप केही पनि पुर्याउँदैन।
निजी नेटवर्कभित्र देखाउने ठेगानाहरू पनि अस्वीकार हुन्छन्: 10.x, 127.x, 169.254.x, 172.16-31.x वा 192.168.x का जुनसुकै होस्ट, जुनसुकै IPv6 ठेगाना, र localhost भएको वा .local वा .internal मा टुङ्गिने जुनसुकै नाम। तपाईंको एन्डपोइन्ट सार्वजनिक इन्टरनेटबाट पुग्न सकिने हुनुपर्छ।
अनुरोध
JSON बडी भएको एउटा POST। यससँगै चार हेडर आउँछन्।
| हेडर | विवरण |
|---|---|
| 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 का रूपमा दोहोरिन्छ। |
पेलोड
घटना बताउने एउटा खाम, र प्रतिक्रिया बताउने एउटा 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 | प्रतिक्रिया कहिले पेस भयो, UTC मा ISO 8601 टाइमस्ट्याम्पका रूपमा। |
| data.responseId | भण्डारण गरिएको प्रतिक्रियाको ID। |
| data.formId | फारमको ID, त्यही जुन यसको सार्वजनिक लिङ्कमा देखिन्छ। |
| data.formName | फारमको शीर्षक सादा पाठका रूपमा, ढाँचा हटाइएको। |
| data.fields | जवाफ दिइएको हरेक प्रश्नका लागि एउटा प्रविष्टि। |
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 डेटा URL हुन्छ, जसलाई सिधै सुरक्षित गर्न वा देखाउन सकिन्छ।
फिल्डका प्रकार
प्रकार स्थिर सार्वजनिक नाम हो, त्यसैले Fillio भित्रको परिवर्तन तपाईंको इन्टिग्रेसनसम्म कहिल्यै पुग्दैन। Fillio ले म्याप गर्न नसक्ने जुनसुकै कुरा INPUT_TEXT का रूपमा आउँछ।
| प्रकार | प्रश्न | मान |
|---|---|---|
| INPUT_TEXT | छोटो उत्तर | पाठ |
| TEXTAREA | लामो उत्तर | पाठ |
| INPUT_EMAIL | इमेल | पाठ |
| INPUT_PHONE_NUMBER | फोन नम्बर | पाठ |
| INPUT_NUMBER | सङ्ख्या | नम्बर पाठका रूपमा, ठ्याक्कै टाइप गरिएजस्तै |
| INPUT_LINK | लिङ्क | पाठ |
| INPUT_DATE | मिति | मिति, YYYY-MM-DD ढाँचामा |
| INPUT_TIME | समय | समय, 24-घण्टे घडीमा HH:MM |
| DROPDOWN | ड्रपडाउन | एउटा विकल्प ID |
| MULTIPLE_CHOICE | रेडियो | एउटा विकल्प ID |
| CHECKBOXES | चेकबक्स | विकल्प ID हरूको एरे |
| MULTI_SELECT | बहु-छनोट | विकल्प ID हरूको एरे |
| RATING | तारा मूल्याङ्कन | एउटा नम्बर |
| LINEAR_SCALE | रैखिक स्केल | एउटा नम्बर |
| RANKING | र्याङ्किङ | विकल्प ID हरूको एरे, उत्तरदाताले मिलाएको क्रममा |
| FILE_UPLOAD | फाइल अपलोड | डाउनलोड लिङ्क |
| SIGNATURE | हस्ताक्षर | base64 PNG डेटा URL |
तपाईंको एन्डपोइन्टले जवाफ नदिए
Fillio दस सेकेन्ड पर्खन्छ। समय सकिनु, जडान त्रुटि वा 2xx बाहिरको जुनसुकै स्ट्याटस असफल डेलिभरी मानिन्छ, र कुरा त्यहीँ टुङ्गिन्छ: न पुनःप्रयास हुन्छ, न फेरि पठाउने कुनै लाम नै हुन्छ।
प्रतिक्रिया आफैँ भने कहिल्यै प्रभावित हुँदैन। अनुरोध पठाउनुअघि नै यो भण्डारण भइसकेको हुन्छ र तपाईंको एन्डपोइन्टले जे गरे पनि ड्यासबोर्डमै रहन्छ, त्यसैले कुनै डेलिभरी हराए पनि ड्यासबोर्ड नै पूरा अभिलेख रहन्छ।
कुनै हस्ताक्षर हुँदैन
Fillio ले अनुरोधमा हस्ताक्षर गर्दैन र कुनै साझा गोप्य कुञ्जी पठाउँदैन, त्यसैले बडी आफैँले यो कहाँबाट आयो भन्ने प्रमाणित गर्दैन। तपाईंको एन्डपोइन्ट निश्चित हुनैपर्छ भने त्यसलाई तपाईंलाई मात्र थाहा भएको ठेगाना दिनुहोस्: लामो, अनुमान गर्न नसकिने पाथ वा क्वेरी स्ट्रिङ। अन्तै आइपुग्ने जुनसुकै कुरालाई अविश्वसनीय ठान्नुहोस्।
हरेक डेलिभरीले आफ्नै घटना ID बोक्छ, X-Fillio-Event-Id हेडर र बडी दुवैमा। आफूले पहिल्यै सम्हालिसकेका ID टिपेर राख्नु नै एन्डपोइन्टलाई दुई पटक कल भए पनि सुरक्षित बनाउने सबैभन्दा सरल तरिका हो।
वेबहुकलाई अनुरोध हेर्ने कुनै पनि एन्डपोइन्टतिर सोझ्याउनुहोस् र आफ्नै फारम एक पटक पेस गर्नुहोस्। तपाईंको फारमले बनाउने ठ्याक्कै त्यही पेलोड आफ्नै फिल्ड ID सहित देख्नुहुनेछ। आफ्नो तर्फको म्यापिङ लेख्ने सबैभन्दा छिटो उपाय यही हो।