سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

CMS نویس مرجعی برای آموزش برنامه نویسی وب و PHP، توسعه افزونه‌های اختصاصی وردپرس، طراحی ورک‌فلو و اتوماسیون با n8n و توسعه CMS های اختصاصی است. هدف ما ارائه آموزش‌های کاربردی و راهکارهای حرفه‌ای برای توسعه‌دهندگان، کسب‌وکارها و علاقه‌مندان به دنیای برنامه‌نویسی است.

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
آموزش Webhook در n8n؛ اتصال سایت و API به گردش‌کارهای خودکار

آموزش Webhook در n8n؛ اتصال سایت و API به گردش‌کارهای خودکار

ممدیر کل سیستم ۲۷ مهر ۱۴۰۵ ۱۸ دقیقه مطالعه ۱ بازدید
آموزش Webhook در n8n؛ اتصال سایت و API به گردش‌کارهای خودکار

فرض کنید یک کاربر در سایت شما ثبت‌نام می‌کند و می‌خواهید بلافاصله پس از ثبت‌نام، اطلاعات او در یک سیستم دیگر ذخیره شود، برای مدیر سایت اعلان ارسال شود یا اطلاعات کاربر در یک پایگاه داده جداگانه قرار بگیرد. برای انجام این کارها لازم نیست همه مراحل را به‌صورت دستی اجرا کنید یا برای هر سرویس یک سیستم ارتباطی مستقل بنویسید.

یکی از راهکارهای کاربردی برای پیاده‌سازی چنین فرایندهایی، استفاده از Webhook در n8n است. با کمک وب‌هوک می‌توانید یک آدرس مشخص ایجاد کنید تا سایت، اپلیکیشن یا سرویس دیگری با ارسال درخواست HTTP به آن، اجرای یک گردش‌کار را آغاز کند.

در این مقاله، نحوه ساخت Webhook در n8n را به‌صورت عملی بررسی می‌کنیم. همچنین یاد می‌گیریم چطور داده‌های JSON را دریافت کنیم، آدرس تست را از آدرس عملیاتی تشخیص دهیم، پاسخ مناسبی به درخواست‌دهنده برگردانیم و یک پروژه Laravel را به n8n متصل کنیم.

Webhook در n8n چیست؟

Webhook روشی برای اطلاع‌رسانی و تبادل داده بین سیستم‌هاست. در این روش، به‌جای اینکه یک برنامه دائماً از سیستم دیگر سؤال کند آیا اتفاق جدیدی رخ داده است یا نه، سیستم اول هنگام وقوع یک رویداد، درخواستی به یک آدرس مشخص ارسال می‌کند.

برای مثال، می‌توانید وب‌هوکی در n8n ایجاد کنید که با دریافت اطلاعات یک سفارش جدید، مراحل زیر را اجرا کند:

  1. اطلاعات سفارش را از درخواست دریافتی استخراج کند.
  2. اطلاعات سفارش را اعتبارسنجی کند.
  3. جزئیات سفارش را در PostgreSQL ذخیره کند.
  4. برای مدیر فروشگاه اعلان ارسال کند.
  5. نتیجه پردازش را به سیستم درخواست‌دهنده برگرداند.

در این سناریو، سایت فروشگاهی درخواست را ارسال می‌کند و n8n مسئول اجرای مراحل خودکار است.

نکته مهم این است که Webhook به‌تنهایی همه فرایند را انجام نمی‌دهد؛ بلکه نقطه ورود اطلاعات و شروع گردش‌کار است. برای پردازش اطلاعات، ذخیره‌سازی یا ارسال اعلان باید نودهای مناسب را به آن متصل کنید.

تفاوت Webhook با Triggerهای دیگر در n8n چیست؟

در n8n، Triggerها برای شروع گردش‌کار استفاده می‌شوند، اما روش شروع آن‌ها متفاوت است.

برای نمونه، Schedule Trigger می‌تواند گردش‌کار را در ساعت مشخصی اجرا کند. برخی Triggerهای اختصاصی نیز با توجه به رویدادهای یک سرویس کار می‌کنند. Webhook زمانی مفید است که یک سیستم دیگر بتواند مستقیماً به آدرس شما درخواست HTTP بفرستد.

