اگر محصولات یا خدماتی برای فروش دارید، میتوانید از تلگرام بهعنوان یک کانال ساده برای معرفی محصولات و دریافت درخواست مشتری استفاده کنید. برای این کار لازم نیست از ابتدا یک ربات را با PHP یا Python برنامهنویسی کنید؛ با ابزار اتوماسیون n8n میتوانید یک ربات فروش بسازید که پیامهای مشتری را دریافت کند، فهرست محصولات را نمایش دهد و انتخاب مشتری را برای پیگیری آماده کند.
در این آموزش، یک ربات فروش ساده میسازیم که مشتری با ارسال دستور /start وارد منوی فروش میشود، یکی از محصولات را انتخاب میکند و اطلاعات درخواست او برای مدیر فروش ارسال میشود.
در پایان مقاله با این موارد آشنا میشوید:
- ساخت ربات فروش با BotFather
- اتصال ربات تلگرام به n8n
- نمایش منوی محصولات
- دریافت انتخاب مشتری با دستورهای متنی
- ارسال درخواست خرید برای مدیر فروش
- آزمایش ربات و رفع خطاهای رایج
ربات فروش تلگرام با n8n چگونه کار میکند؟
در نسخهای که میسازیم، فرایند فروش به این شکل است:
- مشتری وارد ربات تلگرام میشود.
- دستور
/startرا ارسال میکند. - ربات فهرست محصولات یا خدمات را نمایش میدهد.
- مشتری عدد مربوط به محصول را میفرستد.
- ربات جزئیات محصول انتخابشده را نمایش میدهد.
- یک پیام حاوی درخواست مشتری برای مدیر فروش ارسال میشود تا بتواند با مشتری تماس بگیرد یا ادامه فرایند فروش را پیگیری کند.
جریان کلی Workflow به شکل زیر است:
Telegram Trigger
|
v
Switch
|
+---- /start ----> نمایش منوی محصولات
|
+---- 1 ---------> معرفی محصول اول
|
+---- 2 ---------> معرفی محصول دوم
|
+---- 3 ---------> معرفی محصول سوم
|
+---- سایر پیامها -> راهنمای استفاده
برای ساده ماندن آموزش، انتخاب محصولات با ارسال عدد انجام میشود. در نسخههای پیشرفتهتر میتوانید از دکمههای شیشهای تلگرام (Inline Keyboard)، سبد خرید، ثبت سفارش در پایگاه داده و اتصال به درگاه پرداخت استفاده کنید.
پیشنیازهای ساخت ربات فروش
قبل از شروع، به موارد زیر نیاز دارید:
- یک حساب تلگرام
- یک ربات تلگرام و توکن دسترسی آن
- یک نمونه فعال n8n
- دسترسی به ساخت و اجرای Workflow در n8n
اگر هنوز ربات تلگرام نساختهاید، ابتدا مقاله «آموزش ساخت ربات تلگرام با n8n؛ از BotFather تا اتصال به Workflow» را مطالعه کنید. همچنین برای آشنایی با دریافت پیامها، مقاله «آموزش دریافت پیام تلگرام در n8n؛ استخراج متن و اطلاعات کاربر» میتواند مفید باشد.
مرحله اول: آمادهکردن ربات تلگرام
برای ساخت ربات، در تلگرام وارد گفتوگو با حساب رسمی @BotFather شوید.
مراحل زیر را انجام دهید:
- دستور
/newbotرا ارسال کنید. - یک نام برای ربات انتخاب کنید؛ مثلاً «فروشگاه نمونه».
- یک نام کاربری یکتا انتخاب کنید که به
botختم شود. - توکنی را که BotFather در اختیارتان قرار میدهد، در جای امن نگه دارید.
توکن ربات مانند رمز عبور است. آن را داخل مقاله، کد عمومی، پیامهای قابل مشاهده برای مشتری یا مخزن عمومی Git قرار ندهید.
مرحله دوم: اتصال تلگرام به n8n
وارد پنل n8n شوید و یک Workflow جدید بسازید.
یک Node از نوع Telegram Trigger به Workflow اضافه کنید. این Node وظیفه دارد پیامهای جدیدی را که به ربات ارسال میشوند دریافت کند.
در بخش Credentials، اطلاعات اتصال ربات تلگرام را وارد کنید. معمولاً برای این کار باید یک Credential از نوع Telegram API بسازید و توکن دریافتی از BotFather را در آن قرار دهید.
سپس تنظیمات Telegram Trigger را بررسی کنید:
- Credential: اتصال ساختهشده برای ربات
- Update Types: گزینه مربوط به دریافت پیام (Message)
تنظیمات را ذخیره کنید و Workflow را در حالت آزمایش قرار دهید. اگر ربات پیام آزمایشی دریافت کند، باید داده ورودی در خروجی Telegram Trigger نمایش داده شود.
برای مثال، ساختار سادهشده یک پیام دریافتی میتواند شبیه این باشد:
{
"message": {
"message_id": 12,
"from": {
"id": 123456789,
"first_name": "Ali"
},
"chat": {
"id": 123456789,
"type": "private"
},
"text": "/start"
}
}
این فقط نمونهای از ساختار داده است؛ خروجی واقعی را از اجرای Telegram Trigger در n8n بررسی کنید. در ادامه، از فیلد message.text برای تشخیص دستور مشتری و از message.chat.id برای ارسال پاسخ به همان گفتوگو استفاده میکنیم.
مرحله سوم: ساخت منوی محصولات
بعد از Telegram Trigger، یک Node از نوع Switch اضافه کنید.
هدف این Node آن است که متن پیام مشتری را بررسی کند و بر اساس مقدار آن، اجرای Workflow را به مسیر مناسب هدایت کند.
در تنظیمات Switch، مقدار ورودی را روی این Expression قرار دهید:
{{ $json.message.text }}
سپس چند قانون (Rule) تعریف کنید. برای هر قانون، شرط برابری دقیق (Equals) را در نظر بگیرید:
| مقدار پیام | کاربرد |
|---|---|
/start | نمایش منوی اصلی |
1 | انتخاب محصول اول |
2 | انتخاب محصول دوم |
3 | انتخاب محصول سوم |
در صورت وجود گزینهای مانند Fallback Output در تنظیمات Switch، میتوانید آن را برای پیامهایی در نظر بگیرید که با هیچیک از قوانین مطابقت ندارند.
نکته: اگر نام گزینهها در نسخه n8n شما متفاوت است، هدف تنظیمات را ملاک قرار دهید؛ یعنی متن پیام بررسی شود و هر قانون یک خروجی مستقل داشته باشد.
مرحله چهارم: نمایش منوی فروش
برای خروجی مربوط به دستور /start، یک Node از نوع Telegram اضافه کنید.
عملیات ارسال پیام را انتخاب کنید. نام دقیق عملیات ممکن است با توجه به نسخه و رابط کاربری n8n متفاوت باشد؛ معمولاً باید عملیاتی را انتخاب کنید که پیام متنی ارسال میکند.
تنظیمات اصلی را به این صورت قرار دهید:
Chat ID
{{ $json.message.chat.id }}
Text
سلام! به فروشگاه ما خوش آمدید.
برای مشاهده اطلاعات هر محصول، عدد مربوط به آن را ارسال کنید:
1 - محصول اول
2 - محصول دوم
3 - محصول سوم
برای مشاهده دوباره این منو، دستور /start را بفرستید.
این تنظیمات باعث میشود پاسخ به همان گفتوگویی ارسال شود که پیام از آن دریافت شده است.
اکنون Workflow را آزمایش کنید و در تلگرام دستور /start را برای ربات بفرستید. اگر تنظیمات درست باشد، منوی محصولات را دریافت خواهید کرد.
مرحله پنجم: نمایش اطلاعات محصولات
حالا باید برای هر محصول، یک پاسخ جداگانه بسازیم.
برای خروجی مربوط به عدد 1 از Switch، یک Telegram Node اضافه کنید و تنظیمات زیر را در آن قرار دهید.
Chat ID
{{ $json.message.chat.id }}
Text
محصول اول
توضیحات: معرفی کوتاه محصول اول
قیمت: برای اطلاع از قیمت روز با واحد فروش تماس بگیرید.
اگر قصد خرید دارید، همین پیام را با عبارت «درخواست خرید 1» ارسال کنید یا منتظر راهنمایی واحد فروش باشید.
متن بالا صرفاً نمونه است؛ آن را با اطلاعات واقعی محصول، قیمت و شرایط فروش خود جایگزین کنید.
برای محصول دوم و سوم نیز همین کار را انجام دهید. فقط متن پیام را تغییر دهید و در هر مسیر اطلاعات همان محصول را قرار دهید.
برای مثال:
- خروجی عدد
1: اطلاعات محصول اول - خروجی عدد
2: اطلاعات محصول دوم - خروجی عدد
3: اطلاعات محصول سوم
در این مرحله، ربات میتواند محصولات را معرفی کند؛ اما هنوز یک سفارش کامل با وضعیت، شناسه و اطلاعات پایدار مشتری ایجاد نکرده است. برای ساخت چنین سیستمی باید مراحل دریافت اطلاعات مشتری و ذخیره درخواست را نیز به Workflow اضافه کنیم.
مرحله ششم: ارسال درخواست مشتری به مدیر فروش
یکی از کاربردهای مهم ربات فروش، اطلاعرسانی سریع به مدیر فروش است.
فرض کنید مشتری عدد 2 را ارسال کرده و میخواهید انتخاب او برای مدیر فروش ارسال شود. میتوانید از همان مسیر خروجی عدد 2، یک Telegram Node دیگر اضافه کنید که به حساب یا گروه داخلی مدیر فروش پیام بفرستد.
در تنظیمات این Node:
- Credential: اتصال ربات تلگرام
- Operation: ارسال پیام متنی
- Chat ID: شناسه گفتوگوی مدیر فروش یا گروه مجاز
- Text: اطلاعات درخواست مشتری
برای نمونه، متن پیام مدیر فروش میتواند این باشد:
درخواست جدید از ربات فروش
محصول انتخابشده: محصول دوم
شناسه گفتوگوی مشتری:
{{ $json.message.chat.id }}
نام مشتری:
{{ $json.message.from.first_name }}
نام کاربری تلگرام:
{{ $json.message.from.username || "ثبت نشده" }}
متن پیام:
{{ $json.message.text }}
این Expressionها از داده ورودی تلگرام استفاده میکنند. قبل از فعالسازی نهایی، خروجی واقعی Trigger را بررسی کنید تا مطمئن شوید فیلدهای مورد استفاده در داده ورودی وجود دارند.
نکته مهم: شناسه گفتوگوی مدیر فروش با شناسه مشتری یکسان نیست. در فیلد Chat ID این Node باید شناسه مقصد مدیریتی را قرار دهید، نه عبارت مربوط به شناسه مشتری.
برای دریافت شناسه مقصد میتوانید از یک پیام آزمایشی در گفتوگوی مدیر یا گروه استفاده کنید و خروجی مرتبط را بررسی کنید. اگر قرار است پیام به گروه ارسال شود، ربات باید دسترسی لازم برای ارسال پیام به آن گروه را داشته باشد.
همچنین در نمونه بالا، متن پیام مشتری همان عدد انتخابشده است؛ بنابراین برای اطلاعرسانی دقیقتر، میتوانید نام محصول را مستقیماً در متن پیام ثابت قرار دهید یا آن را با یک Node پردازش داده به اطلاعات ساختاریافته تبدیل کنید.
مرحله هفتم: پاسخ به پیامهای نامعتبر
ممکن است مشتری بهجای عددهای 1، 2 یا 3، پیام دیگری ارسال کند؛ مثلاً «قیمتها» یا «سلام».
برای جلوگیری از سردرگمی، از خروجی جایگزین Switch استفاده کنید و یک Telegram Node برای راهنمایی مشتری به آن متصل کنید.
متن پیشنهادی:
متوجه درخواست شما نشدم.
برای مشاهده فهرست محصولات، دستور /start را ارسال کنید.
سپس عدد مربوط به محصول موردنظر را بفرستید:
1 - محصول اول
2 - محصول دوم
3 - محصول سوم
با این کار، ربات در صورت دریافت ورودی نامعتبر نیز پاسخ مشخصی میدهد.
مرحله هشتم: آزمایش کامل Workflow
قبل از فعالکردن ربات برای مشتریان، این سناریوها را بررسی کنید:
- ارسال
/startو نمایش منوی محصولات - ارسال عدد
1و نمایش اطلاعات محصول اول - ارسال عدد
2و نمایش اطلاعات محصول دوم - ارسال عدد
3و نمایش اطلاعات محصول سوم - ارسال متن نامعتبر و نمایش راهنما
- ارسال درخواست و بررسی رسیدن پیام به مدیر فروش
اگر یکی از مسیرها کار نکرد، اجرای Workflow را در n8n باز کنید و خروجی Nodeهای Telegram Trigger، Switch و Telegram را بررسی کنید. معمولاً با بررسی داده ورودی، شرط مسیر و Chat ID میتوان محل خطا را پیدا کرد.
پس از اطمینان از عملکرد همه مسیرها، Workflow را ذخیره و فعال کنید. نحوه فعالسازی و دریافت پیامها ممکن است به نسخه n8n و تنظیمات دسترسی شبکه بستگی داشته باشد.
محدودیتهای این ربات فروش
رباتی که در این آموزش ساختهایم، یک نمونه ابتدایی برای معرفی محصول و هدایت درخواست مشتری است. این ربات بهتنهایی قابلیتهای زیر را پیادهسازی نمیکند:
- سبد خرید چندمحصولی
- ثبت دائمی سفارش در پایگاه داده
- محاسبه موجودی انبار
- پرداخت آنلاین و بررسی نتیجه پرداخت
- مدیریت وضعیت سفارش
- پیگیری خودکار سفارشهای قبلی
- تشخیص اینکه مشتری در میانه فرایند خرید قرار دارد یا خیر
برای افزودن این امکانات باید اطلاعات سفارش را در پایگاه داده یا سامانه فروش ذخیره کنید، وضعیت فرایند مشتری را مدیریت کنید و در صورت نیاز به API فروشگاه یا درگاه پرداخت متصل شوید.
برای مثال، اگر مشتری ابتدا عدد 2 را بفرستد و چند دقیقه بعد پیام دیگری ارسال کند، Workflow ساده این مقاله بهصورت خودکار نمیداند که پیام دوم مربوط به همان سفارش است یا یک درخواست جدید. برای حل این مسئله باید وضعیت مشتری و سفارش را ذخیره و مدیریت کنید.
ایدههایی برای توسعه ربات فروش
پس از پیادهسازی نسخه اولیه، میتوانید ربات را به یک سیستم فروش کاربردیتر تبدیل کنید:
۱. استفاده از دکمههای تلگرام
بهجای اینکه مشتری عدد ارسال کند، میتوانید از دکمههای شیشهای (Inline Keyboard) استفاده کنید تا کاربر با انتخاب دکمه، محصول موردنظرش را مشخص کند.
۲. دریافت اطلاعات مشتری
میتوانید بعد از انتخاب محصول، از مشتری نام، شماره تماس و توضیحات موردنیاز را دریافت کنید. بهتر است وضعیت هر مرحله ذخیره شود تا پیامهای مشتری اشتباه تفسیر نشوند.
۳. ثبت درخواست در پایگاه داده
با اتصال n8n به یک پایگاه داده میتوانید درخواستها را ذخیره کنید و برای هر درخواست شناسه، تاریخ، محصول انتخابشده و وضعیت پیگیری داشته باشید.
۴. اتصال به فروشگاه اینترنتی
اگر فروشگاه شما از WooCommerce یا یک API اختصاصی استفاده میکند، میتوانید اطلاعات محصول و سفارش را از فروشگاه دریافت کنید. برای این کار باید احراز هویت API، مدیریت خطا و اعتبارسنجی اطلاعات را نیز در نظر بگیرید.
۵. اتصال به هوش مصنوعی
در نسخه پیشرفتهتر میتوانید از هوش مصنوعی برای پاسخ به پرسشهای مشتری، معرفی محصول مناسب یا دستهبندی درخواستها استفاده کنید. البته قیمت، موجودی و وضعیت سفارش باید از منبع معتبر خوانده شوند و نباید صرفاً بر اساس پاسخ مدل هوش مصنوعی تعیین شوند.
نکات امنیتی ربات فروش
از آنجا که ربات با مشتریان واقعی سروکار دارد، چند نکته را رعایت کنید:
- توکن تلگرام را در Credentialهای n8n نگه دارید و آن را در متن Workflow منتشر نکنید.
- شناسه مقصد پیامهای مدیریتی را بهصورت کنترلشده تنظیم کنید تا اطلاعات مشتری به مقصد اشتباه ارسال نشود.
- اطلاعات شخصی مشتری را فقط در حد نیاز جمعآوری کنید.
- قبل از ثبت سفارش یا ارسال اطلاعات حساس، ورودیها را اعتبارسنجی کنید.
- برای جلوگیری از پیامهای تکراری، در نسخه پیشرفته شناسه پیام یا شناسه درخواست را بررسی کنید.
- برای عملیات حساس مانند ثبت سفارش و پرداخت، خطاها را مدیریت کنید و وضعیت نهایی را از منبع معتبر بخوانید.
پرسشهای متداول
آیا برای ساخت ربات فروش تلگرام به برنامهنویسی نیاز دارم؟
برای نسخه ساده این آموزش، خیر. میتوانید با Nodeهای Telegram Trigger، Switch و Telegram در n8n یک ربات اولیه بسازید. برای قابلیتهای پیشرفتهتر ممکن است به API، پایگاه داده یا کدنویسی نیاز داشته باشید.
آیا میتوان محصولات را از پایگاه داده خواند؟
بله. میتوانید Node پایگاه داده را به Workflow اضافه کنید و اطلاعات محصول را بر اساس شناسه یا انتخاب مشتری بخوانید. در این حالت بهتر است قیمت و موجودی از پایگاه داده معتبر دریافت شوند.
آیا این ربات سفارش را بهطور کامل ثبت میکند؟
خیر. در نسخه فعلی، محصول معرفی میشود و میتوان درخواست مشتری را برای مدیر فروش ارسال کرد. برای ثبت سفارش کامل باید اطلاعات مشتری و محصول ذخیره شود و وضعیت سفارش نیز مدیریت شود.
آیا میتوان پرداخت آنلاین را به ربات اضافه کرد؟
بله، اما باید فرایند پرداخت را بهصورت جداگانه و امن طراحی کنید. ایجاد لینک پرداخت بهتنهایی به معنی پرداخت موفق نیست؛ نتیجه پرداخت باید از طریق سازوکار معتبر درگاه بررسی و سپس سفارش تأیید شود.
آیا میتوان چندین محصول و دستهبندی به ربات اضافه کرد؟
بله. برای تعداد کمی محصول، مسیرهای Switch کافی هستند. اگر تعداد محصولات زیاد شود، بهتر است اطلاعات محصولات را از پایگاه داده یا API دریافت کنید تا مجبور نباشید برای هر محصول یک مسیر ثابت بسازید.
جمعبندی
در این آموزش یاد گرفتیم چگونه با n8n یک ربات فروش تلگرام بسازیم که پیام /start را دریافت کند، منوی محصولات را نمایش دهد، انتخاب مشتری را تشخیص دهد و درخواست را برای مدیر فروش ارسال کند.
این Workflow نقطه شروع مناسبی برای اتوماسیون فروش است. در قدم بعدی میتوانید دریافت اطلاعات مشتری، ذخیره سفارشها، مدیریت وضعیت خرید، اتصال به فروشگاه اینترنتی و پرداخت آنلاین را به آن اضافه کنید.
اگر به پیادهسازی یک ربات فروش متناسب با محصولات، خدمات یا فرایندهای کسبوکار خود نیاز دارید، میتوانید از این نمونه بهعنوان پایه استفاده کنید و قابلیتهای موردنیاز را مرحلهبهمرحله توسعه دهید.





