2

היכרות עם הוקדק

פילטור וובהוקים באמצעות Hookdeck

Shay digital services

עדכון אחרון לפני 9 חודשים

מה זה הוקדק?

הוקדק ("Hookdeck") זו מערכת שמאפשרת לנו ניהול וובהוקים - קבלת וובהוקים עם מידע משירותים שונים למערכת של הוקדק, ומשם להעביר את המידע הלאה למערכות אחרות.

לפני שאנחנו שולחים את המידע הלאה למערכת הבאה, אנחנו יכולים לבצע מניפולציות שונות על המידע שאנחנו מקבלים, לבצע השהייה או לשים פילטר ולהחליט עם אלו וובהוקים אנחנו רוצים להמשיך הלאה למערכת הבאה ועם אלו לא.

התחלה

לאחר הרישום המהיר שכולל בעיקר שם לוורקספייס, ניצור קונקשיין.

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

  • אפשר לשים כתובת יעד של הוקדק ולאחר מכן לשנות לכתובת היעד שלנו. האפשרות הזו נקראת 'Mock API' תחת 'Destination Type'.

  • נוכל להשתמש במקור הגעה אחד למספר תהליכים ויעדים.

  • בתהליך שאנחנו רוצים שיקרה שכתוב תחת 'Set Connection Rules', מוגדר כברירת מחדל Retry במקרה של כשל של פעם בשעה עד חמש פעמים.

אפשר להגדיר את כל ההגדרות עכשיו, תמיד נוכל גם לגשת להגדרות מאוחר יותר.

נלחץ על יצירת קונקשיין וכעת נוצר לנו קונקשיין וקיבלנו מסך כזה:

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

הקונקשיין שלנו כעת יראה בצורה הזאת:

(אפשר לראות שלצורך הדוגמא השארתי את הRetry והגדרתי כנקודת יעד כתובת Mock API של הוקדק.)

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

חוקים: מה אנחנו רוצים לעשות?

יש לנו ארבע אפשרויות לעבד את המידע שקיבלנו:

  • טרנספורמציה - שינוי המידע שקיבלנו.

  • ניסיון שליחה חוזר - הגדרת שליחה חוזרת במקרה של כשל בניסיון הקודם.

  • השהייה - הגדרת דיליי (מדקה אחת ועד 24 שעות).

  • פילטר - להגדיר לפי קריטריונים מסויימים מה יעבור הלאה לנקודת היעד.

אנחנו יכולים לתת שם ל'חוק' שלנו. מומלץ לתת לו שם כדי שנוכל לזהות אותו בעתיד ולהשתמש בו במידת הצורך בחיבורים אחרים.

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

פילטר: למה צריך את זה?

אתחיל מדוגמא:

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

מה אני יכול לעשות אם אני רוצה לשלוח וובהוק שונה לכל תרחיש?

דוגמא נוספת, גם היא משימוש עם גרין:

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

בבעיה הזו נכנסת הוקדק.

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

עכשיו כמה דוגמאות לפילטור.

מכיל מספר שולח ספציפי

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

*הוקדק הוסיפו AI שמאוד עוזר למקרים פשוטים, נסו להיעזר בו.

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

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

לצורך הדוגמא אני אשים את הוובהוק המצורף כאן בצד שמאל של המסך, ומצד ימין נבנה את הפילטר כך:

הסבר הפילטר:

לך לsenderData, בתוכו לsender, ואז תבדוק האם הוא מכיל את הטקסט שכתוב.

עכשיו לחצו על Test Filter מימין למעלה, ובחנו את הפילטר שלכם.

במידה והמידע (הכתוב משמאל) יעבור את הפילטר (הכתוב מימין), תקבלו V. אם המידע לא יעבור את הפילטר תקבלו סימן של חסימה.

תוכלו לערוך שינויים במידה ובפילטר ולראות שהפילטר שלכם מדוייק לצורך שלכם.

לא מכיל מספר שולח ספציפי

עכשיו נדגים מקרה הפוך, בו אני רוצה שהוובהוק ימשיך רק אם מספר השולח לא מכיל מספר מסוים.

נשים את הפילטר הבא:

שימו לב שהפילטר דומה מאוד לפילטר הקודם, רק שבמקום in המציין 'מכיל' כתבנו nin שפירושו 'לא מכיל'.

מספר שולחים ושילוב שני פילטרים

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

לצורך כך נשתמש בפילטר הבא:

אפשר לראות ששילבתי בדוגמא כאן שני פילטרים:

  1. בדיקה שהפרמטר chatId לא מכיל g
  2. בדיקה שהפרמטר sender שווה לאחת מהאופציות שכתובות (כולן אותו מספר לצורך הדוגמא) באמצעות הביטוי or.

סינון לפי טקסטים

דוגמא אחרונה זה לסינון סוגי טקסטים בצורה של 'מכיל':

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

פקודת in נותנת לנו אפשרות לסנן לפי טקסט 'מכיל' ולא 'שווה ל' - אם נוריד אותו הפילטר יסנן כל מה שהוא לא התאמה מדויקת, ובאמצעות in הפילטר יסנן רק מה שלא מכיל את המילה 'הסר' בכלל.

מחיר

כאמור, התוכנית החינמית של הוקדק מאוד נדיבה. היא מאפשרת לקבל עד 10 אלף בקשות או אירועים בחודש.

  • בקשות - וובהוק נכנס.
  • אירועים - שליחה או ניסיון שליחה.

הסבר נוסף כאן.

לסיום

ממה שבדקתי בעבר להוקדק יש API עשיר מאוד.

לא יודע מה היוזקייס ליצור תרחיש בAPI, אבל האפשרות קיימת למי שצריך.

עד כאן המדריך להוקדק 😎

אשמח שתשלחו לי פידבקים והצעות לשיפור לווצאפ.


שי פתאל

Shay digital services ©

האם המאמר הזה היה מועיל?

13 מתוך 13 אהבו את המאמר הזה