הפניה / ארכיון ושילובים
webhooks יוצאים
שליחת אירועים מוגדרים למקבלים ב-HTTPS עם חתימות HMAC, ניסיונות חוזרים וסטטוס מסירה.
עיקרי כרגע: יש להשתמש ב-checkout מהמקור; גרסת התצוגה המקדימה הניידת 0.7.0 קדמה לתכונה זו.
פתח את 'אינטגרציות' → 'webhooks יוצאים' בסביבת העבודה הנבחרת. הוסף מקלט HTTPS, בחר אירועי איסוף/מדיה/ייצוא, ובאופן אופציונלי בחר צ'אטים עבור תצפיות ושינויים חדשים. טקסט ההודעה כבוי כברירת מחדל. הפעלת קטעים נבחרים מוסיפה לכל היותר 1,000 תווים לאירועי שינוי הודעות; שדות Telegram גולמיים ו פרטי הזדהות לעולם אינם נשלחים.
העתיקו את המפתח הסודי של HMAC פעם אחת לתוך התצורה המוגנת של המקבל. הוא מוצפן בכספת של TgWitness ואינו ניתן לשליפה מהלוח הבקרה. הסירו ויצרו מחדש יעד כדי לבצע רוטציה. שלחו לתורי בדיקה סינתטיים בדיקה ללא תוכן צ'אט; רעננו את סטטוס המסירה כדי לראות את התוצאה.
השירות מרחיב את מעגל ההתראות הקיים לצד Apprise. הוא משתמש בנתיב החיצוני של סביבת העבודה ובמגבלות הקיימות על יעדים פרטיים. אין כל מעבר לגיבוי ישיר או הפניה מחדש. כתובות URL אינן רשאיות להכיל פרטי הזדהות, מחרוזות שאילתה או קטעים; כתובות פרטיות דורשות הסכמה ברמת השרת, ולא הגדרה שהמשתמש בלוח הבקרה יכול לעקוף.
תוכן וחתימה#
סכימה: tgwitness.webhook/1. כל מטען
מכיל event_id, timestamp, workspace, type, synthetic, ומונים.
אירועים המבוססים על היומן כוללים את הרצף שלהם ואת ה-hash. השלמת ייצוא מלא ו
בדיקות סינתטיות הן אירועי מסירה, ללא הפניה ליומן חתום מומצא.
הודעות מחיקה מ-Telegram ו-missing_on_recheck נותרות סוגים נפרדים.
כותרת ה-X-TgWitness-Signature היא t=UNIX_SECONDS,v1=HEX_HMAC_SHA256.
חשב HMAC על הבתים המדויקים timestamp + "." + raw_request_body, תוך שימוש
בסוד המוצג כבתים בפורמט UTF-8. השווה חתימות בזמן קבוע לפני
ניתוח או ביצוע פעולה על גוף ההודעה. דחה חותמות זמן המרוחקות יותר מחמש דקות
מהשעון שלך. חותמת הזמן מתעדכנת בכל ניסיון מסירה.
השתמש ב-event_id כמפתח אידמפוטנטיות באחסון עמיד, עם אילוץ ייחודי אטומי
לפני תופעות לוואי. חתימה תקפה כשלעצמה אינה מונעת
שידור חוזר של בקשה אחרונה. שמור מזהים שעברו עיבוד לפחות למשך כל
חלון הניסיון החוזר; שמור אותם זמן רב יותר אם המקבל יכול לעבד מחדש אירועים מאוחסנים.
ניסיונות חוזרים#
המשלוחים מועמדים בתור באופן קבוע לפני בקשות HTTP. הם משתמשים בסמנטיקה של "לפחות פעם אחת" : אישור שאבד או הפעלה מחדש עלולים לגרום למשלוח אירוע שוב עם אותו מזהה. יש שמונה ניסיונות עם נסיגה אקספוננציאלית, המתחילים ב-15 שניות ומסתיימים בשעה אחת. הצלחה דורשת תגובה מסוג 2xx. משימות שהסתיימו משאירות שגיאה גלויה; המסירה אינה מובטחת לאחר סיום הניסיונות החוזרים.
תור ההעברה מכיל 1,000 העברות. כאשר הוא מלא, סריקת אירועי היומן נעצרת ו מתחדשת לאחר שמתפנה מקום. השלמת ייצוא מלא שאינה ניתנת להכנסה לתור מציגה שגיאת תור גלויה. מתבצעים עד חמישה ניסיונות משלוח לכל מחזור התראות, וה-100 רשומות הניסיונות האחרונות נשמרות. הסרת יעד מובילה גם להסרת המשלוחים הממתינים שלו.
דוגמה ל-n8n#
ייבא את זרימת העבודה לדוגמה. היא אינה פעילה
ואינה מכילה סודות או פעולות המשך. הגדירו את TGWITNESS_WEBHOOK_SECRET
בסביבת ה-n8n worker, אפשרו גישה לסביבה זו, ואפשרו את הפונקציה המובנית crypto
עבור צומת ה-Code. הדוגמה משתמשת באופציית raw-body של צומת ה-Webhook,
בודקת חתימה/תוקף, ומאשרת אירועים מאומתים. הדבר תואם
ליישום המתועד של הצומת.
לפני הוספת כתיבות או התראות SIEM, הוסף אחסון אידמפוטנטי עמיד
המוגדר באמצעות מפתח event_id. הגבל את עריכת זרימת העבודה של n8n ואת שמירת יומן הביצוע
בהתאם לנתונים שבחרת לשלוח. TgWitness אינו מוסיף פקודות נכנסות.