Exploring App Nodes – היכרות ראשונית עם n8n APP Nodes

תוכן עניינים

ברוכים הבאים לתרגול ההמשך שלנו ב-n8n! בתרגול הקודם בנינו זרימה פשוטה. עכשיו, ניקח את זה שני צעדים קדימה ונצלול ליכולות מתקדמות יותר, תוך שימוש ב-Node קהילתי (Tavily AI) ו-Node ה-HTTP Request הגנרי.

 

נתחבר לשירות המדומה ReqRes שמאפשר לנו לשלוח נתונים חדשים ולראות שהם התקבלו, מה שמדמה עבודה מול שירות אמיתי בצורה פשוטה וברורה. נלמד כיצד לבנות קריאת POST מלאה מאפס, כולל בניית גוף הבקשה (Body) שנוצר מהמידע ש-Tavily מחזיר לנו.

 

שימו לב – תרגול זה מובנה מאוד והוא מהווה בסיס למחקר וללימוד דרך ״לכלוך הידיים״ בהמשך הדרך. חשוב להכיר את החלקים השונים בתרגול ובמערכת. עם זאת – בכל פרק וסעיף, הרגישו חופשי לחקור יותר לעומק ולסקור גם מושגים שונים ואפשרויות שונות שלא הוזכרו במפורש. נתקעתם? לא נורא – חזרו להוראות המקוריות, ותמיד אפשר להתחיל פרויקט חדש ונקי, ולהתנסות מראש הפרק הנוכחי.

 

בהצלחה!


הכנה 1 – יצירת API Key למנוע החיפוש Tavily

Tavily הוא מנוע חיפוש מבוסס AI, המותאם במיוחד עבור Large Language Models (LLMs) ו-Agents. הוא מאפשר חיפוש מידע עדכני באינטרנט בצורה יעילה, וקבלת נתונים בתצורת JSON, הנוחה לשימוש באוטומציה וסוכנים.

 

  • אם עדיין אין לכם מפתח גישה (API Key) למנוע החיפוש Tavily – עשו זאת כעת לפי ההוראות המפורטות כאן.

הכנה 2 – קבלת API Key לשירות Req / Res

שירות ReqRes משמש בעיקר לתרגול עבודה עם APIs, ומדמה יצירת משתמש חדש, רשומה חדשה וכו'.

 

  • גשו לאתר השירות של ReqRes בכתובת הבאה: https://reqres.in
  • הקליקו על Generate a Live API. זה יפנה אתכם לקבלת API Key פתוח וזמני, לצורך התנסות עם השירות.
  • העמוד שנפתח נותן לכם Api Key, וכן דוגמא לשימוש בו ככותרת (Header) מסוג x-api-key בבקשת HTTP.
     
    ReqRes – API Key
  • שמרו את ה API Key בצד, יחד עם שאר ה Keys שפתחתם לצורך התרגולים. אנו נשתמש בו בהמשך.

הכנה 3 – התקנת Community Node של Tavily

לצורך תרגול זה נצטרך להוסיף ל n8n Instance שלנו, בלוק נוסף שפותח ע״י הקהילה.

 

איפשור התקנת Community Nodes – לצורך בלוק Tavily

  • בממשק ה-n8n שלכם, גשו לפאנל ניהול ה Instance. ניתן להגיע לשם ע״י לחיצה על כפתור Admin Panel בתחתית פאנל הבקרה משמאל.
  • בעמוד הראשי של ה-Admin, לחצו על Manage.
  • בתפריט שנפתח, חפשו והפעילו את Verified community nodes.
     
  • לחצו על כפתור Save changes.
  • בפאנל הניהול – עברו לתצוגת Dashboard ולחצו על כפתור Open instance.

פרק 1: קבלת נתונים באמצעות Tavily (Node קהילתי)

