آموزش جامع نود HTTP Request در n8n برای اتصال به هر API و ساخت اتوماسیون‌های سفارشی

راهنمای جامع نود HTTP Request در n8n (۱۴۰۴): اتصال به هر API بدون محدودیت

فرض کنید هزینه ماهانه Zapier برای اتصال HubSpot به سیستم حسابداری داخلی شما سر به فلک کشیده است. یا بدتر، می‌خواهید به API جدید یک سرویس ایرانی (مثل یک پنل پیامک یا CRM) متصل شوید که هیچ اینتگریشن آماده‌ای در پلتفرم‌های خارجی ندارد.

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

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

این نود، کابوس Zapier و دلیل اصلی مهاجرت تیم‌های فنی به n8n در سال ۲۰۲۶ است.

آناتومی یک درخواست API در n8n: از متد تا هدر (راهنمای ۱۴۰۴)

راهنمای جامع نود HTTP Request در n8n (۱۴۰۴): اتصال به هر API بدون محدودیت

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

1. Method (متد): فعلِ دستور شما. مشخص می‌کند که از سرور چه می‌خواهید. آیا قصد گرفتن دیتا (GET) را دارید یا ارسال دیتای جدید (POST
2. URL (آدرس): آدرس دقیق Endpoint. اینجا همان آدرسی است که می‌خواهید دیتا را به آنجا بفرستید یا از آنجا اطلاعات بگیرید. این آدرس باید کامل و دقیق باشد.
3. Authentication (احراز هویت): کلید ورود به سرور. سرورها برای اطمینان از هویت شما، به یک مکانیزم تایید نیاز دارند. اینجا مشخص می‌کنید که از چه روشی (مثلاً API Key یا OAuth2) استفاده می‌کنید.
4. Send (نحوه ارسال): مشخص می‌کند پارامترهای شما چطور ارسال شوند. در ۹۹٪ موارد، شما با Query Parameters (برای GET) و Body (برای POST/PUT) کار خواهید کرد.
5. Headers (سرآیندها): فراداده‌های (Metadata) درخواست شما. مثل زبان مکالمه یا نوع محتوایی که ارسال می‌کنید. یکی از مهم‌ترین هدرها Content-Type است که به سرور می‌گوید فرمت دیتای ارسالی شما چیست (مثلاً application/json).
6. Query Parameters (پارامترهای پرس‌وجو): فیلترهای شما برای درخواست‌های GET. وقتی می‌خواهید از یک لیست بزرگ، فقط آیتم‌های خاصی را بگیرید (مثلاً کاربرانی که در سال ۱۴۰۴ ثبت‌نام کرده‌اند)، از این پارامترها استفاده می‌کنید.
7. Body (بدنه): محموله اصلی شما. وقتی دیتایی را با متد POST یا PUT ارسال می‌کنید، اصل اطلاعات در این قسمت قرار می‌گیرد، معمولاً در فرمت JSON.
8. Options (تنظیمات پیشرفته): جعبه ابزار حرفه‌ای‌ها. تنظیماتی مثل Timeout، نادیده گرفتن خطاهای SSL (برای محیط تست) و تنظیمات پروکسی در اینجا قرار دارند.

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

| متد (Method) | کاربرد اصلی | مثال در یک ورک‌فلوی n8n |
| :— | :— | :— |
| GET | خواندن و دریافت اطلاعات از یک منبع. | دریافت لیست آخرین مقالات از API وردپرس برای ارسال در شبکه‌های اجتماعی. |
| POST | ایجاد یک منبع جدید. | ثبت اطلاعات یک کاربر جدید در CRM دیدار پس از پر کردن فرم تماس. |
| PUT | جایگزینی کامل یک منبع موجود. | آپدیت کامل پروفایل یک کاربر (مثلاً نام، ایمیل و تلفن) در یک مرحله. |
| PATCH | آپدیت جزئی یک منبع موجود. | تغییر فقط وضعیت یک سفارش از “در حال پردازش” به “ارسال شده” بدون دست زدن به بقیه اطلاعات سفارش. |
| DELETE | حذف یک منبع. | حذف یک کاربر از لیست ایمیل پس از اینکه روی لینک Unsubscribe کلیک کرد. |

ورک‌فلوی آماده: ثبت لیدهای سایت در CRM

همین ورک‌فلوی اتصال Elementor به CRM دیدار را به صورت یک فایل JSON آماده دریافت کنید. فقط ایمپورت کنید، کلید API خود را وارد کنید و در ۵ دقیقه، فرآیند ثبت لیدهای خود را برای همیشه اتوماتیک کنید.

دانلود فایل JSON ورک‌فلو →

فصل ۱: ارسال و دریافت دیتا (متدهای GET و POST با مثال‌های واقعی)

تئوری کافی است. بیایید دو سناریوی واقعی را که ما در پروژه‌های کارورا با آن مواجه شده‌ایم، قدم به قدم پیاده‌سازی کنیم.

مثال ۱: ساخت داشبورد لحظه‌ای قیمت ارز با متد GET

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

قدم‌ها:

1. Trigger (ماشه): از نود Cron (در نسخه‌های جدید Schedule) استفاده کنید و زمان‌بندی را روی “Every Hour” تنظیم کنید. این نود ورک‌فلو را به صورت خودکار در بازه‌های زمانی مشخص اجرا می‌کند.

2. HTTP Request Node (پیکربندی):

  • Method: GET (چون فقط قصد خواندن اطلاعات را داریم).
  • URL: آدرس API مورد نظر. برای مثال، از یک API عمومی قیمت ارز استفاده می‌کنیم. فرض کنید آدرس این است: https://api.example.com/v1/currency/usd.
  • Authentication: None (چون این یک API عمومی است).
  • نکته درباره لیست‌ها: در نسخه‌های جدید n8n، اگر خروجی API یک آرایه (List) باشد، n8n معمولاً به صورت خودکار آن را تشخیص می‌دهد. اگر نیاز به پردازش تک‌تک آیتم‌ها داشتید، می‌توانید خروجی را به نود Item Lists (عملیات Split Out) متصل کنید.
  • 3. Telegram Node (ارسال پیام):

  • یک نود Telegram اضافه کنید و Credential خود را تنظیم کنید.
  • Chat ID: شناسه کانال یا گروه تلگرامی خود را وارد کنید.
  • Text: در این قسمت، باید از داده‌های خروجی نود HTTP Request استفاده کنیم. با استفاده از Expression Editor، متنی شبیه به این بنویسید:
  • text
    قیمت لحظه‌ای دلار:

    خرید: {{ $json[“buy_price”] }} تومان
    فروش: {{ $json[“sell_price”] }} تومان

    آخرین بروزرسانی: {{ new Date($json[“last_updated”]).toLocaleString(‘fa-IR’) }}

    این عبارت‌ها ({{...}}) به n8n می‌گویند که مقادیر buy_price و sell_price را از خروجی JSON نود قبلی (متغیر $json) بخواند و در پیام جایگزین کند.

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

    مثال ۲: ثبت لید از فرم Elementor در CRM دیدار با متد POST

    سناریو: یک فرم “درخواست دمو” در وب‌سایت وردپرسی خود با Elementor ساخته‌ایم. می‌خواهیم به محض اینکه کاربری فرم را پر کرد، اطلاعات او به صورت خودکار به عنوان یک “لید جدید” در CRM دیدار ثبت شود.

    قدم‌ها:

    1. Trigger (ماشه): از نود Webhook استفاده کنید. n8n یک URL یکتا به شما می‌دهد. این URL را در تنظیمات فرم Elementor در بخش “Actions After Submit” و زیرمجموعه “Webhook” قرار دهید. حالا هر بار که فرم سابمیت شود، Elementor تمام اطلاعات را به این آدرس ارسال می‌کند.

    > ⚠️ نکته امنیتی: URLهای وب‌هوک عمومی هستند. برای جلوگیری از ارسال اسپم، پیشنهاد می‌کنیم در هدر درخواست‌های Elementor یک توکن امنیتی دلخواه ارسال کنید و در ابتدای ورک‌فلو با یک نود If آن را چک کنید.

    2. HTTP Request Node (پیکربندی):

  • Method: POST (چون قصد ایجاد یک موجودیت جدید یعنی “لید” را داریم).
  • URL: آدرس Endpoint مربوط به ایجاد لید در مستندات API دیدار. برای مثال: https://api.didar.me/api/leads.
  • Authentication: به بخش بعدی مراجعه کنید، اما فرض می‌کنیم دیدار از API Key در هدر استفاده می‌کند.
  • Send: Body.
  • Body Content Type: JSON.
  • Headers: یک هدر جدید با نام Content-Type و مقدار application/json اضافه کنید. این به سرور دیدار می‌گوید که ما در حال ارسال داده با فرمت JSON هستیم. تجربه ما نشان داده که فراموش کردن این هدر، یکی از رایج‌ترین دلایل خطای 400 Bad Request است.
  • Body: اینجا قلب عملیات است. باید یک ساختار JSON مطابق با مستندات API دیدار بسازیم و داده‌های ورودی از وب‌هوک را در آن قرار دهیم.
  • {
    “firstName”: “{{ $json.body.form_fields.name }}”,
    “lastName”: “”,
    “company”: “{{ $json.body.form_fields.company }}”,
    “phones”: [
    {
    “phone”: “{{ $json.body.form_fields.phone }}”,
    “type”: “mobile”
    }
    ],
    “emails”: [
    {
    “email”: “{{ $json.body.form_fields.email }}”,
    “type”: “work”
    }
    ]
    }

    در کد بالا، ما مقادیر فیلدهای فرم (name, company, phone, email) که از وب‌هوک Elementor آمده‌اند را به فیلدهای متناظر در API دیدار “مپ” کرده‌ایم.

    3. If Node (بررسی موفقیت): (اختیاری اما به شدت توصیه می‌شود)

  • یک نود If بعد از HTTP Request قرار دهید.
  • یک شرط تعریف کنید که Status Code خروجی نود HTTP Request برابر با 201 (کد استاندارد برای “Created”) باشد.
  • اگر شرط برقرار بود، می‌توانید یک پیام موفقیت به اسلک ارسال کنید. اگر برقرار نبود (یعنی خطایی رخ داده)، می‌توانید یک ایمیل هشدار برای تیم فنی ارسال کنید تا مشکل را بررسی کنند.
  • این ورک‌فلو، فرآیند ثبت لید را کاملاً خودکار کرده و ریسک خطای انسانی را به حداقل می‌رساند.

    راهنمای جامع نود HTTP Request در n8n (۱۴۰۴): اتصال به هر API بدون محدودیت

    فصل ۲: احراز هویت (Authentication): کلید ورود به APIهای امن

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

    ۱. Bearer Token / API Key

    این ساده‌ترین و رایج‌ترین روش است. سرویس مقصد یک کلید (رشته‌ای از حروف و اعداد) به شما می‌دهد و شما باید آن را در هر درخواست، در هدر Authorization ارسال کنید.

    مثال: اتصال به API گیت‌هاب برای دریافت لیست ریپازیتوری‌ها

    1. در نود HTTP Request، به تب Authentication بروید و Header Auth را انتخاب کنید.
    2. Name: Authorization
    3. Value: Bearer YOUR_GITHUB_PERSONAL_ACCESS_TOKEN

    مقدار Value باید دقیقاً با کلمه Bearer و یک فاصله شروع شود و سپس توکن شما قرار گیرد.

    نکته حرفه‌ای: هرگز کلیدهای API را مستقیماً در فیلد Value وارد نکنید. این یک ریسک امنیتی بزرگ است. به جای آن، از سیستم Credentials داخلی n8n استفاده کنید. یک Header Auth Credential جدید بسازید، کلید خود را آنجا ذخیره کنید و سپس آن را در نود خود انتخاب کنید. با این کار، اگر ورک‌فلو را به اشتراک بگذارید، کلیدهای شما مخفی باقی می‌مانند.

    ۲. OAuth2

    OAuth2 یک پروتکل استاندارد و امن‌تر برای احراز هویت است. به جای یک کلید ثابت، این فرآیند شامل یک “دست دادن” (handshake) بین n8n و سرویس مقصد برای دریافت یک توکن دسترسی موقت (Access Token) است. این توکن پس از مدتی منقضی می‌شود و باید با استفاده از یک Refresh Token تمدید شود.

    خبر خوب این است که n8n تمام این پیچیدگی را برای شما مدیریت می‌کند.

    مثال: اتصال به Google Calendar برای ایجاد یک رویداد

    1. در پنل n8n، به بخش Credentials بروید و روی Add Credential کلیک کنید.
    2. Google OAuth2 API را جستجو و انتخاب کنید.
    3. n8n شما را راهنمایی می‌کند که یک Client ID و Client Secret از کنسول توسعه‌دهندگان گوگل دریافت کنید.
    4. این مقادیر را در n8n وارد کرده و روی دکمه Sign in with Google کلیک کنید. شما به صفحه گوگل هدایت می‌شوید، دسترسی‌ها را تایید می‌کنید و به n8n بازمی‌گردید.
    5. تمام شد! حالا در هر نودی که با گوگل کار می‌کند (مثل Google Calendar, Google Sheets)، می‌توانید این Credential را انتخاب کنید و n8n به صورت خودکار فرآیند دریافت و تمدید توکن را مدیریت خواهد کرد. شما دیگر هرگز نگران منقضی شدن توکن نخواهید بود.

    ۳. Basic Auth

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

    n8n این فرآیند را نیز ساده کرده است:

    1. در تب Authentication، گزینه Basic Auth را انتخاب کنید.
    2. یک Credential از نوع Basic Auth Credential بسازید و نام کاربری و رمز عبور خود را در آن وارد کنید.
    3. همین. n8n به صورت خودکار عملیات انکود کردن و قرار دادن آن در هدر را انجام می‌دهد.

    فصل ۳: تکنیک‌های پیشرفته برای حرفه‌ای‌ها (دیباگ، فایل و تنظیمات خاص)

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

    ۱. کار با فایل‌ها (Binary Data)

    گاهی اوقات شما با JSON کار نمی‌کنید، بلکه با فایل‌های واقعی سر و کار دارید؛ مثل دانلود یک PDF یا آپلود یک تصویر.

    سناریو: دانلود فاکتور PDF از یک URL و ذخیره آن در Dropbox

    1. نود اول: HTTP Request (دانلود فایل)

  • Method: GET
  • URL: آدرس مستقیم فایل PDF. مثلاً: https://example.com/invoices/INV-123.pdf
  • Options > Response Format: این مهم‌ترین تنظیم است. آن را روی File قرار دهید. این به n8n می‌گوید که پاسخ سرور را به عنوان داده باینری (و نه متن یا JSON) در نظر بگیرد.
  • 2. نود دوم: Dropbox (آپلود فایل)

  • نود Dropbox را اضافه کرده و Credential خود را تنظیم کنید.
  • Resource: File
  • Operation: Upload
  • Binary Data: این گزینه را روی On قرار دهید.
  • Input Data Field Name: در اینجا باید نام پراپرتی که داده باینری را در خود دارد مشخص کنید. به صورت پیش‌فرض data است.
  • File Path: مسیر و نام فایلی که می‌خواهید در دراپ‌باکس ذخیره شود را وارد کنید. مثلاً /invoices/{{ $now.toFormat('yyyy-MM-dd') }}_invoice.pdf.
  • این ورک‌فلو به صورت خودکار فایل را دانلود و در پوشه مورد نظر شما در دراپ‌باکس آپلود می‌کند.

    ۲. دیباگ و خطایابی (Debugging)

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

    | کد خطا | معنای فنی | علت احتمالی در n8n | راه حل پیشنهادی |
    | :— | :— | :— | :— |
    | 400 | Bad Request | ساختار JSON ارسالی در Body شما اشتباه است (مثلاً یک کاما جا افتاده) یا یک پارامتر الزامی را ارسال نکرده‌اید. | به تب Output در نود HTTP Request بروید و ساختار JSON ارسالی (Input) را کپی کرده و در یک JSON Validator آنلاین بررسی کنید. |
    | 401 | Unauthorized | کلید API (API Key/Bearer Token) شما اشتباه است، منقضی شده یا اصلاً ارسال نشده است. | Credential خود را دوباره چک کنید. مطمئن شوید در هدر Authorization کلمه Bearer یا Basic را درست نوشته‌اید. |
    | 403 | Forbidden | کلید API شما معتبر است، اما شما دسترسی لازم برای انجام آن عمل خاص (مثلاً حذف یک کاربر) را ندارید. | دسترسی‌های (Permissions/Scopes) کلید API خود را در پنل سرویس مقصد بررسی کنید. |
    | 404 | Not Found | آدرس URL یا Endpoint که وارد کرده‌اید اشتباه است یا منبعی که به دنبال آن هستید وجود ندارد. | URL را با مستندات API تطبیق دهید. از صحت ID یا پارامترهای ارسالی اطمینان حاصل کنید. |
    | 500 | Internal Server Error | مشکل از شما نیست، از سرور مقصد است. سرور در پردازش درخواست شما با یک خطای داخلی مواجه شده است. | چند دقیقه صبر کنید و دوباره تلاش کنید. اگر مشکل ادامه داشت، با پشتیبانی سرویس API تماس بگیرید. |

    همیشه از تب‌های Input و Output در نمای اجرای نود برای دیدن داده‌های دقیق ورودی و خروجی استفاده کنید. این بهترین ابزار شما برای دیباگ است.

    ۳. تنظیمات پیشرفته (Options)

    در پایین نود HTTP Request، بخشی به نام Options وجود دارد که در سناریوهای خاص به کار می‌آید:

  • Ignore SSL Issues: فقط و فقط در محیط‌های توسعه (Development) یا زمانی که به یک سرور داخلی با گواهی SSL خودامضا (self-signed) متصل می‌شوید، از این گزینه استفاده کنید. فعال کردن این گزینه در محیط پروداکشن یک حفره امنیتی بزرگ ایجاد می‌کند.
  • Timeout: حداکثر زمانی (به میلی‌ثانیه) که n8n منتظر پاسخ از سرور مقصد می‌ماند. اگر با APIهایی کار می‌کنید که پردازش‌های سنگینی انجام می‌دهند، ممکن است لازم باشد این مقدار را افزایش دهید تا از خطای Timeout جلوگیری کنید.
  • Proxy: اگر در یک شبکه شرکتی کار می‌کنید که تمام ترافیک خروجی باید از یک سرور پروکسی عبور کند، می‌توانید آدرس پروکسی را در این قسمت تنظیم کنید.
  • نتیجه‌گیری: شما دیگر به اینتگریشن‌های آماده محدود نیستید

    با تسلط بر نود HTTP Request، پارادایم کاری شما تغییر می‌کند. شما دیگر یک «مصرف‌کننده» ابزارهای اتوماسیون نیستید که منتظر بمانید تا Zapier یا Make یک اپلیکیشن جدید را به لیست خود اضافه کنند. شما یک «خالق» سیستم‌های یکپارچه هستید.

    از این به بعد، وقتی با یک سرویس جدید مواجه می‌شوید، اولین سوال شما این نیست که “آیا این سرویس با n8n یکپارچه می‌شود؟”؛ بلکه این است که “مستندات API آن کجاست؟”

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

    یک اتوماسیون پیچیده در ذهن دارید؟

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

    رزرو جلسه استراتژی رایگان →

    نوشته های مرتبط