مواد پر جائیں
FormFlow

سبمشنز کو ویب ہک پر بھیجیں اور جو آپ کے ریسیور سے چھوٹ گیا اسے دوبارہ آزمائیں

فارم میں ویب ہک اینڈ پوائنٹ شامل کریں، اپنے ریسیور پر دستخط کی تصدیق کریں، اور بندش کے بعد ناکام ترسیلات دوبارہ کوشش کریں استعمال کریں۔ FormFlow خود کیا دوبارہ آزماتا ہے، اور کیا دوبارہ نہیں بھیجے گا۔

یہ مضمون مشین کے ذریعے ترجمہ کیا گیا ہے۔ انگریزی میں اصل مضمون پڑھیں

Screenshot of the Delivery tab of a seeded FormFlow form with one webhook endpoint added: Send as FormFlow JSON (signed), an endpoint URL and the Delivering switch on, with icons to send a test, retry and delete. It is where this tutorial adds its webhook.

ویب ہک ہر قبول شدہ سبمشن کو چند سیکنڈ میں آپ کے اپنے URL پر بھیج دیتا ہے، تاکہ ایک لیڈ ای میل کے خلاصے کا انتظار کیے بغیر آپ کے CRM یا آپ کے اپنے کوڈ تک پہنچ سکے۔ ویب ہکس v1.0.0 سے FormFlow کا حصہ ہیں۔ یہ ٹیوٹوریل ایک اینڈ پوائنٹ شامل کرتا ہے، دکھاتا ہے کہ آپ کا ریسیور کیا وصول کرتا ہے اور اسے کیسے جانچیں، اور پھر وہ حصہ بتاتا ہے جو اس دن اہم ہے جب آپ کا ریسیور بند ہو: FormFlow خود کیا دوبارہ آزماتا ہے اور باقی کو ناکام ترسیلات دوبارہ کوشش کریں سے کیسے دوبارہ بھیجیں۔

آپ کو کیا چاہیے

آپ کے استعمال میں ایک ریسیور جو JSON باڈی کے ساتھ POST قبول کرے۔ اس کا پتہ https ہونا چاہیے اور صرف عوامی پتوں پر حل ہونا چاہیے۔ محفوظ کرتے وقت پینل اس کے علاوہ کسی چیز کو مسترد کر دیتا ہے، اس لیے localhost کا پتہ کام نہیں کرتا، اور جانچ کا معمول کا طریقہ ٹنل ہے۔

اینڈ پوائنٹ شامل کریں

  1. پینل میں فارم کھولیں اور ترسیل ٹیب پر جائیں۔

  2. ویب ہک اینڈ پوائنٹس کے تحت، اینڈ پوائنٹ شامل کریں دبائیں۔

  3. بطور بھیجیں کو FormFlow JSON (دستخط شدہ) پر رہنے دیں۔ دوسرا انتخاب، Slack پیغام، Slack کا ان کمنگ ویب ہک URL لیتا ہے۔

  4. اپنے ریسیور کا پتہ اینڈ پوائنٹ URL میں پیسٹ کریں اور ترسیل جاری ہے کو آن رہنے دیں۔

  5. فارم محفوظ کریں۔ ایک اطلاع جس کا عنوان اپنے ویب ہک سائننگ سیکریٹس ابھی کاپی کریں ہے، ہر نئے اینڈ پوائنٹ کا URL اور سیکرٹ دکھاتی ہے۔ یہ جب تک آپ اسے بند نہ کریں اسکرین پر رہتی ہے، اور کہتی ہے کہ سیکرٹس دوبارہ نہیں دکھائے جائیں گے۔ سیکرٹ کو اپنے سیکرٹ مینیجر میں محفوظ کریں۔ نیا لینے کے لیے اینڈ پوائنٹ حذف کرکے دوبارہ شامل کریں۔

  6. اینڈ پوائنٹ کی قطار پر ٹیسٹ بھیجیں دبائیں۔ آپ کو ٹیسٹ ترسیل ہو گئی یا ٹیسٹ ترسیل ناکام اپنے ریسیور کے اپنے خرابی کے متن کے ساتھ نظر آتا ہے۔ قطار کا پہلے محفوظ ہونا ضروری ہے، اور بٹن فی گھنٹہ 20 ٹیسٹ ترسیلات تک محدود ہے۔

