هوشمندسازی نظارت بر قیمت رقبا با n8n و هوش مصنوعی

هوشمندسازی نظارت بر قیمت رقبا با n8n و هوش مصنوعی

7 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 11063 · منبع: کاتالوگ Axeto

نگهبان هوشمند قیمت: نظارت بر رقبا و هشداردهی

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

موارد استفاده:

  • نظارت بر قیمت‌گذاری رقبا در چندین شرکت و پلن.
  • تشخیص تغییرات حیاتی قیمت (مانند رایگان به پولی، تغییرات درصدی قابل توجه).
  • خودکارسازی اعلان‌های Slack برای تغییرات قیمت.
  • نگهداری داده‌های قیمت‌گذاری تاریخی در Google Sheets برای تحلیل روند.

این گردش کار به بلوک‌های منطقی زیر تقسیم شده است:

1. راه‌اندازی و پیکربندی: پارامترها را تنظیم کرده و گردش کار را راه‌اندازی کنید.

2. منبع‌یابی داده: لیست URL رقبا را از Google Sheets دریافت کنید.

3. استخراج و پاکسازی HTML: متن مربوط به قیمت‌گذاری را از صفحات رقبا دریافت و پاکسازی کنید.

4. استخراج و ساختاربندی هوش مصنوعی: متن پاکسازی شده را با استفاده از Google Gemini به داده‌های قیمت‌گذاری JSON ساختاریافته تجزیه کنید.

5. اعتبارسنجی و بررسی تاریخچه: خروجی هوش مصنوعی را اعتبارسنجی کرده و داده‌های تاریخی موجود را بررسی کنید.

6. مقایسه قیمت و فیلتر هشدار: قیمت‌های فعلی را با قیمت‌های تاریخی مقایسه کرده و موارد نیازمند هشدار را فیلتر کنید.

7. هشداردهی و ثبت وقایع: اعلان‌های Slack را ارسال کرده و Google Sheets را به‌روزرسانی کنید.

8. مدیریت خطا: موارد خطایی یا ناقص را به نرمی مدیریت کنید.

---

۱. راه‌اندازی و پیکربندی

این بلوک، ماشه (trigger) گردش کار و پارامترهای هشدار سراسری را تنظیم می‌کند.

  • گره‌ها (Nodes):

* Manual Trigger (شروع گردش کار)

* Schedule Trigger

* Set (پیکربندی: پارامترهای هشدار)

  • جزئیات:

* Manual Trigger: اجرای گردش کار را به صورت موردی امکان‌پذیر می‌سازد.

* Schedule Trigger: اجرای دوره‌ای گردش کار را خودکار می‌کند.

* Set (پیکربندی: پارامترهای هشدار): متغیرهای سراسری را تعریف می‌کند، از جمله alert_threshold_percent (با مقدار پیش‌فرض ۱۰٪) برای کنترل حساسیت هشدار.

---

۲. منبع‌یابی داده

این بلوک لیست شرکت‌های رقیب و URLهای آن‌ها را از یک Google Sheet دریافت می‌کند.

  • گره‌ها (Nodes):

* Google Sheets (Sheets: دریافت لیست رقبا)

* SplitInBatches (حلقه نظارت بر هر پلن)

  • جزئیات:

* Google Sheets (Sheets: دریافت لیست رقبا): داده‌های رقبا (نام، URL، پلن‌های قدیمی، آخرین پلن‌ها، تاریخ به‌روزرسانی، شماره ردیف) را از یک Google Sheet مشخص می‌خواند.

* SplitInBatches (حلقه نظارت بر هر پلن): هر ردیف رقیب را به صورت جداگانه پردازش می‌کند.

---

۳. استخراج و پاکسازی HTML

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

  • گره‌ها (Nodes):

* Decodo (Decodo: دریافت HTML کامل)

* Code (Code: فیلتر کردن نویز HTML)

  • جزئیات:

