Fillioकागजात

वेबहुक

पेस गरिएको हरेक जवाफ आइपुग्नासाथ 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 सहित देख्नुहुनेछ। आफ्नो तर्फको म्यापिङ लेख्ने सबैभन्दा छिटो उपाय यही हो।