پھر ایک اصل سبمشن بھیجیں اور پینل میں اسے کھولیں۔ اس کے ترسیل کی درخواستیں جدول میں وہ ہر منزل درج ہے جس کو وہ سبمشن ملنی ہے، اسٹیٹس زیر التواء، لیز شدہ، ترسیل شدہ یا ناکارہ کے ساتھ، کوششوں کی تعداد، ترسیل کی ID اور آخری خرابی۔

آپ کا ریسیور کیا وصول کرتا ہے

ہر غیر سپیم سبمشن کے لیے ایک POST۔ باڈی ایک چھوٹا JSON دستاویز ہے، اور اس کے ساتھ تین ہیڈرز آتے ہیں۔ یہ شکل ہے، پلیس ہولڈر قیمتوں کے ساتھ:

{
  "id": "SUBMISSION_UUID",
  "form": { "id": "FORM_UUID", "name": "Contact Us" },
  "submitted_at": "2026-10-08T09:00:00+00:00",
  "data": { "name": "Ada Lovelace", "email": "ada@example.com" }
}
  • X-FormFlow-Timestamp کوشش کا وقت ہے، سیکنڈز میں۔

  • X-FormFlow-Signature-256، sha256= ہے جس کے بعد ٹائم اسٹیمپ، ایک نقطہ اور خام باڈی کا HMAC-SHA256 ہوتا ہے، جو اینڈ پوائنٹ کے سیکرٹ سے بنایا جاتا ہے۔

  • X-FormFlow-Delivery-Id ترسیل کی شناخت ہے۔ ہر دوبارہ کوشش پر یہ وہی رہتی ہے۔

کسی درخواست پر بھروسہ کرنے سے پہلے دستخط کی تصدیق کریں، خام باڈی پر، دوبارہ انکوڈ کی گئی کاپی پر نہیں۔ ایک PHP ورژن، وہ شکل جو FormFlow کی API دستاویزات دیتی ہیں:

function formflow_verify(string $rawBody, string $timestamp, string $signature, string $secret): bool
{
    if (abs(time() - (int) $timestamp) > 300) {
        return false;
    }

    $expected = 'sha256=' . hash_hmac('sha256', $timestamp . '.' . $rawBody, $secret);

    return hash_equals($expected, $signature);
}

FormFlow خود کیا دوبارہ آزماتا ہے

FormFlow جواب کے لیے 10 سیکنڈ تک انتظار کرتا ہے۔ کوئی بھی 2xx جواب ترسیل شدہ شمار ہوتا ہے۔ ٹائم آؤٹ، ٹوٹا ہوا کنیکشن، 408، 429 یا 5xx جواب دوبارہ آزمایا جاتا ہے، کل ملا کر چھ کوششوں تک، ان کے درمیان 10 سیکنڈ، 1 منٹ، 5 منٹ، 30 منٹ اور 2 گھنٹے کے وقفوں کے ساتھ۔ کوئی اور جواب، بشمول 3xx یا 4xx، مستقل انکار سمجھا جاتا ہے اور خودکار طور پر دوبارہ نہیں آزمایا جاتا۔ FormFlow ری ڈائریکٹ کی پیروی نہیں کرتا، اس لیے وہ اینڈ پوائنٹ جو ری ڈائریکٹ سے جواب دے ناکام شمار ہوتا ہے۔ اینڈ پوائنٹ کو اس کے آخری پتے پر لگائیں۔

اگر کوئی اینڈ پوائنٹ بار بار دوبارہ کوشش کا مطالبہ کرتا رہے اور اس کی کوششیں ختم ہو جائیں تو FormFlow اس کے لیے ترسیل جاری ہے بند کر دیتا ہے اور ٹیم کے مالکان کو ای میل کرتا ہے۔ جس ترسیل کی کوششیں ختم ہو چکیں وہ ناکارہ دکھائی جاتی ہے۔ ڈیش بورڈ بھی اس ویب ہک کو جس کی فارورڈنگ بند ہو اس کی مسلسل ناکامیوں کے ساتھ درج کرتا رہتا ہے جب تک کوئی ترسیل کامیاب نہ ہو۔