* Decodo (Decodo: دریافت HTML کامل): از API Decodo برای دریافت محتوای HTML کاملاً رندر شده از URLهای رقبا استفاده می‌کند و امکان استخراج محتوای پویا را فراهم می‌آورد.

* Code (Code: فیلتر کردن نویز HTML): HTML خام را با حذف اسکریپت‌ها، استایل‌ها و تگ‌ها پاکسازی می‌کند. سپس متن بین کلمات کلیدی جهانی (مانند "PRODUCTS" تا "FAQ") را برش می‌دهد تا بخش قیمت‌گذاری را جدا کند. خروجی به حروف بزرگ تبدیل شده و به عنوان clean_pricing_text ذخیره می‌شود. یک پرچم وضعیت، موفقیت یا شکست را بر اساس طول محتوا نشان می‌دهد.

---

۴. استخراج و ساختاربندی هوش مصنوعی

این بلوک از Google Gemini از طریق LangChain برای تجزیه متن پاکسازی شده به فرمت JSON ساختاریافته استفاده می‌کند.

  • گره‌ها (Nodes):

* LangChain Google Gemini LM (مدل چت Google Gemini)

* LangChain Agent (عامل هوش مصنوعی: استخراج پلن‌ها)

* LangChain Output Parser (تجزیه‌کننده خروجی ساختاریافته)

  • جزئیات:

* LangChain Google Gemini LM (مدل چت Google Gemini): بک‌اند مدل زبان هوش مصنوعی را با استفاده از اعتبارنامه API Google Gemini فراهم می‌کند.

* LangChain Agent (عامل هوش مصنوعی: استخراج پلن‌ها): clean_pricing_text را پردازش کرده و تمام پلن‌های قیمت‌گذاری را به طور کامل استخراج می‌کند. این عامل یک طرح خروجی JSON سختگیرانه با فیلدهای plan_name, price_usd, billing_cycle, و key_feature_summary را اعمال می‌کند. عامل در صورت شکست تا ۳ بار تلاش مجدد برای استخراج انجام می‌دهد.

* LangChain Output Parser (تجزیه‌کننده خروجی ساختاریافته): خروجی هوش مصنوعی را مطابق با طرح مشخص شده اعتبارسنجی و به JSON تجزیه می‌کند.

---

۵. اعتبارسنجی و بررسی تاریخچه

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

  • گره‌ها (Nodes):

* If (اگر: قیمت با موفقیت تجزیه شد؟)

* If (اگر: تاریخچه وجود دارد؟)

* NoOp (رد کردن مورد خطا)

  • جزئیات:

* If (اگر: قیمت با موفقیت تجزیه شد؟): بررسی می‌کند که آیا استخراج هوش مصنوعی موفقیت‌آمیز بوده است (یعنی فیلد error خالی است). در غیر این صورت، مورد رد می‌شود.

* If (اگر: تاریخچه وجود دارد؟): بررسی می‌کند که آیا داده‌های "آخرین پلن‌ها" (Last Plans) تاریخی برای رقیب وجود دارد. این تعیین می‌کند که آیا قیمت‌ها مقایسه شوند یا داده‌ها در ابتدا ثبت شوند.

* NoOp (رد کردن مورد خطا): موارد مشکل‌دار را به صورت بی‌صدا رد می‌کند تا از وقفه‌های گردش کار جلوگیری شود.

---

۶. مقایسه قیمت و فیلتر هشدار

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

  • گره‌ها (Nodes):

* Code (Code: تفاوت قیمت و فیلتر)

  • جزئیات:

* Code (Code: تفاوت قیمت و فیلتر):

* داده‌های JSON تاریخی را تجزیه می‌کند.

* هر پلن فعلی را با پلن تاریخی مطابق آن (بر اساس نام و چرخه صورت‌حساب) مقایسه می‌کند.

* تفاوت قیمت درصدی را محاسبه می‌کند.

* موارد خاص را مدیریت می‌کند:

* رایگان به پولی (هشدار را اجباری می‌کند).

* پولی به رایگان (تفاوت -۱۰۰٪ را اختصاص می‌دهد).

* پلن‌ها را برای هشدار علامت‌گذاری می‌کند اگر تفاوت قیمت مطلق از alert_threshold_percent فراتر رود.

* دو آرایه خروجی می‌دهد: price_diffs (تمام پلن‌ها با تفاوت‌های محاسبه شده) و alert_items (پلن‌های علامت‌گذاری شده برای هشدار).

---

۷. هشداردهی و ثبت وقایع

این بلوک برای تغییرات قیمت اعلان ارسال کرده و داده‌های تاریخی را در Google Sheets به‌روزرسانی می‌کند.

  • گره‌ها (Nodes):

* If (اگر: هشداری برای ارسال وجود دارد؟)

* SplitOut (تقسیم هشدارها برای اعلان)

* Slack (ارسال هشدار قیمت رقیب)

* Google Sheets (به‌روزرسانی ردیف در شیت)

  • جزئیات:

* If (اگر: هشداری برای ارسال وجود دارد؟): بررسی می‌کند که آیا هیچ موردی در آرایه alert_items وجود دارد یا خیر تا تعیین کند که آیا اعلان‌ها باید ارسال شوند.

* SplitOut (تقسیم هشدارها برای اعلان): آرایه alert_items را به موارد جداگانه تقسیم می‌کند و امکان ارسال اعلان‌های جداگانه Slack برای هر هشدار را فراهم می‌آورد.

* Slack (ارسال هشدار قیمت رقیب): یک پیام هشدار قالب‌بندی شده را به یک کانال Slack مشخص (مانند "competitors-monitoring") ارسال می‌کند که جزئیات شرکت، پلن، تغییر قیمت، قیمت‌های قدیمی/جدید و یک لینک را شرح می‌دهد.

* Google Sheets (به‌روزرسانی ردیف در شیت): ردیف رقیب را در Google Sheet به‌روزرسانی می‌کند. "پلن‌های قدیمی" را با "آخرین پلن‌ها" قبلی تنظیم می‌کند، "آخرین پلن‌ها" را با داده‌های استخراج شده فعلی هوش مصنوعی به‌روز می‌کند و مُهر زمانی "تاریخ به‌روزرسانی" را ثبت می‌کند.

---

۸. مدیریت خطا

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

  • گره‌ها (Nodes):

* NoOp (رد کردن مورد خطا)

  • جزئیات:

* NoOp (رد کردن مورد خطا): این گره برای رد کردن بی‌صدا موارد مشکل‌دار استفاده می‌شود و یکپارچگی گردش کار را تضمین کرده و از خرابی به دلیل داده‌های غیرمنتظره یا خطاها جلوگیری می‌کند.

---

توجه: این گردش کار به اعتبارنامه‌های Google Sheets، Decodo و Slack و همچنین دسترسی API برای Google Gemini نیاز دارد. اطمینان حاصل کنید که این موارد به درستی در نمونه Axeto.ai n8n شما پیکربندی شده‌اند.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار n8n چگونه قیمت رقبا را رصد می‌کند؟

این گردش کار با دریافت لیست URL رقبا از Google Sheets، صفحات قیمت‌گذاری آن‌ها را اسکرپ می‌کند. سپس با استفاده از Google Gemini، داده‌های استخراج شده را ساختاربندی کرده و برای تغییرات قابل توجه قیمت، هشدار ارسال می‌کند.

چه نوع هشدارهایی توسط این گردش کار ارسال می‌شود؟

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

آیا این گردش کار داده‌های تاریخی قیمت را نیز ذخیره می‌کند؟

بله، این گردش کار می‌تواند داده‌های قیمت‌گذاری تاریخی را در Google Sheets ذخیره کند تا امکان تحلیل روند قیمت‌ها در طول زمان فراهم شود.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.