7 פרומפטים בפנים📅 8 באוקטובר 2024 · סשן שלישי בערב👤 אבי ברונר

להפוך 5 קריאות HTTP למודול אחד נקי - מתי לבנות מודול משלכם ב-Make

מתוך "בילד-APP!" עם אבי ברונר · אוטוטיוזדיי · 8.10.2024
🔒 המלאה למנויים

💜 רוצים לשתף? שתפו

ההודעה נשלחת מוכנה, עם תמונה וקישור לסשן.

לאינסטגרם / סטורי - העתיקו ושתפו

כשעובדים עם Make ומגיעים למערכת בלי אינטגרציה רשמית, נתקעים עם חמישה צמתי HTTP שקשה לתחזק. אבי ברונר לימד את המוצא: לבנות Custom App - מודול משלכם. שלוש סיבות מתי זה משתלם: מערכת בלי אפליקציה רשמית, פעולה שדורשת שרשור קריאות (טוקן ואז פעולה), והסתרת לוגיקה רגישה מהלקוח. הוא בנה חי מודול שמאחד שלוש קריאות של קארדקום (חיוב, זיכוי, הוראת קבע) למודול אחד. העיקרון הנצחי: כשכלי לא נותן לך משהו - אתה עוטף בעצמך. 7 הפרומפטים למטה בונים לכם מודול מאפס.

מירי
🕰️ הערת הכתבת

הערת הכתבת: הסשן הזה (8.10.2024) הוא צלילה טכנית עמוקה לבניית Custom Apps ב-Make, והפיצ'ר הזה חי וקיים לגמרי - הטכניקה שאבי לימד (Base, Connection, RPC, איחוד קריאות, מודול-בלי-API) עדיין עובדת. שתי נקודות להיום: קודם, לוגיקה מורכבת שאבי היה שולח ל-n8n אפשר היום פשוט לבנות בקוד ישירות, וכלים אגנטיים כמו Claude Code מקצרים דרמטית את בניית הצינורות האלה. שנית, ותמיד - העיקרון שמאחורי כל הסשן נצחי: כשכלי לא נותן לך משהו, אתה עוטף אותו בעצמך ליחידה נקייה ומתוחזקת. זה נכון ב-Make, בקוד, ובכל טכנולוגיה. הפרומפט הפתוח למטה עוזר לאבחן איפה אצלכם שווה לבנות מודול - נכון להיום.

🎁פרומפט פתוח, בחינם - Custom App - אבחן אם שווה לבנות מודול משלך:
prompt-00 · בונוס נצחי🔓 פתוח לך

רוב אנשי האוטומציה מכירים את התסכול: מערכת שאין לה אפליקציה רשמית ב-Make, ואתה נאלץ לגרור חמישה, שישה, שבעה צמתי HTTP - וכל שינוי קטן הופך לסיוט תחזוקה. אבי ברונר הגיע למפגש ה-15 של אוטוטיוזדיי כדי ללמד את הרמה הבאה: לבנות Custom App, מודול משלך. זה סשן טכני-עמוק, לבנאים - איך לוקחים לוגיקה מסובכת ועוטפים אותה ליחידה אחת נקייה, יעילה, ומוגנת. זה הסשן שמפריד בין "משתמש של Make" ל"בונה ב-Make".

מירי
זה סשן לבנאים, ואני אוהבת אותו דווקא בגלל התובנה שמעל כל הטכניקה: כשהכלי לא נותן לך משהו, אתה לא נתקע - אתה עוטף בעצמך. אבי לקח את התסכול הכי מוכר של אנשי Make (חמישה צמתי HTTP שמתפרקים) והראה איך הופכים אותו ליחידה אחת נקייה ומוגנת. וזה בעצם אותו רעיון שחוזר בכל אוטוטיוזדיי - לא לחכות שהכלי יהיה מושלם, אלא לבנות מעליו. בואו.

המסע: 7 תחנות

כל תחנה = מה קרה בסשן + הפרומפט שאורז את זה בשבילכם