روش شروعکاربرد
Webhookدریافت درخواست از سایت، اپلیکیشن یا API
Schedule Triggerاجرای گردش‌کار در زمان‌بندی مشخص
Trigger اختصاصی سرویسواکنش به رویدادهای یک سرویس پشتیبانی‌شده
اجرای دستیآزمایش و بررسی گردش‌کار در زمان توسعه

اگر می‌خواهید برنامه Laravel شما پس از ثبت سفارش، اطلاعات را مستقیماً برای n8n بفرستد، معمولاً Webhook انتخاب مناسبی است.

آموزش ساخت Webhook در n8n

برای ساخت اولین وب‌هوک، به یک نمونه فعال از n8n نیاز دارید. می‌توانید از نسخه ابری یا نسخه‌ای که روی سرور خود میزبانی می‌کنید استفاده کنید.

مرحله اول: ایجاد Workflow

وارد پنل n8n شوید و یک Workflow جدید ایجاد کنید.

برای اینکه بعداً کاربرد گردش‌کار مشخص باشد، می‌توانید نام آن را به‌صورت زیر انتخاب کنید:

Receive Website Orders

این گردش‌کار قرار است اطلاعات سفارش‌های سایت را دریافت کند.

مرحله دوم: افزودن Webhook Node

در محیط طراحی Workflow، یک نود جدید اضافه کنید و عبارت Webhook را جست‌وجو کنید.

پس از انتخاب نود، تنظیمات آن را مشاهده خواهید کرد. گزینه‌های دقیق ممکن است با توجه به نسخه n8n متفاوت باشند، اما مهم‌ترین تنظیمات شامل موارد زیر هستند:

  • HTTP Method
  • Path
  • Authentication
  • Respond
  • Response Data

برای شروع، تنظیمات زیر مناسب هستند:

گزینهمقدار نمونه
HTTP MethodPOST
Pathwebsite-order
Authenticationبرای آزمایش اولیه بدون احراز هویت؛ برای محیط عملیاتی حتماً محافظت شود
Respondپاسخ پس از تکمیل گردش‌کار یا با استفاده از نود پاسخ‌دهی

گزینه Path مشخص می‌کند وب‌هوک از چه مسیری قابل دسترسی باشد. در مثال ما، مسیر website-order انتخاب شده است.

آدرس نهایی را باید از خود نود Webhook کپی کنید؛ زیرا دامنه، شناسه مسیر و ساختار URL به تنظیمات نمونه n8n شما بستگی دارد.

مرحله سوم: انتخاب متد HTTP

Webhook از متدهای HTTP پشتیبانی می‌کند. متد مناسب را بر اساس نوع ارتباط انتخاب کنید.

متد GET

معمولاً برای دریافت اطلاعات یا ارسال پارامترهای ساده در URL استفاده می‌شود.

برای مثال:


GET /webhook/order-status?order_id=125

در این درخواست، شناسه سفارش در Query String قرار دارد.

متد POST

برای ارسال داده‌هایی مانند اطلاعات سفارش، مشخصات کاربر یا یک رویداد از سایت مناسب‌تر است.

نمونه درخواست:


POST /webhook/website-order

Content-Type: application/json

محتوای درخواست:


{

  "order_id": 125,

  "customer": "Ali",

  "amount": 850000,

  "status": "paid"

}

در این مثال، اطلاعات سفارش در قالب JSON ارسال می‌شود.

توجه داشته باشید که ارسال اطلاعات پرداخت به معنای تأیید پرداخت نیست. اگر این وب‌هوک برای فرایند مالی استفاده می‌شود، وضعیت پرداخت باید از منبع معتبر و سمت سرور تأیید شود.

تفاوت Test URL و Production URL در n8n

یکی از رایج‌ترین مشکلات هنگام کار با Webhook این است که کاربر آدرس را درست وارد می‌کند، اما درخواست به گردش‌کار نمی‌رسد.

یکی از دلایل احتمالی، اشتباه گرفتن آدرس تست با آدرس عملیاتی است.

آدرس Test URL

