
گردش کار خودکار استخراج طرحواره API با n8n
17 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 2658 · منبع: کاتالوگ Axeto
API Schema Extractor
این گردش کار، کشف، استخراج و تولید طرحوارههای API را از خدمات آنلاین مختلف خودکار میکند. این گردش کار برای تیمها و پروژههایی طراحی شده است که به کاتالوگسازی و مستندسازی سیستماتیک API نیاز دارند و جستجوی وب، خراشیدن (scraping)، ذخیرهسازی برداری (vector storage) و پردازش مدلهای زبان بزرگ (LLM) را ادغام میکند.
موارد استفاده کلیدی:
- کاتالوگسازی APIها برای تیمهای توسعه.
- خودکارسازی مستندات API.
- ایجاد مجموعههای طرحواره API استاندارد.
- کشف APIها از وبسایتها و مستندات خدمات.
مراحل گردش کار:
1. ورودی و مسیریابی رویداد: رویدادهای دستی یا خارجی را مدیریت کرده و وظایف را به مرحله مناسب (تحقیق، استخراج یا تولید) هدایت میکند.
2. مرحله ۱ - تحقیق: خدمات در انتظار را پیدا میکند، مستندات API را به صورت آنلاین جستجو میکند، محتوای وب مرتبط را خراش میدهد، یافتهها را فیلتر و حذف موارد تکراری میکند، محتوا را در یک فروشگاه برداری جاسازی (embed) میکند و پیشرفت را بهروزرسانی میکند.
3. مرحله ۲ - استخراج: خدمات با تحقیق تکمیل شده را پردازش میکند، پایگاه داده برداری را برای اطلاعات مرتبط جستجو میکند، عملیات API را با استفاده از LLM استخراج میکند، این عملیات را ذخیره میکند و وضعیت آنها را بهروزرسانی میکند.
4. مرحله ۳ - تولید: عملیات API استخراج شده را بازیابی میکند، آنها را در یک طرحواره JSON سفارشی جمعآوری میکند و فایل طرحواره را آپلود میکند.
---
تفکیک گردش کار
۱. ورودی و مسیریابی رویداد
این بلوک اولیه، نحوه فعالسازی گردش کار و هدایت جریان اجرا را مدیریت میکند.
گرهها (Nodes):
- Manual Trigger: گردش کار را به صورت دستی آغاز میکند.
- Set (Execution Data): فرادادههای کلیدی مانند
eventType،executedByIdوserviceرا از JSON ورودی استخراج میکند.
* Key Expressions: $json.eventType، $json.executedById، $json.data.service
- Switch (EventRouter): گردش کار را بر اساس فیلد
eventTypeبه یکی از سه شاخه هدایت میکند:research،extractیاgenerate.
موارد مرزی (Edge Cases):
- مقادیر
eventTypeگمشده یا غیرمنتظره، مسیریابی را متوقف خواهد کرد.
---
۲. مرحله ۱ - تحقیق (Research)
این مرحله بر یافتن و پردازش اطلاعات مربوط به APIها برای یک سرویس معین تمرکز دارد.
گرهها (Nodes):
- Google Sheets (Get All Research): سرویسهایی را که در انتظار تحقیق هستند، بازیابی میکند.
- If (All Research Done?): بررسی میکند که آیا سرویس دیگری برای تحقیق باقی مانده است یا خیر.
- SplitInBatches (For Each Research…): هر سرویس را به صورت جداگانه پردازش میکند.
- Google Sheets (Research Pending): وضعیت سرویس را در Google Sheets به "در انتظار تحقیق" (pending) بهروزرسانی میکند.
- Set (Research Event): دادههای رویداد را برای گردش کار فرعی تحقیق آماده میکند.
- Execute Workflow (Research): یک گردش کار فرعی را برای انجام تحقیق برای یک سرویس واحد اجرا میکند.
- HttpRequest (Web Search For API Schema): از Apify برای انجام جستجوی Google برای مستندات API استفاده میکند.
- If (Has Results?): بررسی میکند که آیا جستجوی وب نتایجی را برگردانده است یا خیر.
- SplitOut (Results to List): نتایج جستجو را به فرمت لیست تبدیل میکند.
- Filter (Filter Results): نتایج جستجو را فیلتر میکند تا فقط انواع مرتبط را شامل شود.
- RemoveDuplicates (Remove Dupes): ورودیهای تکراری را بر اساس URL حذف میکند.
- HttpRequest (Scrape Webpage Contents): از Apify برای خراشیدن عنوان و محتوای HTML صفحات وب مرتبط استفاده میکند (دستههای ۲ صفحهای هر ۳۰ ثانیه).
- If (Has Results?1): بررسی میکند که آیا خراشیدن محتوا تولید کرده است یا خیر.
- LLM (Has API Documentation?): از LLM Gemini برای طبقهبندی اینکه آیا محتوای خراشیده شده حاوی مستندات طرحواره API است یا خیر، استفاده میکند.
- If (Has Results?3): بررسی میکند که آیا LLM محتوا را به عنوان حاوی مستندات API طبقهبندی کرده است یا خیر.
- Set (Set Embedding Variables): فراداده و محتوا را برای جاسازی (embedding) آماده میکند.
- SplitInBatches (For Each Document…): هر بخش از محتوا را پردازش میکند.
- Set (Content Chunking @ 50k Chars): محتوا را برای پردازش به بخشهای کوچکتر تقسیم میکند.
- SplitOut (Split Out Chunks): محتوا را به بخشهای قابل مدیریت تقسیم میکند.
- Document Loader (Default Data Loader): دادهها را برای جاسازی آماده میکند.
- Embeddings (Embeddings Google Gemini): جاسازیها را برای بخشهای محتوا تولید میکند.
- Vector Store Qdrant (Store Document Embeddings): جاسازیهای تولید شده را در فروشگاه برداری Qdrant ذخیره میکند.
- Google Sheets (Research Result / Research Error): نتیجه تحقیق ("ok" یا "error") را در Google Sheet بهروزرسانی میکند.
- Wait (Wait): تاخیری را برای مدیریت سرعت اجرا معرفی میکند.
موارد مرزی و انواع شکست (Edge Cases & Failure Types):
- خطاهای احراز هویت یا مجوز Google Sheets.
- خطاهای API Apify یا محدودیت نرخ (rate limiting).
- عدم یافتن نتایج جستجو.
- خطاهای طبقهبندی یا مهلت زمانی LLM.
- شکست در درج فروشگاه برداری.
- خطاها یا مهلت زمانی اجرای گردش کار فرعی.
---
۳. مرحله ۲ - استخراج (Extraction)
این مرحله عملیات خاص API را از مستندات تحقیق شده استخراج میکند.
گرهها (Nodes):
- Google Sheets (Get All Extract): سرویسهایی را که تحقیق آنها تکمیل شده اما استخراج هنوز انجام نشده است، بازیابی میکند.
- If (All Extract Done?): بررسی میکند که آیا سرویسهایی در انتظار استخراج وجود دارند یا خیر.
- SplitInBatches (For Each Extract…): هر سرویس را به صورت جداگانه پردازش میکند.
- Google Sheets (Extract Pending): وضعیت سرویس را در Google Sheets به "در انتظار استخراج" (pending) بهروزرسانی میکند.
- Set (Extract Event): دادههای رویداد را برای گردش کار فرعی استخراج آماده میکند.
- Execute Workflow (Extract): یک گردش کار فرعی را برای انجام استخراج برای یک سرویس واحد اجرا میکند.
- Set (Query Templates): الگوهایی را برای پرسوجو از اطلاعات تعریف میکند.
- SplitOut (Template to List): الگوهای پرسوجو را به لیست تبدیل میکند.
- LLM (Identify Service Products): از LLM Gemini برای شناسایی نام محصولات یا راهحلها از اسناد فروشگاه برداری استفاده میکند.
- Set (Extract API Templates): رشتههای پرسوجوی API را بر اساس محصولات/راهحلهای شناسایی شده میسازد.
- SplitInBatches (For Each Template…): هر الگوی پرسوجوی API را پردازش میکند.
- Vector Store Qdrant (Search in Relevant Docs): فروشگاه برداری را برای اسناد مربوط به مستندات API جستجو میکند.
- Aggregate (Combine Docs): اسناد بازیابی شده را ترکیب میکند.
- Set (Query & Docs): پرسوجو و اسناد ترکیب شده را بستهبندی میکند.
- LLM Chat (Google Gemini Chat Model2): برای استخراج اولیه اطلاعات با Gemini تعامل میکند.
- SplitInBatches (For Each Template…1): هر الگو را دوباره برای استخراج عملیات دقیق پردازش میکند.
- LLM (Extract API Operations): از LLM Gemini برای استخراج نقاط پایانی خاص API، عملیات، توضیحات و متدها از مستندات استفاده میکند.
- Vector Store Qdrant (Search in Relevant Docs1): جستجوی دیگری را در فروشگاه برداری انجام میدهد.
- Aggregate (Combine Docs1): نتایج را ترکیب میکند.
- Set (Query & Docs1): پرسوجو و اسناد ترکیب شده را بستهبندی میکند.
- Embeddings (Embeddings Google Gemini1 & Embeddings Google Gemini2): جاسازیها را تولید میکند (برای زمینه استفاده میشود، نه مستقیماً برای ذخیرهسازی در اینجا).
- Code (Merge Lists): اطلاعات استخراج شده از مراحل مختلف را ادغام میکند.
- If (Has Operations?): بررسی میکند که آیا عملیات API استخراج شده است یا خیر.
- RemoveDuplicates (Remove Duplicates): عملیات تکراری را بر اساس متد و URL حذف میکند.
- Google Sheets (Append Row): عملیات API استخراج شده را به یک Google Sheet اضافه میکند.
- Google Sheets (Extract Result / Extract Error): وضعیت سرویس را در Google Sheets بر اساس نتیجه استخراج بهروزرسانی میکند.
- Wait (Wait1): تاخیری را برای تنظیم سرعت معرفی میکند.
موارد مرزی و انواع شکست (Edge Cases & Failure Types):
- عدم یافتن اسناد مرتبط در فروشگاه برداری.
- شکست LLM در استخراج دادههای معتبر.
- مشکلات مجوز یا سهمیه Google Sheets.
- خطاهای پرسوجو یا بارگذاری فروشگاه برداری.
- شکست در اجرای گردش کار فرعی.
---
۴. مرحله ۳ - تولید (Generation)
این مرحله نهایی طرحواره API را تولید و ذخیره میکند.
گرهها (Nodes):
- Google Sheets (Get All Generate): سرویسهایی را که تحقیق و استخراج آنها تکمیل شده و آماده تولید طرحواره هستند، بازیابی میکند.
- If (All Generate Done?): بررسی میکند که آیا سرویس دیگری برای تولید باقی مانده است یا خیر.
- SplitInBatches (For Each Generate…): هر سرویس را به صورت جداگانه پردازش میکند.
- Google Sheets (Generate Pending): وضعیت سرویس را در Google Sheets به "در انتظار تولید" (pending) بهروزرسانی میکند.
- Set (Generate Event): دادههای رویداد را برای گردش کار فرعی تولید آماده میکند.
- Execute Workflow (Generate): یک گردش کار فرعی را برای تولید طرحواره برای یک سرویس واحد اجرا میکند.
- Google Sheets (Get API Operations): تمام عملیات API استخراج شده برای سرویس را میخواند.
- Code (Contruct JSON Schema): عملیات API را جمعآوری میکند، آنها را بر اساس منبع گروهبندی میکند و آنها را در یک طرحواره JSON سفارشی قالببندی میکند.
- Set (Set Upload Fields): نام فایل را آماده کرده و طرحواره JSON را برای آپلود رشتهای میکند.
- Google Drive Upload (Upload to Drive): فایل طرحواره JSON تولید شده را در پوشه مشخص شده Google Drive آپلود میکند.
- Set (Response OK2): وضعیت موفقیت را تنظیم میکند.
- Google Sheets (Generate Result / Generate Error): وضعیت نهایی و نام فایل طرحواره تولید شده را در Google Sheet بهروزرسانی میکند.
- Wait (Wait2): تاخیری را برای تنظیم سرعت معرفی میکند.
موارد مرزی و انواع شکست (Edge Cases & Failure Types):
- خطاهای خواندن/نوشتن یا فیلتر کردن Google Sheets.
- مشکلات مجوز یا سهمیه آپلود Google Drive.
- خطاها در گره
Codeهنگام ساخت طرحواره JSON. - خطاها یا مهلت زمانی گردش کار فرعی.
---
خلاصه نودها
| نام نود | نوع نود | نقش عملکردی | نود(های) ورودی | نود(های) خروجی |
|---|---|---|---|---|
| ورودی و مسیریابی رویداد | ||||
| When clicking ‘Test workflow’ | Manual Trigger | نقطه ورود برای اجرای دستی گردش کار | - | Execution Data |
| Execution Data | Set | متادیتای رویداد را استخراج میکند | When clicking ‘Test workflow’ | EventRouter |
| EventRouter | Switch | به سمت تحقیق، استخراج یا تولید هدایت میکند | Execution Data | Web Search For API Schema, Query Templates, Get API Operations |
| مرحله ۱ - تحقیق | ||||
| Get All Research | Google Sheets | سرویسهای در انتظار تحقیق را واکشی میکند | EventRouter (research branch) | All Research Done? |
| All Research Done? | If | تکمیل بودن تحقیق را بررسی میکند | Get All Research | For Each Research… |
| For Each Research… | SplitInBatches | هر سرویس را برای تحقیق پردازش میکند | All Research Done? | Research Pending |
| Research Pending | Google Sheets | تحقیق را به عنوان "در انتظار" علامتگذاری میکند | For Each Research… | Research Event |
| Research Event | Set | دادههای رویداد تحقیق را بستهبندی میکند | Research Pending | Research |
| Research | Execute Workflow | گردش کار زیرمجموعه تحقیق را برای یک سرویس اجرا میکند | Research Event | Web Search For API Schema |
| Web Search For API Schema | HttpRequest | مستندات API را از طریق جستجوی گوگل (با Apify) انجام میدهد | Research | Has Results? |
| Has Results? | If | نتایج جستجو را بررسی میکند | Web Search For API Schema | Results to List |
| Results to List | SplitOut | نتایج جستجو را به یک لیست تبدیل میکند | Has Results? | Filter Results |
| Filter Results | Filter | نتایج جستجو را بر اساس نوع فیلتر میکند | Results to List | Remove Dupes |
| Remove Dupes | RemoveDuplicates | نتایج تکراری را بر اساس URL حذف میکند | Filter Results | Scrape Webpage Contents |
| Scrape Webpage Contents | HttpRequest | عنوان و محتوای صفحه وب را (با Apify) خراش میدهد | Remove Dupes | Has Results?1 |
| Has Results?1 | If | محتوای خراشیده شده را بررسی میکند | Scrape Webpage Contents | Has API Documentation? |
| Has API Documentation? | LLM | محتوا را برای مستندات API طبقهبندی میکند (Gemini) | Has Results?1 | Has Results?3 |
| Has Results?3 | If | محتوا را به عنوان مستندات API طبقهبندی میکند | Has API Documentation? | Set Embedding Variables |
| Set Embedding Variables | Set | متادیتا و محتوا را برای جاسازی آماده میکند | Has Results?3 | For Each Document… |
| For Each Document… | SplitInBatches | هر بخش از سند را پردازش میکند | Set Embedding Variables | Content Chunking @ 50k Chars |
| Content Chunking @ 50k Chars | Set | محتوا را قطعهبندی میکند | For Each Document… | Split Out Chunks |
| Split Out Chunks | SplitOut | محتوا را به قطعات تقسیم میکند | Content Chunking @ 50k Chars | Default Data Loader |
| Default Data Loader | Document Loader | دادهها را برای جاسازی آماده میکند | Split Out Chunks | Embeddings Google Gemini |
| Embeddings Google Gemini | Embeddings | جاسازیها را تولید میکند | Default Data Loader | Store Document Embeddings |
| Store Document Embeddings | Vector Store Qdrant | جاسازیها را در Qdrant ذخیره میکند | Embeddings Google Gemini | Research Result / Research Error |
| Research Result / Research Error | Google Sheets | وضعیت تحقیق را در Google Sheets بهروزرسانی میکند | Store Document Embeddings | Wait |
| Wait | Wait | اجرای را متوقف میکند | Research Result / Research Error | - |
| مرحله ۲ - استخراج | ||||
| Get All Extract | Google Sheets | سرویسهای در انتظار استخراج را واکشی میکند | EventRouter (extract branch) | All Extract Done? |
| All Extract Done? | If | تکمیل بودن استخراج را بررسی میکند | Get All Extract | For Each Extract… |
| For Each Extract… | SplitInBatches | هر سرویس را برای استخراج پردازش میکند | All Extract Done? | Extract Pending |
| Extract Pending | Google Sheets | استخراج را به عنوان "در انتظار" علامتگذاری میکند | For Each Extract… | Extract Event |
| Extract Event | Set | دادههای رویداد استخراج را بستهبندی میکند | Extract Pending | Extract |
| Extract | Execute Workflow | گردش کار زیرمجموعه استخراج را برای یک سرویس اجرا میکند | Extract Event | Get All Extract |
| Query Templates | Set | قالبهای پرس و جو را تعریف میکند | Extract | Template to List |
| Template to List | SplitOut | قالبهای پرس و جو را به یک لیست تبدیل میکند | Query Templates | Identify Service Products |
| Identify Service Products | LLM | نام محصولات/راهحلها را استخراج میکند (Gemini) | Template to List | Extract API Templates |
| Extract API Templates | Set | رشتههای پرس و جوی API را میسازد | Identify Service Products | For Each Template… |
| For Each Template… | SplitInBatches | هر قالب پرس و جوی API را پردازش میکند | Extract API Templates | Search in Relevant Docs |
| Search in Relevant Docs | Vector Store Qdrant | اسناد مرتبط را در فروشگاه برداری جستجو میکند | For Each Template… | Combine Docs |
| Combine Docs | Aggregate | اسناد بازیابی شده را ترکیب میکند | Search in Relevant Docs | Query & Docs |
| Query & Docs | Set | پرس و جو و اسناد ترکیبی را بستهبندی میکند | Combine Docs | Google Gemini Chat Model2 |
| Google Gemini Chat Model2 | LLM Chat | تعامل اولیه LLM برای استخراج | Query & Docs | For Each Template…1 |
| For Each Template…1 | SplitInBatches | هر قالب را برای استخراج عملیات پردازش میکند | Google Gemini Chat Model2 | Search in Relevant Docs1 |
| Extract API Operations | LLM | عملیات API را استخراج میکند (Gemini) | For Each Template…1 | Search in Relevant Docs1 |
| Search in Relevant Docs1 | Vector Store Qdrant | اسناد مرتبط را در فروشگاه برداری جستجو میکند | Extract API Operations | Combine Docs1 |
| Combine Docs1 | Aggregate | اسناد بازیابی شده را ترکیب میکند | Search in Relevant Docs1 | Query & Docs1 |
| Query & Docs1 | Set | پرس و جو و اسناد ترکیبی را بستهبندی میکند | Combine Docs1 | Embeddings Google Gemini1 |
| Embeddings Google Gemini1 | Embeddings | جاسازیها را تولید میکند (متنی) | Query & Docs1 | Merge Lists |
| Embeddings Google Gemini2 | Embeddings | جاسازیها را تولید میکند (متنی) | Query & Docs1 | Merge Lists |
| Merge Lists | Code | اطلاعات استخراج شده را ادغام میکند | Embeddings Google Gemini1, Embeddings Google Gemini2 | Has Operations? |
| Has Operations? | If | عملیات استخراج شده را بررسی میکند | Merge Lists | Remove Duplicates |
| Remove Duplicates | RemoveDuplicates | عملیات تکراری را حذف میکند | Has Operations? | Append Row |
| Append Row | Google Sheets | عملیات استخراج شده را به Google Sheet اضافه میکند | Remove Duplicates | Extract Result / Extract Error |
| Extract Result / Extract Error | Google Sheets | وضعیت استخراج را در Google Sheets بهروزرسانی میکند | Append Row | Wait1 |
| Wait1 | Wait | اجرای را متوقف میکند | Extract Result / Extract Error | - |
| مرحله ۳ - تولید | ||||
| Get All Generate | Google Sheets | سرویسهای آماده برای تولید را واکشی میکند | EventRouter (generate branch) | All Generate Done? |
| All Generate Done? | If | تکمیل بودن تولید را بررسی میکند | Get All Generate | For Each Generate… |
| For Each Generate… | SplitInBatches | هر سرویس را برای تولید پردازش میکند | All Generate Done? | Generate Pending |
| Generate Pending | Google Sheets | تولید را به عنوان "در انتظار" علامتگذاری میکند | For Each Generate… | Generate Event |
| Generate Event | Set | دادههای رویداد تولید را بستهبندی میکند | Generate Pending | Generate |
| Generate | Execute Workflow | گردش کار زیرمجموعه تولید را برای یک سرویس اجرا میکند | Generate Event | Get API Operations |
| Get API Operations | Google Sheets | عملیات API استخراج شده را از Google Sheet میخواند | Generate | Contruct JSON Schema |
| Contruct JSON Schema | Code | عملیات را در یک JSON schema تجمیع میکند | Get API Operations | Set Upload Fields |
| Set Upload Fields | Set | نام فایل و رشته schema را برای آپلود آماده میکند | Contruct JSON Schema | Upload to Drive |
| Upload to Drive | Google Drive Upload | فایل JSON schema را در Google Drive آپلود میکند | Set Upload Fields | Response OK2 |
| Response OK2 | Set | وضعیت موفقیت را تنظیم میکند | Upload to Drive | Generate Result / Generate Error |
| Generate Result / Generate Error | Google Sheets | وضعیت نهایی و نام فایل را در Google Sheets بهروزرسانی میکند | Response OK2 | Wait2 |
| Wait2 | Wait | اجرای را متوقف میکند | Generate Result / Generate Error | - |
---
توجه: این گردش کار به سرویسهای خارجی مانند Apify برای خراشیدن وب و سرویسهای گوگل (Sheets, Drive) برای مدیریت دادهها متکی است. اطمینان حاصل کنید که احراز هویت و مجوزهای مناسب برای این سرویسها پیکربندی شدهاند. نودهای LLM از Gemini استفاده میکنند که نیاز به کلیدهای API و راهاندازی مناسب دارد.
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چه کاری انجام میدهد؟▾
این گردش کار فرآیند کشف، استخراج و تولید طرحوارههای API را از خدمات آنلاین مختلف خودکار میکند. این کار با ادغام جستجوی وب، خراشیدن محتوا، ذخیرهسازی برداری و پردازش با مدلهای زبان بزرگ (LLM) انجام میشود.
موارد استفاده اصلی این گردش کار چیست؟▾
موارد استفاده کلیدی شامل کاتالوگسازی APIها برای تیمهای توسعه، خودکارسازی مستندات API، ایجاد مجموعههای طرحواره API استاندارد و کشف APIها از وبسایتها و مستندات خدمات است.
مراحل اصلی این گردش کار کدامند؟▾
مراحل اصلی شامل ورودی و مسیریابی رویداد، مرحله تحقیق (یافتن و پردازش اطلاعات API)، مرحله استخراج (استخراج عملیات API با استفاده از LLM) و مرحله تولید (جمعآوری عملیات در طرحواره JSON) است.
چه فناوریهایی در این گردش کار ادغام شدهاند؟▾
این گردش کار از ابزارهایی مانند Google Sheets برای مدیریت دادهها، Apify برای جستجوی وب و خراشیدن، و مدلهای زبان بزرگ (LLM) برای طبقهبندی محتوا و استخراج عملیات API استفاده میکند.
workflowهای مرتبط
- پاسخ خودکار به سوالات GitHub PR با GPT-4o، Notion و SlackEngineering
- اتوماسیون جستجوی لینکدین با GPT-4 و جستجوی بولی گوگلHR
- اتوماسیون خلاصهسازی جلسات با Google Drive و OpenAIAI
- تغییر نام خودکار گرههای n8n با هوش مصنوعیEngineering
- تحلیل صوتی با DeepGram و GPT-4o در n8nAI
- اتوماسیون API Clarify با n8n و عوامل هوش مصنوعیEngineering