1🎓 למידה

מה זה Custom App ומתי לבנות אחד

אבי פתח מהיסוד: מודול ב-Make הוא לא קוד JavaScript חופשי, אלא עטיפה מסודרת (מבנה דמוי-JSON עם הפונקציות המובנות של Make) שמבצעת קריאת API, משרשרת כמה, או עושה מניפולציה על דאטה. והוא נתן את ארבע הסיבות לבנות מודול: מערכת בלי אפליקציה רשמית (במקום עשרות צמתי HTTP), פעולה שדורשת שרשור קריאות (מערכת שצריך קודם לקבל ממנה טוקן זמני ל-10 דקות ואז להשתמש בו - במקום 5 צמתים, מודול אחד), הסתרת לוגיקה רגישה (מודול יכול לרוץ בלי לוג בכלל, כך שגם לקוח שנכנס ל-DevTools רואה רק true/false, לא לאן הקריאה נשלחת), וחיסכון באופרישנס ותחזוקה. הוא הסביר גם את מגבלת ה-timeout (כ-5 דקות, בפועל שניות). ההבנה מתי לבנות מודול - היא חצי מהערך.

השתמשו בפרומפט הבא בשביל להבין מתי שווה לבנות מודול משלך ב-Make במקום לעבוד עם HTTP:
prompt-01 · למידה🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
2🩺 אבחון

אבחון: אילו סנריוז שלי שווה להמיר למודול

ואז אבי לימד לאבחן: איפה בעסק שלכם שווה לבנות מודול. הוא עבר על שלושת הקריטריונים - מערכות שאתם עובדים איתן בקריאות HTTP ידניות שקשה לשכפל, פעולות שדורשות שרשור קריאות תלויות (למשל בדיקת כרטיס אשראי: חיוב סכום קטן, זיכויו, ואז יצירת הוראת קבע - שלוש קריאות שאפשר לאחד), וקריאות בתדירות גבוהה שבהן צמצום אופרישנס משמעותי. ולכל תהליך - להעריך: כמה אופרישנס ייחסכו, כמה זמן תחזוקה, והאם זה מצדיק את הבנייה. כי מערכת עם API נקי = חמש דקות בנייה, ומערכת מסובכת יכולה לקחת ימים. אבי הבהיר שלא כל דבר שווה מודול - האבחון מונע השקעת ימים במשהו שאפשר לפתור בקריאה אחת.

השתמשו בפרומפט הבא בשביל לזהות בעסק שלי איפה בניית מודול תחסוך הכי הרבה:
prompt-02 · אבחון🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
3⚙️ יישום

לבנות מודול בסיסי ב-Make שלב-אחר-שלב

פה אבי ירד לבנייה, שלב-אחר-שלב, לפי הסרגל בעורך האפליקציות. Base - הקריאה הבסיסית המשותפת לכל המודולים: ה-Base URL, ה-Authorization (header עם ה-API key), וה-log עם sanitization - המאפיין שמחליף את ה-API key בכוכביות בלוג כדי שלא ייחשף. Connection - יצירת החיבור: לבחור סוג 'other', להוסיף פרמטר עם name, label, type ו-required. ו-Module עצמו - לבחור pre-fill with example code, סוג Action, ולהגדיר CRUD, connection, URL וגוף. אבי הדגיש שני דברים שמצילים שעות: בכל שלב חובה ללחוץ Save (אחרת כלום לא נשמר), ולעבוד בשיטת ניסוי-ותהייה - לבנות כל קריאה בנפרד, להריץ, ולראות מה מקבלים. וטיפ זהב: לעבוד במקביל עם Postman כדי לראות בדיוק מה השרת מחזיר לפני שכותבים את המודול.

השתמשו בפרומפט הבא בשביל לבנות Custom App חדש למערכת עם API ולשלוח קריאה אחת:
prompt-03 · יישום🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
4⚙️ יישום

שדה בחירה דינמי במודול דרך RPC