هنگام ساخت Webhook، n8n یک آدرس تست در اختیار شما قرار می‌دهد. این آدرس برای توسعه و آزمایش گردش‌کار استفاده می‌شود.

معمولاً باید وارد گردش‌کار شوید و گزینه‌ای مانند Listen for test event یا اجرای تست را فعال کنید. سپس درخواست را به Test URL بفرستید.

در این حالت، n8n منتظر دریافت درخواست آزمایشی است. اگر گردش‌کار در حالت انتظار برای رویداد تست نباشد، ممکن است درخواست به شکل مورد انتظار پردازش نشود.

آدرس Production URL

آدرس Production برای استفاده واقعی در سایت یا اپلیکیشن در نظر گرفته شده است.

برای استفاده از این آدرس، گردش‌کار باید در وضعیت فعال یا منتشرشده موردنیاز نسخه n8n شما قرار داشته باشد. پس از فعال‌سازی، درخواست‌ها به آدرس عملیاتی ارسال می‌شوند و اجرای گردش‌کار به‌صورت واقعی آغاز می‌شود.

به‌طور خلاصه:

ویژگیTest URLProduction URL
هدفتوسعه و آزمایشاستفاده واقعی
وضعیت گردش‌کارانتظار برای رویداد تستفعال یا منتشرشده
کاربردبررسی تنظیمات و داده‌های ورودیاتصال سایت و سرویس‌ها
استفاده دائمی در سایتخیربله

نکته: برای اتصال نهایی Laravel یا هر سایت دیگری، آدرس Production را از خود Webhook Node کپی کنید. آدرس نمونه این مقاله صرفاً برای توضیح است و جایگزین آدرس واقعی سرور شما نیست.

دریافت و بررسی اطلاعات ورودی Webhook

بعد از ارسال درخواست، اطلاعات ورودی در خروجی نود Webhook قابل مشاهده است. بسته به نوع درخواست و تنظیمات نود، داده‌ها می‌توانند شامل Body، Query Parameters، Headers و اطلاعات درخواست باشند.

فرض کنیم سایت این JSON را ارسال کرده است:


{

  "order_id": 125,

  "customer": "Ali",

  "amount": 850000,

  "status": "paid"

}

پس از اجرای آزمایشی، خروجی Webhook را در پنل n8n بررسی کنید تا مشخص شود داده‌ها در کدام بخش قرار گرفته‌اند.

برای استفاده از فیلدهای دریافتی در نودهای بعدی، می‌توانید از Expression استفاده کنید. برای نمونه، اگر اطلاعات در بخش body خروجی قرار داشته باشند، ارجاع به شناسه سفارش به این صورت خواهد بود:


{{ $json.body.order_id }}

برای دسترسی به مبلغ نیز می‌توانید از این عبارت استفاده کنید:


{{ $json.body.amount }}

ساختار دقیق داده‌ها را از خروجی واقعی نود بررسی کنید. بسته به نسخه، تنظیمات و شکل درخواست، ممکن است لازم باشد مسیر دیگری را انتخاب کنید.

پس از دریافت اطلاعات می‌توانید نودهای دیگری مانند IF، Edit Fields، PostgreSQL یا HTTP Request را به گردش‌کار اضافه کنید.

چگونه برای Webhook پاسخ مناسب تعریف کنیم؟

در بسیاری از کاربردها، فقط دریافت درخواست کافی نیست؛ بلکه سیستم ارسال‌کننده باید بداند درخواست پذیرفته شده است یا خیر.

برای مثال، ممکن است سایت شما انتظار داشته باشد پاسخ زیر را دریافت کند:


{

  "success": true,

  "message": "Order received"

}

در n8n، نحوه پاسخ‌دهی را از تنظیمات Webhook تعیین می‌کنید. بسته به گزینه انتخابی، پاسخ ممکن است پس از دریافت درخواست یا پس از اجرای گردش‌کار ارسال شود.

اگر به کنترل بیشتری روی پاسخ نیاز دارید، می‌توانید از نود Respond to Webhook استفاده کنید.

استفاده از Respond to Webhook