כעת נתרגל שימוש במנוע החיפוש Tavily, לצורך חיפוש אפקטיבי באינטרנט. מנוע החיפוש הזה מבוסס Ai לחיפוש רלוונטי, ומציג את התוצאות במבנה JSON, הנגיש מאוד לאוטומציות וסוכנים.

 

  1. בניית שלד ה-Workflow:
    • צרו Workflow חדש. הוסיפו טריגר Manual.
    • לחצו על כפתור ה-'[+]' וחפשו את ה-Node של Tavily.
    • כאשר תקליקו על ה Node שמצאתם – תופיע אפשרות להתקין אותו. לחצו על Install node.
       
      התקנת בלוק Tavily
    • לאחר ההתקנה יתאפשרו הפעולות השונות של שירות זה (API Endpoints), בחרו ב Search.
  2.  

  3. הגדרת ה-Credential והשאילתה:
    • הבלוק התווסף לאוטומציה, ונפתח חלון ההגדרות. תחת Credentials בחרו ב Create new credential. ניצור credential חדש ל Tavily.
    • שירות זה משתמש בהזדהות מסוג API Key. בחלון שנפתח – הכניסו את ה API Key שקיבלתם מ Tavily, ולחצו Save.
    • בשדה של Query, הכניסו שאילתה לחיפוש. לדוגמא:
      What is the main benefit of using no-code automation platforms like n8n?
    • בתחתית חלון ההגדרות, תחת Options, לחצו על Add option ובחרו Include Answer. זה מבקש מ Tavily להוסיף גם תשובה מסוכמת לכלל תוצאות החיפוש.
  4.  

  5. בדיקה וזיהוי הפלט:
    • לחצו Execute step ב-Node של Tavily (או הריצו את האוטומציה המלאה).
    • בפלט, אתרו את השדות: query, (השאלה ששאלתם), answer (התשובה המסוכמת) ו-results (תוצאות החיפוש).
    • אלו הנתונים שבהם נשתמש בהמשך כדי "ליצור" פוסט חדש.

פרק 2: שמירת רשומה חדשה (POST) באמצעות HTTP Request

כעת, נבנה את קריאת ה-API שתשתמש בנתוני Tavily כדי ליצור רשומה חדשה בשירות ReqRes. שירות זה משמש בעיקר לתרגול עבודה עם APIs, ומדמה יצירת משתמש חדש, רשומה חדשה וכו'.

 

הכנה

שירות ReqRes מאפשרת יצירת "משתמש" חדש (New User) באמצעות בקשת POST לכתובת https://reqres.in/api/users, עם גוף בקשה JSON המכיל שדות interview_question ו-candidate_answer.

 

לשירות ReqRes אין Node מובנה בפלטפורמת n8n, לכן נשתמש בבלוק HTTP Request המאפשר הרכבה עצמית של בקשת API בפרוטוקול HTTP.

 

  1. הוספת Node מסוג HTTP Request:
    • לחצו על ה-'+' אחרי ה-Node של Tavily, וחפשו HTTP Request.
    • חברו אותו כך שהזרימה תהיה: Manual -> Tavily -> HTTP Request.
  2.  

  3. הגדרת הקריאה: Method ו-URL:
    • בחלון ההגדרות של HTTP Request:
    • שנו את ה-Method ל-POST.
    • בשדה URL, הזינו את כתובת ה-API של ReqRes ליצירת רשומה:
      https://reqres.in/api/users

       

  4. הזדהות ואימות:
    • גללו למטה והדליקו את Send Headers.
    • נפתח מקום להוספת כותרת (Header) נוספת. בשדה ה Name (שם הכותרת) הכניסו את הערך x-api-key כמפורט באתר השירות, ובשדה ה Value (ערך השדה) הכניסו את ה-API Key שקיבלתם מ Req/Res.
       
      הוספת כותרת (Header)
  5. בניית גוף הבקשה (Body) הדינמי:
    • גללו למטה ולחצו על Body.
    • בשדה Body Content Type, בחרו JSON.
    • בשדה Specify Body, בחרו Using JSON.
      אפשרויות HTTP Body
       
    • בתיבת הטקסט Body, נכתוב את ה-JSON הנדרש, כאשר הנתונים יימשכו מהשלב הקודם:
      
      {
          "interview_question": "",
          "candidate_answer": ""
      }
                      
    • -כדי להזין את הנתונים בצורה נכונה: ודאו כי פאנל הInput משמאל לחלון ההגדרות מוגדר על מצב תצוגה Scheme. חפשו את השדה query וגררו אותו בדיוקבין המרכאות ליד השדה interview_question ב-JSON שהכנסתם.
       
      שימו לב שהערך הדינמי שהוספתם, התקבל בחלון עריכת ה JSON כביטוי (Expression), בין סוגריים מסולסלים כפולים. זה האופן ש n8n עובד עם ערכים דינמיים בתוך מבנה נתונים.
       
      הוספת ערך דינמי
    • עשו אותו דבר בשדה candidate_answer, ודאו כי קיבלתם את ה JSON הבא:
      
      {
          "interview_question": "{{ $json.query }}",
          "candidate_answer": "{{ $json.answer }}"
      }
                      
  6.  

  7. בדיקה ואימות קריאת POST:
    • לחצו Test step ב-Node של HTTP Request.
    • אימות: בפלט (Output) של ה-Node, ודאו שקיבלתם קוד סטטוס 201 Created (זהו קוד הסטטוס להצלחה של POST).
    • בפלט ה-JSON תראו שדות חדשים ש-ReqRes הוסיף, כמו id (מזהה) ו-createdAt (זמן יצירה), מה שמאשר שהרשומה "נוצרה" בהצלחה.

