Webhook (וובהוק) הוא דרך אוטומטית של מערכת ממוחשבת אחת להעביר נתונים למערכת אחרת ברגע שקורה אירוע מסויים.
באופן מעשי, השיטה הזאת חוסכת עדכונים ידניים וסינכרון של נתונים בין שתי מערכות שצריכות להחזיק מידע זהה.
נניח, למשל שאתם מנהלים רשימות דיוור כאן ברב מסר, וחוץ מזה יש לכם מערכת CRM מבוססת ווב (למשל Pipedrive או Salesforce) שבה שמורים כל פרטי הלקוחות שלכם. אתם רוצים שברגע שמישהו נרשם לרשימת הדיוור שלכם, גם מאגר השמות והפרטים במערכת ה-CRM יתעדכן בהתאם. באופן ידני יהיה קשה לעמוד בקצב, ולוודא שכל הנתונים גם מסונכרנים וגם הוקלדו במדוייק. אבל אם תגדירו Webhook מתאים, הוא יטפל בזה אוטומטית – ברגע שמתווסף נמען לרשימה, הפרטים שלו מוזרמים מייד "מאחורי הקלעים" אל מערכת ה-CRM ומעדכנים את המאגר שם.
בפועל, וובהוק הוא בסופו של דבר כתובת רשת (URL), שאליה פונה מערכת רב-מסר בזמנים שהוגדרו (בהמשך המאמר נראה איך מגדירים את זה). חשוב לזכור שאת הכתובת הזאת אתם מקבלים ממערכת היעד, וכאן אצלנו אתם רק מזינים אותה (מעתיקים משם ומדביקים) בשדה המתאים בהגדרות הוובהוק.
Webhook ברשימת נמענים
לכל רשימה אפשר להוסיף כמה כתובות וובהוק שרוצים.
כדי להגדיר ולנהל Webhooks ברשימת נמענים:
- נכנסים למסך רשימות הנמענים דרך הקישור "רשימות" בסרגל הניווט הראשי
- בוחרים את רשימת הדיוור שרוצים ולוחצים על השם שלה כדי להיכנס להגדרות הרשימה.
- לוחצים על הקישור Webhooks בסרגל הניווט של הרשימ:
כדי להוסיף Webhook חדש לוחצים על הכפתור וובהוק חדש למעלה.
כדי למחוק Webhook קיים לוחצים על סמל האשפתון בצד שמאל של השורה שלו ברשימה.
כדי לערוך Webhook קיים בוחרים אותו מהרשימה במסך.
מסך הגדרת Webhook (חדש או קיים)
במסך זה מעדכנים את הפרטים הבאים:
- שם הוובהוק: שם פנימי שלכם, כדי שתוכלו לזהות בקלות את המטרה והפעולה שלו.
- הכתובת לשליחת פרטים: כתובת רשת שהמערכת השניה (החיצונית) צריכה לספק לכם.
- סוג השליחה: הגדרה טכנית שצריכה גם היא להתאים למערכת היעד בהתאם למה שמוגדר שם.
- מתי תתבצע שליחת הנתונים: כאן אתם קובעים למעשה את ה"טריגר", או מתי הוובהוק "יורה" (Fires), כלומר איזה אירוע במערכת רב מסר יפעיל את שליחת הנתונים אל כתובת הוובהוק.
יש שלוש אפשרויות להגדרת הדיווח (טריגר) אירוע, ותוכלו לבחור יותר מאפשרות אחת:
- כשנמען חדש נכנס לרשימה: אם נמען נכנס לרשימה בכל דרך שהיא, למשל נרשם דרך טופס בדף נחיתה שיצרתם או הוספתם ידנית במערכת.
- כשנמען נכנס לרשימה מחדש: אם נמען שנמצא כרגע במערכת נכנס אליה מחדש. המזהה של הנמען הוא כתובת המיייל.
- כשיש עדכון בפרטים של נמען קיים: אם הערך באחד השדות – שדה רגיל או שדה מותאם אישית – משתנה אצל נמען שכבר קיים ברשימה, או אם הסטטוס של הנמען השתנה.
אחרי מילוי הפרטים האלה, לוחצים על "התאמת שדות" כדי לערוך את המיפוי של השדות בין רב מסר למערכת היעד. לדוגמה, יכול להיות שאצלנו שדה הטלפון של הנמען נקרא phone, אבל במערכת ה-CRM שלכם השדה הזה "phone number". אם השמות לא יהיו מתאימים, תתרחש שגיאה והנתונים לא יעודכנו (כי אין במערכת היעד שדה בשם המתאים). הטבלה במסך הזה מאפשרת להתאים בין שמות השדות.
אחרי עידכון ובדיקה של כל שמות השדות (שימו לב שיש במסך הזה גלילה, כך שלמטה מסתתרים עוד שדות שכדאי לבדוק ולהתאים), לוחצים על "שמירה".
בדיקת Webhook
אפשר לבדוק את התנהגות הוובהוק ידנית, במקום לחכות לאירוע שיפעיל אותו בזמן אמת. לחיצה על הכפתור "בדיקת וובהוק" תפתח חלון עם פרטי נמען שתוכלו להזין ידנית. אחרי הזנת כל הפרטים לוחצים על "שליחת הבדיקה" כדי לשגר את הנתונים אל מערכת היעד, שם תוכלו לבדוק איך הם התקבלו.
Webhook במסגרת תהליך אוטומציה
במסגרת תהליך אוטומציה, תוכלו לבחור שאלמנט מסוג "פעולה" יבצע הפעלת וובהוק.
במסך העריכה של אלמנט הפעולה, בוחרים את האפשרות "שליחת וובהוק":
ואז לוחצים על "יצירת וובהוק" ושם מגדירים את הכל.
מנגנון שליחה מחדש של וובהוקים
במידה וובהוק נכשל (זאת אומרת שרב מסר שולחת וובהוק אבל הצד השני מחזיר שגיאה) ישנו מנגנון שליחה מחדש. המנגנון נבנה כדי לא לאבד מידע. אם יש תקלה זמנים במערכת שאמורה לקבל את המידע, בזכות מנגנון השליחה החוזרת המערכת תמשיך לנסות לשלוח את הדיווח בתקווה שבצד השני התקלה תתקון במהרה.
כדי לא להעמיס על המערכת המנגנון פועל בצורה שונה לפי סוגי השגיאות המתקבלות מהשרת המקבל:
שגיאה מסוג 400 שמגיעה עם הודעה queue is full או שגיאה מסוג 429:
מה קורה לוובהוק?
הוובהוק נכנס למנגנון השליחה החוזרת שבעזרתו אנחנו מבצעים ניסיונות חוזרים לשלוח את הוובהוק שוב ושוב באינטרוולים שונים במשך מספר ימים (מקסימום 190 נסיונות). בשעה הראשונה כל כמה דקות במרווחים הולכים וגדלים ומהשעה השנייה ועד סוף הנסיונות, כל 15 דקות (בערך).
אם במהלך הניסיונות החוזרים הללו אנחנו מקבלים אינדיקציה שהמערכת המקבלת פנויה – אנחנו שולחים את הוובהוק וגם מסמנים לכל שאר הוובהוקים שממתינים שהם יכולים לצאת ממצב המתנה ולהישלח. אם לאחר הימים והניסיונות הללו המערכת המקבלת עדיין מלאה – הוובהוקים לא ישלחו.
מה קורה לכתובת הוובהוק ששמורה ברשימה ברב מסר?
הכתובת נשארת פעילה וניתן להמשיך לשלוח דרכה וובהוקים נוספים.
מה קורה לוובהוקים חדשים או כאלה שממתינים בתור למשלוח חוזר?
אם כתובת הוובהוק ששמורה ברשימה ברב מסר נמצאת בסטטוס פעיל יתבצע ניסיון משלוח של הוובהוק.
שגיאות אחרות מסוג 400 (למשל 404, 403 וכו'):
מה קורה לוובהוק?
וובהוק שנשלח ומקבל שגיאה מהסוג הזה יימחק מיידית ולא יעבור למנגנון השליחה החוזרת.
מה קורה לכתובת הוובהוק ששמורה ברשימה ברב מסר?
הופכת ללא פעילה ולא ניתן להמשיך לשלוח דרכה וובהוקים נוספים. במקביל ישלח ללקוח מייל עם השגיאה.
מה קורה לוובהוקים חדשים או כאלה שממתינים בתור למשלוח חוזר?
אם כתובת הוובהוק ששמורה ברשימה ברב מסר נמצאת בסטטוס פעיל יתבצע ניסיון משלוח של הוובהוק. אם כתובת הוובהוק ששמורה ברשימה ברב מסר נמצאת בסטטוס לא פעיל, הוובהוק ימחק מיידית ולא יתבצע ניסיון שליחה מחדש.
שגיאה מסוג 422 (unprocessable entity):
מה קורה לוובהוק?
וובהוק שנשלח ומקבל שגיאה מהסוג הזה יימחק מיידית ולא יעבור למנגנון השליחה החוזרת.
מה קורה לכתובת הוובהוק ששמורה ברשימה ברב מסר?
הכתובת נשארת פעילה וניתן להמשיך לשלוח דרכה וובהוקים נוספים.
שגיאות מסוג 500 או כל שגיאה אחרת שלא הוזכרה קודם:
מה קורה לוובהוק?
בכל שגיאה מתבצעת בדיקה כמה פעמים היא חזרה במהלך ה 24 השעות האחרונות בוובהוק הספציפי. כל וובהוק שנתקל עשר פעמים באותה שגיאה יימחק. אם ספירת השגיאות עוד לא הגיע לעשר פעמים, הוובהוק יועבר למנגנון השליחה החוזרת שהוזכר קודם.
מה קורה לכתובת הוובהוק ששמורה ברשימה ברב מסר?
ברגע שאותר וובהוק שקיבל במהלך 24 השעות האחרונות שגיאות 500 (או כל שגיאה אחרת שלא הוזכרה קודם) כתובת הוובהוק ששמורה ברשימה ברב מסר הופכת ללא פעילה ולא ניתן להמשיך לשלוח דרכה וובהוקים נוספים. במקביל ישלח ללקוח מייל עם השגיאה.
מה קורה לוובהוקים חדשים או כאלה שממתינים בתור למשלוח חוזר?
אם כתובת הוובהוק ששמורה ברשימה ברב מסר נמצאת בסטטוס פעיל יתבצע ניסיון משלוח של הוובהוק. אם כתובת הוובהוק ששמורה ברשימה ברב מסר נמצאת בסטטוס לא פעיל, הוובהוק ימחק מיידית ולא יתבצע ניסיון שליחה מחדש.
סטטוס של כתובת וובהוק
לכל כתובת וובהוק שמוסיפים לרשימה יש סטטוס- פעיל/מושבתת
סטטוס פעיל- המערכת תשלח וובהוק בהתאם לטריגרים שנשמרו.
סטטוס מושבתת- לא יישלח וובהוק לכתובת השמורה.
במקרים בהם הסטטוס עבר ל"מושבתת" בגלל שגיאה בשרת המקבל, מערכת רב מסר תשלח מייל לבעלי החשבון עם הודעה כי יש בעיה בוובהוק וגם אפשר לראות מתוך המערכת מה הסיבה שהכתובת וובהוק הושבתה ע"י לחיצה על משולש האזהרה