برای تنظیم پاسخ سفارشی:

  1. یک نود Webhook ایجاد کنید.
  2. تنظیم پاسخ Webhook را روی حالت استفاده از نود Respond to Webhook قرار دهید.
  3. نودهای پردازش موردنیاز را اضافه کنید.
  4. نود Respond to Webhook را در مسیر مناسب گردش‌کار قرار دهید.
  5. کد وضعیت HTTP، محتوای پاسخ و در صورت نیاز Headerهای پاسخ را تنظیم کنید.
  6. درخواست را آزمایش کنید.

برای مثال، می‌توانید پس از اعتبارسنجی سفارش، پاسخ JSON زیر را برگردانید:


{

  "success": true,

  "order_id": 125,

  "message": "Order processed"

}

این پاسخ باید با نتیجه واقعی عملیات هماهنگ باشد. اگر فقط درخواست دریافت شده و پردازش هنوز تمام نشده است، نباید پیام موفقیت نهایی را به‌گونه‌ای ارسال کنید که درخواست‌دهنده تصور کند همه مراحل با موفقیت انجام شده‌اند.

همچنین اگر گردش‌کار چند مرحله زمان‌بر دارد، لازم است درباره مدت انتظار درخواست‌دهنده و روش مدیریت خطا تصمیم بگیرید. در برخی معماری‌ها، بهتر است درخواست سریعاً تأیید شود و ادامه عملیات به‌صورت غیرهم‌زمان انجام شود.

اتصال Laravel به Webhook در n8n

یکی از کاربردهای مهم Webhook، اتصال یک پروژه Laravel به گردش‌کارهای خودکار است.

فرض کنید یک فروشگاه اینترنتی با Laravel نوشته‌اید و می‌خواهید پس از ثبت سفارش، اطلاعات سفارش را برای n8n بفرستید تا اعلان ارسال شود یا داده‌ها در سیستم دیگری ذخیره شوند.

Laravel دارای HTTP Client است که ارسال درخواست POST را ساده می‌کند.

مرحله اول: دریافت آدرس Webhook

ابتدا در n8n یک Webhook با متد POST بسازید و گردش‌کار را آماده کنید.

سپس آدرس Production URL را از نود کپی کنید. در مثال زیر از یک آدرس فرضی استفاده شده است:

https://n8n.example.com/webhook/website-order

این دامنه واقعی نیست و باید با آدرس سرور خودتان جایگزین شود.

مرحله دوم: ارسال درخواست از Laravel

در کد Laravel می‌توانید از HTTP Client استفاده کنید:


use Illuminate\Support\Facades\Http;

use Illuminate\Support\Facades\Log;



$response = Http::withToken(

    config('services.n8n.token')

)->acceptJson()->post(

    'https://n8n.example.com/webhook/website-order',

    [

        'order_id' => $order->id,

        'customer' => $order->customer_name,

        'amount' => $order->total_amount,

        'status' => $order->status,

    ]

);



if ($response->successful()) {

    Log::info('n8n webhook request succeeded', [

        'order_id' => $order->id,

    ]);

} else {

    Log::warning('n8n webhook request failed', [

        'order_id' => $order->id,

        'http_status' => $response->status(),

    ]);

}

در این مثال فرض شده است که مدل $order از قبل در اختیار شما قرار دارد و نام فیلدها با ساختار پروژه‌تان مطابقت دارد.

همچنین این نمونه فرض می‌کند که در Webhook، روش احراز هویت مبتنی بر Bearer Token تنظیم شده است. اگر روش احراز هویت دیگری انتخاب کرده‌اید، باید درخواست Laravel را مطابق همان تنظیم کنید.

برای نگهداری توکن، می‌توانید از تنظیمات برنامه استفاده کنید. برای نمونه، در فایل config/services.php این بخش را اضافه کنید:


'n8n' => [

    'token' => env('N8N_WEBHOOK_TOKEN'),

],

سپس در فایل .env مقدار محرمانه را تعریف کنید:


N8N_WEBHOOK_TOKEN=replace-with-a-long-random-secret

مقدار نمونه را با یک توکن تصادفی و امن جایگزین کنید. فایل .env نباید در مخزن عمومی کد قرار بگیرد.