פרק 3: תרגול פתוח והמשך מחקר

זו ההזדמנות שלכם להתאמן ולהבין לעומק את הכוח של HTTP Request והשימוש בנתונים דינמיים.

 

  1. יצירת "עדכון" (PUT/PATCH):
    • ReqRes תמיד מחזיר לכם id בבקשת POST.
    • הוסיפו Node נוסף מסוג HTTP Request אחרי הנוכחי.
    • ב-Node החדש, שנו את ה-Method ל-PUT (עדכון מלא).
    • הגדירו את ה-URL כך שיכלול את ה-ID שנוצר בשלב הקודם: https://reqres.in/api/users/{{ $json.id }}.
    • שנו את ה-Body כך שיעדכן את הערך של job ל-"Automation Expert". הריצו ובדקו שקוד הסטטוס הוא 200 OK.
  2.  

  3. ניתוח תשובה עם Node נפרד:
    • במקום להסתפק בהצגת הפלט, הוסיפו Node מסוג Set אחרי ה-HTTP Request.
    • ב-Node של Set, צרו משתנה אחד ששמו Post_ID והערך שלו יהיה ה-id שקיבלתם מה-HTTP Request.
    • הוסיפו Node מסוג No Operation בסוף. זהו סמן לסיום הזרימה והוא מחזיק את הנתונים האחרונים.
    • בדקו את הפלט הסופי וודאו שהוא מכיל רק את המשתנה Post_ID עם הערך שחולץ בהצלחה.
  4. נסו להמשיך לעבוד עם הדאטה שזורם בתהליך, באמצעות הוספת שלבים נוספים.
     
    לדוגמא – קליטת שאלה מתוך טופס ע״י המשתמש, או דרך ממשק Chat, חיפוש הביטוי באמצעות Tavily, ושליחת התשובה בגוף הצ׳אט, או במייל, דרך בלוק Gmail.

בתרגול זה השלמתם את המעבר משימוש ב-Nodes ייעודיים (כמו OpenWeatherMap) לשימוש ב-Nodes קהילתיים (Tavily) ובבניית קריאות API גנריות (HTTP Request). אתם כבר לא תלויים בכך של-n8n יהיה Node לכל שירות שקיים.

 

אתם יודעים כיצד לבנות את שלושת האלמנטים החשובים של בקשת POST:

  1. Method (POST, PUT, GET)
  2. URL (כתובת השירות)
  3. Body (הנתונים שאתם שולחים, במקרה שלנו JSON דינמי).

יכולת זו היא המפתח לשליטה מלאה באוטומציות שלכם.