تستقبل FormFlow الإرسالات المرسلة من نماذج HTML الخاصة بك إلى رابط FormFlow، وتُرشّحها بحثًا عن الرسائل المزعجة، وتحفظها، وتُمرّرها إلى وجهات تهيئها (مثل صندوق الوارد أو نقطة نهاية webhook). لا تستضيف FormFlow واجهتك المضمّنة ولا تقرر البيانات التي تجمعها نماذجك؛ ويمكن للخطط المدفوعة أيضًا استخدام صفحة مستضافة بواسطة FormFlow.
إرسال حقيقي — المسار الأخضرروبوت — يُعلَّم داخل الصندوق، لا يُسلَّم أبدًا ولا يُحتسب أبدًامرفوضة بإعداداتك أنت — محتجزة وقابلة للاسترداد
غيِّر خاصية واحدة. وانشر.
وجِّه خاصية action في نموذجك إلى رابط FormFlow وانتهى الأمر — لا حزمة تطوير ولا مكتبة عميل ولا خادم تقوم به. تعمل من موقع ساكن أو خادم أو curl لمرة واحدة.
صِف نموذجك — متاح في الخطط المدفوعة عند تفعيله. صِف ما يجمعه هذا النموذج، أو الاختبار الذي تريد إعداده. يمكنك مراجعة الحقول قبل إنشاء النموذج.
استيراد مخطط نموذج — جدول أسئلة · راجع الحقول المستوردة
ولا تكتب الحقول يدويًا أيضًا. تستنتج FormFlow مخطط نموذجك من حركته الفعلية وتولّد الترميز المتاح للجميع — HTML أو Blade أو Vue أو React — جاهزًا للّصق. 18 نوع حقل — text, email, tel, url, number, textarea, select, checkbox, radio, multiselect, date, file, scale, rating, time, duration, grid, checkbox_grid — وكلها مدعومة في المخطط. يرسم المنشئ النموذج بجوار قائمة الحقول أثناء التحرير، انطلاقًا من إعدادات لم تحفظها بعد. ويمكن للنموذج الطويل أن ينقسم إلى خطوات تعود إلى صفحة واحدة مسطحة بلا JavaScript. وفي مقتطفَي HTML وBlade، فعِّل العرض الحي أثناء النسخ فيتبع النموذج قائمة حقولك منذ تلك اللحظة — ويبقى الترميز الملصوق احتياطيًا.
يصلك النموذج منسَّقًا. سبع أوراق أنماط مكتفية ذاتيًا تصل مع الترميز — لا شيء لتثبيته ولا شيء لربطه — مع خريطة أصناف Bootstrap للمواقع التي تحمّله أصلًا. وكل ورقة ملتزمة بالميزانية نفسها: تسميات مرتبطة بالحقول، وأهداف بمقاس 44px، وحلقة تركيز مرئية، وتباين مُتحقق منه لكل نمط قبل نشره.
<!-- النموذج الحالي لديك. بلا JavaScript وبلا حزمة تطوير. --><formmethod="POST"action="https://formflow.digital/api/v1/f/ab12x9"><inputname="email"type="email"required><textareaname="message"></textarea><button>Send</button></form>
# أو أرسل POST من أي مكانcurl -X POST https://formflow.digital/api/v1/f/ab12x9 \
-d "email=jane@acme.dev" \
-d "message=Loved the demo"# → 200 OK · {"success":true,"id":"…"}
<!-- ضعه في أي مكوّن. وما زلنا بلا حزمة تطوير. --><template><formmethod="POST"action="https://formflow.digital/api/v1/f/ab12x9"><inputname="email"type="email"required/><textareaname="message"></textarea><button>Send</button></form></template>
// خاصية action الأصلية للنموذج — بلا عميل وبلا حالة.export default functionContact() {
return (
<formmethod="POST"action="https://formflow.digital/api/v1/f/ab12x9"><inputname="email"type="email"required/><textareaname="message"/><button>Send</button></form>
);
}
النموذج نفسه، بكل نمط تشحنه FormFlow/form-styles/minimal
يُرسم بالمولِّد نفسه الذي يكتب مقتطفك — لا نسخة تسويقية منفصلة عنه.
يُجلب النموذج التوضيحي مباشرة من /form-styles/minimal. إن بقي فارغًا فذلك المسار غير قابل للوصول من هنا — ومع ذلك تبقى ورقة الأنماط مشحونة مع المقتطف.
اقبل رفع الملفات. وتجاوز مسألة التخزين.
صرِّح بحقل file ويقبل نموذجك رفع الصور عبر multipart العادي — لا شيء لإعداده. يقبل الحقل الواحد حتى عشرين ملفًا دفعة واحدة، وأنت تختار الصيغ التي يقبلها. تحفظ FormFlow الملفات على قرص خاص وتمنح صندوق الوارد رابطًا موقَّعًا منتهي الصلاحية، فلا يجلس أي مرفق على رابط عام.
JPEG وPNG وWebP وGIF — تُرفض SVG، وكل ملف يُتحقق منه بالبايت السحرية لا بالامتداد.
حد حجم لكل خطة، مفروض عند الدخول — 2 MB في Starter Lite و5 MB في Starter و25 MB في Pro.
تُحفظ سرًا؛ ويعرض صندوق الوارد رابطًا موقَّعًا منتهي الصلاحية، وليس صورة <img> مضمّنة أبدًا.
الملفات المرفقةcontact-form · 2 مصرَّح بهما
roof-damage.jpg
image/jpeg · 3.2 MB · تم التحقق
مقبول
meter-reading.png
image/png · 0.9 MB · تم التحقق
مقبول
رابط موقَّع · لكل ملف/download/e7a1…?expires=1h
logo.svgمرفوض · SVG غير مسموح
المسار الأحمرروبوتات · تُعلَّم، لا تُسلَّم ولا تُحتسب أبدًا
مرشِّح يتعلم كل نموذج.
لكل نموذج مصنِّف خاص به. يُقيَّم كل إرسال لحظة وصوله — وكلما صحّحت حكمًا ازداد ذلك النموذج دقة. الدرجة والسبب والخطوة التالية: كلها مصرَّح بها بوضوح، مع تقرير لكل نموذج عن أداء المصنِّف فعليًا. جرّبه →
علِّم هذا النموذج:حُدِّث مصنِّف هذا النموذج.
صندوق الواردcontact-form · ab12x9
Jane Okafor
Loved the demo — can we talk pricing this week?
0.02 · تم التسليم
promo-reply@bulk-seo.link
CHEAP backlinks + guaranteed SEO boost!!!
0.61 · غير متأكد
buy-now-bot
🔥 crypto doubler, act now, limited spots
0.98 · إزعاج
01
Honeypot
حقل خارج الشاشة تملؤه الروبوتات ولا يراه البشر أبدًا. لا يكلف شيئًا، لذلك يُشغَّل أولًا.
02
مصنِّف لكل نموذج
مصنِّف Bayes الساذج لكل نموذج، يتدرّب بتصحيحاتك. والنموذج الجديد يستعير مرجعًا للفريق كله، فيعلّم من الإرسال الأول.
03
Turnstile
اختبار Cloudflare اختياري. عند الانقطاع يُفتح المسار — فلا يموت إرسال حقيقي مع الفحص أبدًا.
04
مخطط صارم
فعِّله فتُردّ الحقول التي لم يصرّح بها نموذجك عند الباب. معطَّل افتراضيًا.
الاحتجازمحتجزة · مسبَّبة · قابلة للاسترداد
هذه المراحل الأربع مضبوطة لإيقاف الروبوتات. وإحداها لا تفعل ذلك فقط: المخطط الصارم لا يميز روبوتًا من مشتر، وكذلك قائمة المصادر المسموحة وقواعد الرفع الخاصة بك. هذه الثلاثة ترفض نهائيًا، بأمر منك — فيصل الرفض إلى متصفح الغريب، لا إليك أبدًا.
يضيع العميل المحتمل في أربعة مواضع. واحد منها فقط هو الإزعاج.
أما الثلاثة الأخرى فتحدث في جهتك من الخط، حيث لا يفشل شيء بصوت يكفي لأن ينتبه إليه أحد — فيظن المُرسِل أنه أرسلها، ولا يصل أي خطأ إلى FormFlow. لذلك يُراقَب كل منها على حدة، بالترتيب الذي يقابل به المُرسِل.
قبل أن يكون العميل المحتمل على المحك: فعِّل الوضع الصارم فيضع النموذج الذي تولّده لك FormFlow كل حقل أمام الحكم الحقيقي قبل أن يضغط أحد زر الإرسال — القواعد نفسها والصياغة نفسها دون أي عواقب. يسد ذلك ثغرة لا يستطيع التوليد سدها: المتصفح يفرض required وtype="email" لكنه لا يفرض قاعدة التحقق التي ضبطتها في المنشئ — فيمكن لنموذج يجتاز فحص المتصفح أن يُرفض من الخادم. والآن يقول ذلك بينما ما يزال الشخص قادرًا على الإصلاح. ويُحتسب ما أوقفهم أيضًا.
بلا آثار جانبية بموجب العقد — لا صف ولا حصة ولا تسليم ولا تقييم إزعاج.
في الأسئلة التي تطرحها — شكل المتن والمصدر والمخطط — لا تخالف أبدًا الوجهة التي تتنبأ بها؛ فيختبر بإرسال المتن نفسه إلى كلتيهما ومقارنة النتيجة.
لا تسأل عن غير ذلك. الإزعاج وTurnstile وحقول الملفات تُترك لـ POST الحقيقي، فمعنى قبول الفحص المسبق هو هذا الإعداد يقبل هذا، وليس أبدًا أنه سيُحفظ.
تسحب من حد المعدل نفسه الذي يسحب منه POST، مع احتياطي لا ينفقه إلا إرسال حقيقي.
POST /api/v1/f/ab12x9/preflightمثال توضيحي
اترك الحقل لترى ما ستجيب به الوجهة.
قاعدة نموذج · min:20 على message · الوضع الصارم مفعَّل
إرسال لم يصلك يمكن أن يصلك.
قبل أن تبلغنا أصلًا: انقطاع اتصال أو تبويب أُغلق مبكرًا — ولا أحد يسمع بشيء، لأن المُرسِل يعتقد أنه أرسلها وليس هناك فشل تسجّله FormFlow. فعِّل صندوق صادر المتصفح فتُحفظ المحاولة ويُعاد إرسالها عند تحميل الصفحة التالية، فيصل كإرسال عادي — محتسبًا ومسلَّمًا وموسومًا بأنه مسترَد على لوحتك. وهي مشحونة مع مقتطفَي HTML وBlade الأصليين الذين نسختهم والعرض الحي مفعَّل.
تُفعَّل لكل نموذج على حدة، ولا أبدًا في نموذج فيه حقل ملف — فالرفع لا يمكن إعادة بنائه من التخزين المحلي.
تُحفظ على جهاز المُرسِل نفسه 24 ساعة، بخمس محاولات منتظرة على الأكثر، ولا تُعاد أبدًا إلى نموذج يمكنه رؤيته.
يحمل إعادة الإرسال ترويسة Idempotency-Key تقبل عليها الوجهة إيصالًا، فيُحفظ الإرسال المسترَد ويُحتسب ويُسلَّم مرة واحدة تمامًا. وتلك الترويسة منشورة في عقد الاستقبال، فيمكن لعميلك أنت إرسالها أيضًا.
يبقى فشل الشبكة أو 5xx في قائمة الانتظار لتحميل الصفحة التالي؛ وأي شيء أجابت عنه الوجهة فعلًا يُسقط.
المراجعة والاسترداد
الإرسال المرفوض لا يُسقط — بل يُحتجز بسببه والحقل المذنب. ثم تقرأ FormFlow جانبي حركتك، المقبول والمرفوض، وتستنتج تغيير الإعداد الواحد الذي يسترد أكبر عدد منها. وأي تغيير سيكلف حتى إرسالًا واحدًا قبلته سابقًا يُهمَل ولا يُعرض أبدًا.
المحتجزة · الإرسالات المرفوضةcontact-form · آخر 7 أيام
dana@meridian.co
Quote for 40 units — my number is 0161 496 0000
مرفوضة · phone
t.okonkwo@brightside.dev
Can you invoice us? Reachable on 020 7946 0102
مرفوضة · phone
hello@fieldnotes.studio
Interested in the annual plan — call 0117 496 0999
مرفوضة · phone
قيل لهملا يقبل هذا النموذج حقل الهاتف.
312 مرفوضة هذا الأسبوع · 40 مقبول
مستنتَجة من حركتك أنتمقترح
اقبل phone — حقل يرسله نموذجك ولم يصرّح به مخططك قط.
يسترد
312 مرفوضة
يكلف
0 مقبولة
مجرَّب على حركة هذا النموذج الأخيرة — أحدث بضع مئات قبلها والتي ردّتها.
الإرخاء المجرَّب سلفًا على الحركة التي قبلتها يمكن أن يعمل دون انتظار أحد أن يسجل الدخول، فيتوقف النموذج عن رفض العملاء المحتملين حين لا يراقب أحد. يبقى معطلًا حتى تفعله أنت، وأي تغيير تجريه FormFlow من تلقاء نفسها يعود إلى الإعدادات التي اخترتها ما لم تؤكد الحركة صحته. الصمت يُرجع — طابور متوقف وانقطاع ولا أحد ينظر — لأن طريق الرجوع يُسجل في النفس التي يُسجل فيها التغيير.
وحين يتغير شيء فعلًا، يقول بريد إلكتروني ما الذي تغير وما الذي سيسترده، ويربط بصفحة تعيد إعداداتك القديمة. ويُحكم على العملاء المسترَدين من جديد بالإعدادات الحية، ويُحتسبون ويُسلَّمون كسواها. ولا يُعاد تأريخ شيء.
وعندما ينكسر النموذج نفسه، فلا شيء يخبرك أيضًا.
بعد وقت طويل من شحنه، ما يزال ترميز HTML يعيش في موقعك — فينكسر نموذج معدَّل أو معطوب بصمت، ولا يصل أي خطأ إلى FormFlow أبدًا. الصحة ليست شيئًا تُخبَر به FormFlow؛ بل تُحتسب من الحركة وتُرسل إليك أول مرة يظهر فيها عطل.
الرفض — يردّ نصيبًا حقيقيًا من حركته هو. ويُبلَّغ عنه بدل الجفاف، لا إلى جانبه أبدًا.
الجفاف — تنهار الإرسالات مقابل خط أساس النموذج نفسه.
الانحراف — حقل مصرَّح به كفت الحركة عن إرساله بهدوء.
توقف مبكر — الحقل الذي يفشل فيه المُرسِلون باستمرار، ويُحتسب وهم ما يزالون في الصفحة.
من النموذج إلى النتيجة.
المنتج هو المسار نفسه. وجِّه نموذج HTML قائمًا إلى عنوان URL واحد، ويتولى FormFlow إبقاء التسليم والحُكم والاسترداد والتوصيل كلها واضحة أمامك.
احتفظ بالواجهة الأمامية التي تملكها أصلًا، ثم دع FormFlow يريك ما يجري بعد زر الإرسال: يمكن للحقول أن تتبع النموذج الحالي، ويبقى الرفض الذي سببه عميل قابلًا للاسترداد، ويحتفظ كل مستلِم بالتزامه الخاص بالتوصيل.
الصفحات المستضافة متاحة في خطط Starter Lite وStarter وPro.
الكشوف متاحة في خطط Starter Lite وStarter وPro، مع الصفحات المستضافة.
العرض المباشر
فعِّل ذلك عند نسخ HTML الأصلي أو مكوّن Blade: يمكن لقائمة الحقول الحالية أن تتبع النموذج، بينما تبقى الشيفرة الملصوقة هي الاحتياط الأصلي، ويبقى النمط كما نسخته.
الاسترداد
الاسترداد ليس تجاوزًا للبوابات وليس إعادة محاولة لخطاف ويب. يعيد FormFlow تقييم الرفض المخزَّن وفق إعدادات النموذج السارية، وعندها فقط يصير إرسالًا حقيقيًا، ويستهلك من الحصة الحالية، ويدخل مسار التوصيل نفسه.
مدخل كتابة عام واحد
رمز النموذج هو مدخل الكتابة العام. يستقبل FormFlow الطلب ويقيّمه ويحفظ الإرسال أو الرفض، ويُبقي قرار التوصيل التالي داخل المسار الموثَّق نفسه.
والساعة بيدنا نحن، لا بيد المتصفح.
تبدأ الجلسة حين تُعرض الأسئلة، ويُختم موعدها النهائي على المقعد وفق المدة السارية في تلك اللحظة. ويقارن نظام الاستقبال وقت الوصول بذلك الموعد زائد مهلة سماح ثابتة لا يفصح عنها أبدًا — والصفحة تعدّ تنازليًا حتى الصفر.
يُسجَّل بدء الجلسة مرة واحدة: تسجيل الدخول من جديد، أو مسح الكوكيز، أو إعادة التحميل، أو نافذة التصفح الخاص — لا شيء منها يعيد العدّ. إنه يسير على وقت الحائط، تمامًا كما تفعل قاعة الاختبار المراقَبة.
تقصير المدة بينما ثلاثون شخصًا في جلساتهم لا يقصّر ورقة أحد؛ فالمدة الجديدة تحكم الجلسات التي تبدأ بعدها.
الورقة تنجو من جرس الانتهاء. النموذج المؤقَّت يتوقف عن فرض الحقول الإلزامية، فالسؤال الأربعون الفارغ يُرسَل كما هو — بينما تبقى الحقول غير المصرَّح بها مرفوضة، فيبقى المخطط عقدًا في الاتجاه الذي يحميك.
الموعد النهائي يستهلك المقعد سواء وصل شيء أم لا، فلا يمكن التحايل على الساعة بقراءة الأسئلة ثم العودة غدًا.
صندوق وارد واحد، يتفرع إلى كل وجهة تحتاجها.
اقرأها في مكان واحد — وادفع الإرسال نفسه إلى كل وجهة ربطتها.
خطافات ويب موقَّعة
كل إرسال يُرسَل POST إلى وجهتك مع توقيع HMAC تتحقق منه. ست محاولات يتدرج التراجع فيها من عشر ثوانٍ إلى ساعتين، وكل واحدة مسجَّلة مقابل الإرسال. الوجهة التي لا تنجح ولو مرة تُوقَف نهائيًا ويُراسَل أصحابها بآخر خطأ — فالعنوان الميِّت يتوقف عن إعادة المحاولة إلى الأبد، وأنت تعلم بذلك.
اختر ما يقوله متن الرسالة: JSON الموقَّع الخاص بـ FormFlow نفسه، أو رسالة صيغت لتقرأها قناة Slack. الصيغة تحدد المتن وحده — فالتوقيع والمحاولات والتراجع واحدان في الحالتين، والعنوان الذي هو بذاته بيانات اعتماد لا يُعرَض لك مرة أخرى بعد حفظه.
ملخص الإرسالات
بريد إلكتروني واحد أسبوعي أو شهري لفريقك يغطي كل نموذج — لا رسالة لكل إرسال. أو أوقفه إن كان صندوق الوارد وخطاف الويب يكفيانك. الروبوتات لا تظهر فيه أبدًا.
CSV · XLSX · JSON export
صدِّر صندوق الوارد كاملًا من اللوحة. يبني FormFlow الملف عبر قائمة انتظار ويرسل لك بريدًا برابط موقَّع تنتهي صلاحيته خلال ساعة — وجداول البيانات محصَّنة ضد حقن الصيغ.
إيصال للمُرسِل
رد آلي للشخص الذي ملأ النموذج، يُرسَل إلى حقل بريد تصرُّح به عليه. الموضوع والمتن من نصيبك؛ ولا تظهر إجاباتهم إلا حيث تضع متغيرًا بديلًا، وهي مهرَّبة كنص، ولا يُنسَخ حمولة البيانات إلى الرسالة أبدًا. ومن يختار الانسحاب يبقى خارجها، وسقفٌ لكل فريق يحوط نموذجًا ينفجر شعبيته فجأة. الخطط المدفوعة.
كل ما سبق يستقر في مكان واحد يمكنك العمل فيه.
إعداد الوجهة يأخذ دقيقتين من عمرك؛ وهذا هو الجزء الذي تفتحه صباح الاثنين. يجيب أولًا عن سؤال واحد — ما الذي يحتاجني الآن — بسطرٍ لكل حالة قائمة فعلًا، وسببها، والرابط الوحيد الذي يتعامل معها. لا عدّادات تقارنها: الرقم ليس جوابًا. وتحت ذلك، صندوق الوارد جدول لا لوحة تحكم: صفِّ إلى غير المقروء، واستبعد الروبوتات، واختر مدى تاريخ، وصدِّر ما صففته بالضبط، وافتح أي إرسال لتاريخ توصيله الكامل.
acme · dashboard4 أمور تحتاج إليك
الاقتراب من الحصةاستُخدم 2,540 من أصل 3,000 إرسال في هذه الفترة.مراجعة الفوترة
contact-formهناك إرسالات تُرفض الآن.فتح النموذج
contact-form — خطاف ويب متعثر3 حالات فشل توصيل متتالية، آخرها قبل 4 دقائق.فتح النموذج
23 إرسالًا غير مقروءفتح صندوق الوارد
acme · submissions3,000 مشمولة · Starter
غير مقروءإزعاجالواردة خلال 1–31 أغسطستصدير CSV · XLSX · JSON
webhookhttps://crm.acme.dev/intake502 Bad Gateway · إعادة المحاولة بعد 5 د
digestأسبوعي · 3 مستلمينفي قائمة الانتظار
buy-now-bot
🔥 crypto doubler, act now, limited spots
0.98
الجدول نفسه يقف خلف سجل الاحتجاز، مع السبب والحقول المتسببة والعبارات الدقيقة التي قيلت للمُرسِل — فيكون استرداد العميل المحتمل أن تقرأ سبب الرفض ثم تنقر «استرداد».
واقرأها كلها من جديد عبر الواجهة البرمجية.
الإرسالات نفسها عبر HTTP وبرمز تصدره من اللوحة: صندوق الوارد، وإرسال واحد بالمعرِّف، ونماذجك، وسجل المرفوضات. ترقيم بالمؤشر وقابل للتصفية، بحيث تطلب مزامنتك الليلية إلى مستودعك أو نظام CRM ما تغيَّر فحسب بدل طلب كل شيء، ودون حاجة لمتصفح أبدًا.
للقراءة فقط بطبيعته. يحمل الرمز بعضًا من submissions:read وrefusals:read وforms:read — لا صلاحية كتابة تُمنَح، لأنها غير موجودة أصلًا.
يُعرَض مرة واحدة عند توليده ويُخزَّن كبصمة hash، مع صلاحية اختيارية. لا يستطيع FormFlow أن يعرضه عليك مجددًا، وكذلك أي أحد يصل إلى قاعدة البيانات.
حصة خاصة به في الدقيقة ترتفع مع خطتك وتبقى منفصلة عن معدل قبول نماذجك للإرسالات — فلا تستطيع مزامنة مزدحمة أن تستهلك ما يحتاجه عميل محتمل حقيقي.
الخطط المدفوعة. الرمز على فريق Free ترد عليه خدمة management_api_unavailable بدل قائمة فارغة، فلن يكون السبب غموضًا أبدًا.
التعرفةتُحتسب على ما يصل · لا على ما ترسله الروبوتات
ادفع على ما يصل. لا على ما ترسله الروبوتات.
تُرشَّح الإزعاجات قبل أن تُحتسب. تشمل الخطة المجانية 100 إرسال بسقف صارم؛ وتواصل الخطط المدفوعة إلى تجاوز شفاف حتى بلوغ سقف إنفاق أو أمان. ويصلك بريد عند نصف مخصصك وأربعة أخماسه وكامله، فيكون الشهر المزدحم خبرًا يصلك لا مفاجأة في فاتورة.
تُحتسب التقديرات بالدولار الأمريكي؛ ويجري Paddle التحويل ويضيف أي ضريبة عند الدفع.
في كل خطة، بما فيها المجانية: عدد النماذج الذي تشاء، ونموذج مكافحة الرسائل المزعجة لكل نموذج وتدريبه، والإرسالات المرفوضة المحفوظة للمراجعة، والعرض المباشر وإنقاذ المتصفح، وخطافات الويب الموقعة، والملخص، وتصدير CSV · XLSX · JSON.
وكذلك في كل مكان: أدوار المالك والأعضاء بدعوات بريدية، وتسجيل دخول بخطوتين اختياري، ومفتاح إيقاف لأي نموذج، وسجل نشاط كامل، واحتفاظ ببيانات وفق GDPR — عناوين البريد وعناوين IP مخزَّنة كبصمات مفتاحية تُمحى وفق جدول. تعيد المجانية الضبط مع الشهر التقويمي؛ والخطط المدفوعة مع دورة فوترة كل فريق. أسعار الخطط المدفوعة يعرضها Paddle محليةً لموقعك وقد تشمل الضريبة. انظر سياسة الاسترداد.
وجِّه نموذجك الأول إلى FormFlow.
موّصل نموذجًا خلال دقيقتين وشاهد صندوق الوارد يمتلئ. الفوترة لكل فريق، والروبوتات لا تُحتسب من الحصة أبدًا. لا واجهة خلفية تبنيها، ولا واجهة أمامية تستضيفها.