نکته مهم درباره خطاها: در کد بالا، موفقیت درخواست HTTP لزوماً به معنی موفقیت همه مراحل تجاری نیست؛ این موضوع به شیوه پاسخ‌دهی Webhook بستگی دارد. اگر درخواست با خطا مواجه شود، باید سیاست مشخصی برای ثبت خطا و تلاش مجدد داشته باشید. برای عملیات حساس، ارسال مستقیم درخواست از داخل مسیر اصلی ثبت سفارش ممکن است انتخاب مناسبی نباشد؛ می‌توانید از Queue در Laravel استفاده کنید تا اختلال موقت n8n باعث اختلال در تجربه کاربر نشود.

تست Webhook با ابزارهای HTTP

برای اینکه مطمئن شوید Webhook درست کار می‌کند، می‌توانید از ابزارهایی مانند Postman، افزونه‌های تست API یا دستور curl استفاده کنید.

فرض کنیم آدرس Test URL شما این است:

https://n8n.example.com/webhook-test/website-order

این آدرس فقط نمونه است؛ آدرس واقعی را از پنل n8n بردارید.

ابتدا گردش‌کار را در حالت انتظار برای رویداد تست قرار دهید. سپس دستور زیر را اجرا کنید:


curl -X POST \

  "https://n8n.example.com/webhook-test/website-order" \

  -H "Content-Type: application/json" \

  -d '{

    "order_id": 125,

    "customer": "Ali",

    "amount": 850000,

    "status": "paid"

  }'

اگر همه چیز درست تنظیم شده باشد، درخواست به Webhook می‌رسد و می‌توانید اطلاعات دریافتی را در خروجی نود مشاهده کنید.

در صورت استفاده از Authentication، باید Header یا اطلاعات احراز هویت مناسب را هم به درخواست اضافه کنید.

برای آزمایش Production URL نیز باید گردش‌کار را فعال کرده و آدرس عملیاتی را به کار ببرید.

نکات امنیتی مهم هنگام استفاده از Webhook

Webhook می‌تواند دروازه ورود اطلاعات به گردش‌کارهای شما باشد. اگر این آدرس بدون محافظت در دسترس عموم قرار بگیرد، افراد دیگر نیز ممکن است درخواست‌هایی به آن ارسال کنند.

برای کاهش ریسک، نکات زیر را رعایت کنید.

۱. احراز هویت را فعال کنید

در صورت امکان، از روش‌های احراز هویت پشتیبانی‌شده در Webhook مانند Basic Auth، Header Auth یا JWT استفاده کنید؛ روش مناسب به نیاز پروژه و تنظیمات نود بستگی دارد.

اگر از Header Auth استفاده می‌کنید، درخواست‌دهنده باید مقدار موردانتظار را در Header بفرستد. برای مثال، در یک پیاده‌سازی سفارشی می‌توان از Headerای مانند زیر استفاده کرد:


X-Webhook-Token: your-secret-token

این نام Header صرفاً نمونه است؛ نام و مقدار آن باید با تنظیمات احراز هویت شما هماهنگ باشد.

۲. از HTTPS استفاده کنید

در محیط عملیاتی، آدرس Webhook را از طریق HTTPS در دسترس قرار دهید تا ارتباط رمزگذاری شود. اگر n8n را پشت Reverse Proxy اجرا می‌کنید، مطمئن شوید تنظیمات دامنه و پروکسی به‌درستی انجام شده‌اند.

۳. اطلاعات محرمانه را در URL قرار ندهید

از قرار دادن رمز عبور، API Key یا توکن محرمانه در Query String خودداری کنید. این مقادیر ممکن است در لاگ‌ها یا تاریخچه درخواست‌ها ثبت شوند.

۴. داده‌های ورودی را معتبرسنجی کنید

هر درخواستی که به Webhook می‌رسد لزوماً معتبر نیست. نوع داده‌ها، وجود فیلدهای ضروری و محدوده مقادیر را بررسی کنید.

برای نمونه، قبل از ذخیره سفارش باید مطمئن شوید شناسه سفارش معتبر است و مبلغ از منبع قابل اعتماد به دست آمده است.

۵. در برابر درخواست‌های تکراری آماده باشید