אבי עבר לטכניקה שמייפה כל מודול: שדה בחירה דינמי (dropdown) שנטען אוטומטית מה-API - למשל רשימת ערוצים או חברות - דרך RPC. הוא הסביר ש-RPC (Remote Procedure Call) היא קריאה שרצה לפני מיפוי המודול, עוד לפני שהמשתמש מריץ את הקריאה האמיתית, ומשמשת בעיקר למילוי שדות בחירה. יוצרים RPC מסוג Connection (בדרך כלל GET), מגדירים URL, ובתשובה מחזירים מערך אובייקטים עם value ו-label. אם מגיעים ערכים ריקים - מסננים ב-Iterator עם isNotEmpty. וההרחבה המתקדמת: nested - שרשור פרמטרים כך שהבחירה בשדה אחד משפיעה על השני (הקלדת 'ירושלים' מסננת את רשימת הערים). זה מה שהופך מודול מ'עובד' ל'מרגיש כמו אפליקציה רשמית'.

השתמשו בפרומפט הבא בשביל להוסיף למודול dropdown שנטען אוטומטית מה-API (למשל רשימת ערוצים/חברות):
prompt-04 · יישום🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
5⚙️ יישום

איחוד כמה קריאות API למודול אחד

וכאן אבי הגיע ללב הכוח: מודול שמשרשר כמה קריאות API בתוך פעולה אחת, עם תלות וטיפול בשגיאות - לפי דוגמת קארדקום החיה (חיוב שקל, זיכוי שקל, יצירת הוראת קבע - שלוש קריאות במודול אחד). העקרונות: שרשור קריאות שכל אחת משתמשת במידע מהקודמת (הראשונה מקבלת טוקן, הבאות משתמשות בו), שמירת ערכים ב-temp בין קריאות, ותנאים אחרי כל קריאה - אם הסטטוס בתשובה מעיד על שגיאה, מחזירים error ועוצרים, אחרת ממשיכים. אבי הראה שקריאות יכולות להיות בפורמטים שונים (Body, Query, GET) ולחזור כ-JSON או טקסט גולמי שצריך לפרק. ושתי תובנות תחזוקה: תמיד להעביר גם את הדאטה הגולמי ב-output (כדי לראות מה נשבר), ולבנות את ה-output בדיוק כמו שנוח לעבוד איתו אחר כך.

השתמשו בפרומפט הבא בשביל לבנות מודול שמשרשר כמה קריאות תלויות עם תנאים וטיפול בשגיאות:
prompt-05 · יישום🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
6⚙️ יישום

מודול ללא קריאת API — מניפולציה טהורה על דאטה

אבי חשף שימוש שרוב האנשים לא מדמיינים: מודול שלא קורא לשום API - רק מבצע מניפולציה על דאטה. כי מודול הוא בסופו של דבר קוד עטוף, אז הוא יכול לעבד מידע בלי לגעת בשרת. הדוגמה שלו: מודול שמקבל שני תאריכים (התחלה וסיום פגישה) ומחזיר טווח מעוצב בעברית - מפעיל סדרת switch-ים שממירים מספר יום לשם היום בעברית, חודש לעברית, ומעצבים שעות. במקום 4-5 צמתי switch נפרדים בסנריו - הכל מאוחד למודול אחד. אותו תחביר בדיוק כמו בסנריו (הפונקציות המובנות של Make). ואבי הוסיף כנות: אם צריך לוגיקה שלא ניתנת לביצוע במודול (אין JavaScript חופשי מלא) - שולחים את החלק הזה לשרת n8n שמריץ JS, ומקבלים תוצאה מעובדת. לדעת גם את הגבול של הכלי.

השתמשו בפרומפט הבא בשביל לבנות מודול שעושה רק עיבוד/המרה של מידע בלי לקרוא לשום שרת:
prompt-06 · יישום🔒 למנויים

