Live · Webhook Router · v1.0

שער אחד לכל ה-Webhooks שלך.

PulseGate קולט אירועים נכנסים, מסנן לפי שדה בעומק כל JSON, ומפנה במקביל לטלגרם, Discord, HTTP webhooks ואימייל — עם היסטוריית מסירות מלאה, תבניות טרנספורם, ו-replay בלחיצה.

📖 צפה בתיעוד API
·
ערוצים פעילים
·
אירועים 24ש׳
·
% הצלחה
PulseGate architecture diagram

סקירה חיה

תמונת מצב מלאה: KPI's, פעימות לפי שעה, ערוצים מובילים, ופירוק מסירות לפי יעד.
טוען נתונים...
אירועים סה"כ
24 שעות:
מסירות
24 שעות:
אחוז הצלחה
%
ratio
השהיית מסירה
ms
ממוצע (כל היעדים)
פעימות אירועים — 24 שעות אחרונות
— events
Routed Partial Failed Skipped
ערוצים מובילים
by events
פירוק יעדים — שיעור הצלחה
live
פעילות אחרונה
recent events

ערוצים פעילים

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

כללי ניתוב

כל כלל מגדיר תנאי על שדה בתוך payload ויעד שאליו האירוע ייקרא. כללים מופעלים לפי order_idx.

יעדי מסירה

תומכים ב-HTTP webhooks, Telegram, Discord ו-Email (queue stub). כל יעד נשמר עם config מוצפן.

יומן אירועים

כל אירוע שמתקבל ב-PulseGate נשמר עם payload מלא, headers, ושרשור מסירות. לחץ replay כדי לשלוח שוב.

תיעוד API וארכיטקטורה

PulseGate נבנה ב-FastAPI + PostgreSQL + httpx async. למטה — דוגמת curl, הסכימה, ופירוט הסטאק.

ארכיטקטורה

קליטה ב-FastAPI endpoint ציבורי → שמירה ב-Postgres → fanout async ל-N יעדים → רישום delivery לכל יעד בטבלת pulsegate_deliveries עם status, response_status, duration_ms. שימוש ב-Replay טוען event ומריץ fanout מחדש.

פילטר eval תומך במפעילים eq / ne / contains / regex / gt / lt / exists עם resolve של dot-path בעומק כל JSON.

Architecture diagram

דוגמת curl — שליחת אירוע

curl -X POST https://ofir.zbang.net/api/pulsegate/in/<channel_key> \ -H "Content-Type: application/json" \ -d '{"event":"order.created","amount":499,"customer":{"email":"a@b.co"}}'

סטאק טכני

FastAPI · Python 3.11

15+ endpoints — channels, destinations, routes, inbound, events, replay, stats, timeseries. async/await מלא דרך httpx.

🗄

PostgreSQL · SQLAlchemy

5 טבלאות: channels, destinations, routes, events, deliveries — עם FK CASCADE, indexes על channel_id+created_at, וטיפוסי JSON ב-payload/config.

🌐

httpx Async Client

fanout מקבילי לכל היעדים, timeouts קצרים, retry-friendly. תומך POST/GET, headers מותאמים, ו-JSON body.

🎯

Filter DSL

שפת פילטרים קלת-משקל — eq/ne/contains/regex/gt/lt/exists עם dot-path על JSON עמוק (user.address.city.0).

🧩

Template Engine

הזרקת {{payload.path}} ל-body יוצא — תמיכה במשתנים מקוננים, list serialization, ו-fallback מודרך.

📡

Multi-Destination

HTTP webhooks, Telegram Bot API, Discord webhooks, Email queue. הוספת destination type חדש דורשת פונקציית dispatch אחת.