ممکن است یک سیستم به دلیل Timeout یا خطای شبکه، یک درخواست را دوباره ارسال کند. اگر هر درخواست باعث ثبت سفارش، پرداخت یا اجرای یک عملیات حساس شود، احتمال تکرار عملیات وجود دارد.

برای کاهش این ریسک، از شناسه یکتای رویداد یا سفارش استفاده کنید و در سمت پردازش، تکراری نبودن عملیات را بررسی کنید. در فرایندهای مالی، به تکیه بر Webhook به‌عنوان تنها منبع تأیید پرداخت اکتفا نکنید.

خطاهای رایج Webhook در n8n و روش رفع آن‌ها

هنگام کار با Webhook، چند مشکل متداول وجود دارد که با بررسی مرحله‌به‌مرحله قابل شناسایی هستند.

خطای 404 یا پیدا نشدن Webhook

علت‌های احتمالی:

  • آدرس اشتباه کپی شده است.
  • به‌جای Production URL از Test URL استفاده می‌کنید یا برعکس.
  • گردش‌کار در وضعیت لازم برای نوع آدرس انتخابی قرار ندارد.
  • مقدار Path تغییر کرده است.

ابتدا آدرس را مستقیماً از نود کپی کنید و مطمئن شوید وضعیت گردش‌کار با نوع URL مطابقت دارد.

خطای Method Not Allowed

این خطا ممکن است زمانی رخ دهد که متد ارسال‌شده با متد تنظیم‌شده در Webhook مطابقت نداشته باشد.

برای مثال، اگر Webhook روی POST تنظیم شده باشد اما درخواست با GET ارسال شود، باید متد درخواست یا تنظیم نود را اصلاح کنید.

اطلاعات ورودی خالی است

اگر Webhook اجرا می‌شود اما فیلدهای موردانتظار را نمی‌بینید، این موارد را بررسی کنید:

  • Header مربوط به Content-Type برای JSON تنظیم شده باشد.
  • داده‌ها در بخش درست درخواست ارسال شده باشند.
  • ساختار خروجی نود را بررسی کرده باشید.
  • Expression با مسیر واقعی داده‌ها مطابقت داشته باشد.

درخواست Timeout می‌شود

اگر گردش‌کار مدت زیادی اجرا شود، ممکن است برنامه ارسال‌کننده پیش از دریافت پاسخ اتصال را ببندد.

در این حالت، مدت پردازش را بررسی کنید. برای عملیات طولانی، طراحی غیرهم‌زمان، Queue یا ارسال پاسخ اولیه و پیگیری وضعیت عملیات می‌تواند مناسب‌تر باشد. اگر از نود پاسخ‌دهی اختصاصی استفاده می‌کنید، مطمئن شوید در مسیر اجرا به آن می‌رسید.

Webhook از بیرون سرور در دسترس نیست

اگر n8n روی سرور شخصی یا Docker اجرا شده است، موارد زیر را بررسی کنید:

  • دامنه به سرور صحیح اشاره کند.
  • پورت‌ها و Firewall مطابق معماری تنظیم شده باشند.
  • Reverse Proxy درخواست‌ها را به n8n هدایت کند.
  • TLS و HTTPS درست پیکربندی شده باشند.
  • آدرس‌های Webhook تولیدشده با دامنه عمومی موردانتظار مطابقت داشته باشند.

در محیط Docker، در دسترس بودن n8n از داخل شبکه کانتینرها لزوماً به معنی دسترسی آن از اینترنت نیست.

چه زمانی Webhook انتخاب مناسبی نیست؟

Webhook برای شروع رویدادمحور گردش‌کارها بسیار کاربردی است، اما همیشه بهترین گزینه نیست.

اگر می‌خواهید هر روز ساعت مشخصی گزارشی تولید شود، Schedule Trigger انتخاب ساده‌تری است. اگر سرویس موردنظر Trigger اختصاصی و قابل اتکایی دارد، استفاده از آن نیز می‌تواند مدیریت رویدادها را آسان‌تر کند.

همچنین اگر پردازش شما طولانی است یا درخواست‌ها با حجم زیادی از داده‌ها ارسال می‌شوند، باید ظرفیت سرور، محدودیت‌های زمانی، سیاست تلاش مجدد و نحوه مدیریت خطا را در طراحی سیستم در نظر بگیرید.