ההמשך המלא של הפרומפט שמור לחברי אוטוטיוזדיי פלוס יחד עם ההקלטה והתמלול המלאים של הסשן
שורות ההמשך כוללות את כל ההנחיות המדויקות והדוגמאות שהוצגו בשידור החי מול הקהילה
7🎓 למידה

חיבור דו-לשוני ומחזור החיים של אפליקציה

ואת הסשן אבי סגר בשתי טכניקות מתקדמות ובאזהרה שחוסכת כאב. אפליקציה דו-לשונית: מגדירים ב-Connection שדה בחירת שפה, ואז ב-RPC כל ה-labels וה-outputs משתנים לפיה. ולמה דווקא RPC ולא מיפוי במודול? כי המודול לא יכול לקרוא ל-Connection עד שהוא מופעל, אבל ה-RPC רץ לפני המיפוי - ולכן יכול לבדוק את השפה ולהחיל condition על כל פרמטר. והאזהרה הכי חשובה - מחזור החיים: אפליקציה Private אפשר לשנות ולמחוק חופשי, אבל אפליקציה Published - אי אפשר למחוק ממנה שום דבר. אבי הזהיר במפורש: לא לפרסם לפני שהאפליקציה בשלה, ולזכור שכדי לשתף אותה עם אחרים צריך review ואישור רשמי מ-Make. הכלים החזקים דורשים גם משמעת - יודעים מה הפיך ומה לא.

השתמשו בפרומפט הבא בשביל להבין איך לבנות אפליקציה דו-לשונית ומה קורה בפרסום:
prompt-07 · למידה🔒 למנויים

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

🎯 מה עושים עם זה עכשיו?

אל תסגרו את הטאב עם "מעניין". ככה זה הופך לתוצאה:
1
בחרו תחנה אחת ותריצו אותה היוםלא את הכל - אחת. עשר דקות של יישום שוות יותר מסימנייה.
2
קחו את הפרומפט המלא והתאימו לעסק שלכםהפרומפטים כתובים מוכנים להדבקה - ה-AI שלכם עושה את השאר.
3
ספרו בדיון מה יצא לכםהתוצאות של הקהילה הן חלק מהסשן. גם השאלות.

קראת איך זה נעשה. עכשיו קחו את הכלים ותעשו את זה בעצמכם - כל הפרומפטים של הסשן, מוכנים להריץ על העסק שלכם. פלוס ההקלטה המלאה והתמלול.

הצטרפו לאוטוטיוזדיי+· 49 ש״ח בחודשעוד לא בשלים? בואו ללייב הבא בחינם ←

רוצים לעבוד על התמלול הנקי?

העתיקו אותו ותעבדו איתו איך שנוח לכם.

🔒 התמלול המלא שמור לחברי אוטוטיוזדיי+. עם המנוי אתם מעתיקים אותו בקליק ועובדים איתו איך שנוח לכם.

לפתוח את התמלול · 49 ש״ח בחודש

שאלות ששאלתם (וה-AI ישאל גם)

מה זה Custom App / מודול ב-Make?

עטיפה מסודרת (לא JavaScript חופשי) שמבצעת קריאת API, משרשרת כמה קריאות, או עושה מניפולציה על דאטה - כל זה כיחידה אחת נקייה במקום עשרות צמתי HTTP.

מתי שווה לבנות מודול?

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

מה זה RPC במודול?

Remote Procedure Call - קריאה שרצה לפני מיפוי המודול, בעיקר כדי למלא שדות בחירה דינמיים (dropdown) מה-API, כולל שרשור nested שבו בחירה בשדה אחד מסננת את השני.

מה ההבדל בין אפליקציה Private ל-Published?

ב-Private אפשר לשנות ולמחוק חופשי. ב-Published אי אפשר למחוק שום דבר - לכן לא מפרסמים לפני שהאפליקציה בשלה, ולשיתוף עם אחרים צריך review ואישור מ-Make.

💬 הדיון על הסשן

שאלות, תובנות, מה יישמנו - השרשור של הקהילה.

עוד אין תגובות - תהיו הראשונים לפתוח את הדיון 👇