جو آپ کے ریسیور سے چھوٹ گیا اسے دوبارہ آزمائیں

اس سے پہلے v1.33 سے، ہر چھوٹی ہوئی سبمشن کو ابھی دوبارہ کوشش کریں الگ سے درکار تھا۔ اب ایک بار دبانا ایک اینڈ پوائنٹ کا احاطہ کرتا ہے۔ ریلیز تبدیلیوں کے ریکارڈ میں ہے۔ ترتیب اہم ہے:

  1. پہلے ریسیور ٹھیک کریں۔ ہر ناکام ترسیل کو ایک مزید کوشش ملتی ہے، اس لیے جو ریسیور ابھی ٹوٹا ہوا ہو اس پر دوبارہ کوشش پھر ناکام ہی ہوتی ہے۔

  2. ترسیل ٹیب پر اینڈ پوائنٹ کا ترسیل جاری ہے سوئچ دیکھیں۔ اگر FormFlow نے اسے بند کر دیا ہو تو اسے آن کریں اور فارم محفوظ کریں۔ آف اینڈ پوائنٹ پر دوبارہ کوشش کو اس پیغام کے ساتھ مسترد کر دیا جاتا ہے: "ترسیل جاری ہے آن کریں اور فارم محفوظ کریں، پھر دوبارہ کوشش کریں۔"

  3. اینڈ پوائنٹ کی قطار پر ناکام ترسیلات دوبارہ کوشش کریں دبائیں اور تصدیق کریں۔ ڈائلاگ کہتا ہے کہ ہر وہ ناکام ترسیل جو ابھی بھی بھیجی جا سکتی ہے اسے اس کی اصل ترسیل ID اور پے لوڈ کے ساتھ دوبارہ قطار میں لگا دیا جاتا ہے۔

  4. ایک اطلاع آپ کو بتاتی ہے کہ کتنی قطار میں لگائی گئیں۔ ایک بار دبانے سے زیادہ سے زیادہ 500 قطار میں لگتی ہیں۔ اگر مزید باقی ہوں تو یہ بتاتی ہے کہ دوبارہ دبائیں۔

  5. کسی سبمشن کو کھولیں اور اس کے ترسیل کی درخواستیں جدول کو دیکھیں۔ کوششوں کی گنتی بڑھ چکی ہے اور اسٹیٹس میں ترسیل شدہ تک پہنچنا چاہیے۔

اگر آپ کسی اینڈ پوائنٹ کی URL، سیکرٹ یا فارمیٹ بدلیں تو وہ نئے سرے سے شروع ہوتا ہے۔ تبدیلی سے پہلے کی کی گئی ترسیلات دوبارہ نہیں بھیجی جاتیں، اور v1.35.1 سے ڈیش بورڈ پرانی ناکامیوں کو نئے پتے کے خلاف نہیں گنتا۔ اینڈ پوائنٹ کو بغیر تبدیلی کے آف اور آن کرنے سے اس کا ناکامی کا ریکارڈ برقرار رہتا ہے۔

جاننے کے لیے حدود

  • نیا اینڈ پوائنٹ صرف وہ سبمشنز وصول کرتا ہے جو اس کے سیٹ اپ ہونے کے بعد آئیں۔ اسے وہ نہیں بھیجی جاتیں جو آپ کے پاس پہلے سے موجود ہیں۔

  • سپیم فارورڈ نہیں کیا جاتا۔

  • ناکام ترسیلات دوبارہ کوشش کریں صرف وہ ترسیلات دوبارہ بھیجتا ہے جنہیں ابھی بھی بھیجا جا سکتا ہے، اور صرف اینڈ پوائنٹ کو جیسا وہ اب ہے۔

  • ترسیل کم از کم ایک بار ہوتی ہے۔ آپ کے ریسیور کو دہرائی گئی ترسیل برداشت کرنی چاہیے۔

اپنے پہلے فارم کو FormFlow پر بھیجیں۔

نہ کوئی بیک اینڈ بنانا ہے، نہ کوئی فرنٹ اینڈ ہوسٹ کرنا ہے۔

مفت میں شروع کریں