در نهایت، Webhook زمانی بیشترین ارزش را دارد که یک رویداد خارجی باید به‌سرعت و به‌شکل قابل کنترل، گردش‌کاری را آغاز کند.

پرسش‌های متداول درباره Webhook در n8n

Webhook در n8n چه کاربردی دارد؟

Webhook برای دریافت درخواست‌های HTTP از سایت‌ها، اپلیکیشن‌ها و سرویس‌های دیگر استفاده می‌شود و می‌تواند شروع‌کننده یک Workflow باشد.

آیا برای استفاده از Webhook باید برنامه‌نویسی بلد باشیم؟

برای ساخت وب‌هوک ساده، معمولاً نیازی به برنامه‌نویسی ندارید. با این حال، برای اتصال به سیستم‌های اختصاصی، اعتبارسنجی داده‌ها و پیاده‌سازی فرایندهای پیچیده، آشنایی با HTTP، JSON و مفاهیم API بسیار کمک‌کننده است.

آیا می‌توان Laravel را به n8n متصل کرد؟

بله. می‌توانید با HTTP Client لاراول، یک درخواست POST به Production URL وب‌هوک ارسال کنید و اطلاعات موردنیاز را در قالب JSON بفرستید.

چرا Webhook در حالت تست کار می‌کند اما در حالت عملیاتی نه؟

ممکن است از URL اشتباه استفاده کرده باشید، گردش‌کار در وضعیت مناسب قرار نداشته باشد یا تنظیمات دامنه و Reverse Proxy درست نباشند. وضعیت Workflow و آدرس نمایش‌داده‌شده در نود را بررسی کنید.

آیا Webhook باید بدون احراز هویت باشد؟

خیر. در محیط عملیاتی بهتر است Webhook بر اساس حساسیت داده‌ها با روش مناسب محافظت شود. اگر وب‌هوک برای دریافت اطلاعات حساس یا اجرای عملیات مهم استفاده می‌شود، احراز هویت و اعتبارسنجی درخواست اهمیت بیشتری پیدا می‌کند.

آیا می‌توان اطلاعات Webhook را در PostgreSQL ذخیره کرد؟

بله. می‌توانید پس از Webhook، نود PostgreSQL را قرار دهید و اطلاعات موردنیاز را ذخیره کنید. بهتر است پیش از ذخیره‌سازی، داده‌ها را معتبرسنجی کرده و برای جلوگیری از ثبت تکراری، از شناسه یکتا استفاده کنید.

جمع‌بندی

Webhook در n8n راهی ساده و انعطاف‌پذیر برای اتصال سایت‌ها، اپلیکیشن‌ها و APIها به گردش‌کارهای خودکار است. با ساخت یک Webhook می‌توانید درخواست HTTP دریافت کنید، داده‌های JSON را پردازش کنید، اطلاعات را در پایگاه داده ذخیره کنید و با سرویس‌های دیگر ارتباط برقرار کنید.

برای استفاده صحیح از این قابلیت، باید تفاوت Test URL و Production URL را بشناسید، پاسخ مناسبی برای درخواست‌دهنده تنظیم کنید و امنیت وب‌هوک را جدی بگیرید. همچنین در پروژه‌های واقعی، مدیریت خطا، Timeout و درخواست‌های تکراری را فراموش نکنید.

اگر قصد دارید از n8n برای اتصال سیستم‌های مختلف استفاده کنید، قدم بعدی یادگیری نود HTTP Request است. با این نود می‌توانید از داخل گردش‌کار، به APIهای خارجی درخواست بفرستید و اطلاعات دریافت‌شده را در مراحل بعدی پردازش کنید.

منابع رسمی برای مطالعه بیشتر

  • مستندات Webhook در n8n: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/
  • مستندات HTTP Request در n8n: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/
  • مستندات رسمی Laravel HTTP Client: https://laravel.com/docs/http

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

۱۲ دقیقه
معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

۲۱ دقیقه
مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

۲۲ دقیقه
n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

۲۲ دقیقه