כדי לשלוח פריטי RSS ל-Webhook, צריך שירות שבודק את הפיד לפי לוח זמנים, מזהה פריטים חדשים ושולח כל אחד מהם לכתובת שלכם בבקשת HTTP POST. כלל ״שלח ל-Webhook״ של Feeder עושה זאת עבור כל מספר של פידים, וכולל סינון לפי מילות מפתח וניסיונות חוזרים. אפשר לעשות זאת גם באמצעות כלי אוטומציה כמו Zapier, Make, IFTTT ו-n8n, או באמצעות סקריפט קצר בשרת שלכם.
אילו אפשרויות יש לשליחת RSS ל-Webhook?
| אפשרות | מתאימה ל... | חשוב לדעת |
|---|---|---|
| כלל ״שלח ל-Webhook״ של Feeder | מעקב אחר פידים רבים, סינון לפי מילות מפתח ושימוש בפורמט JSON אחיד לכל הפידים | הכלל כלול ב-Feeder Professional. הפרטים מופיעים בהמשך. |
| Zapier, Make, IFTTT או n8n | העברת כל פריט לאפליקציות אחרות בלי לכתוב קוד | צריך למפות את השדות באופן ידני. לכל כלי יש מסלולים ומגבלות משלו. |
| סקריפט | מפתחים שרוצים שליטה מלאה | צריך לארח אותו, לתזמן את ההרצה ולעקוב אחר הפריטים שכבר נשלחו. |
איך עובד כלל ״שלח ל-Webhook״ של Feeder?
״שלח ל-Webhook״ היא אחת הפעולות בכללים של Feeder. יוצרים כלל, בוחרים שלח ל-Webhook תחת מה אמור לקרות?, מדביקים את כתובת נקודת הקצה ובוחרים אילו פידים, תיקיות או כל הפידים לנטר. אפשר להוסיף מילות מפתח כדי לקבל רק פריטים מסוימים. מעכשיו Feeder ישלח לכתובת שלכם כל פריט חדש שעונה על התנאים.
במדריך יצירת אינטגרציות משלכם באמצעות Webhooks מופיעים כל השלבים עם צילומי מסך, ובפוסט ההשקה אפשר לראות את הכלל בפעולה. העובדות בעמוד הזה מבוססות על הקוד ששולח את ה-Webhooks.
מה Feeder שולח ל-Webhook שלי?
בקשת HTTP אחת מסוג POST לכל פריט, עם גוף JSON והכותרות הבאות:
POST /hooks/rss HTTP/1.1
Content-Type: application/json
User-Agent: Feeder-Webhooks/1.0
X-Feeder-Signature: sha256=<HMAC-SHA256 of the body, in hex>
זהו גוף הבקשה עבור פריט מהבלוג של Feeder, עם שדה content מקוצר. בפועל Feeder שולח אותו בשורה אחת, כאן הוא מוצג בצורה מפורטת יותר כדי שיהיה קל לקרוא אותו.
{
"version": "2023-06-26",
"message_id": "3f1c9a52-7e4b-4d0a-9b6e-2c8d51f0a7e4",
"post": {
"id": "aff2424a-abc9-11f1-afb3-1a21cf3a468a",
"title": "Feed your AI",
"url": "https://feeder.co/blog/1208-feed-your-ai",
"published": "2026-09-08T20:19:59Z",
"content": "\u003cp\u003eWith Feeder's MCP server, you can connect Feeder to your AI client of choice.\u003c/p\u003e",
"audio_url": null,
"image_url": "https://uploads.feedercdn.com/8XSXZN92WHeb2d17f3440d-feedyourai-1024x538.png"
},
"feed": {
"id": "21f058e947",
"source_url": "https://feeder.co/blog.rss",
"public_url": "https://feeder.co/blog",
"title": "Feeder.co",
"favicon": "https://icons.feedercdn.com/feeder.co"
}
}
| שדה | מה הוא מכיל |
|---|---|
version | גרסת הפורמט: 2023-06-26. |
message_id | מזהה חדש לכל הודעה. בניסיון חוזר של אותה הודעה המזהה נשאר זהה, כך שאפשר למנוע כפילויות. |
post.id | המזהה של הפריט ב-Feeder. |
post.title | כותרת הפריט. |
post.url | קישור לפריט באתר. |
post.published | מועד פרסום הפריט, בפורמט חותמת זמן RFC 3339, או null. |
post.content | תוכן הפריט כ-HTML, לפי מה שהפיד מספק: המאמר המלא או תקציר. |
post.audio_url | קובץ MP3 שמצורף לפריט, למשל פרק בפודקאסט, או null. |
post.image_url | התמונה המצורפת לפריט, ואם אין כזאת, התמונה הראשונה בתוכן, או null. |
feed.id | המזהה הקצר של הפיד ב-Feeder. |
feed.source_url | כתובת הפיד. |
feed.public_url | האתר שאליו שייך הפיד. |
feed.title | שם הפיד. |
feed.favicon | כתובת הסמל של האתר. |
בשדה content, התווים <, > ו-& מתקבלים בתור \u003c, \u003e ו-\u0026. זהו JSON תקין, וכל מנתח JSON ממיר אותם בחזרה ל-HTML.
מתי ה-Webhook מופעל?
- רק עבור פריטים חדשים. הכלל פועל על פריטים ש-Feeder מוצא אחרי ששומרים אותו. הפריטים שכבר קיימים אצלכם לא נשלחים.
- פעם אחת לכל פריט. כל פריט שעונה לתנאים נשלח בבקשה נפרדת. Feeder לא מאגד כמה פריטים יחד. אם האתר עורך פריט מאוחר יותר ו-Feeder מזהה את השינוי, גם הגרסה המעודכנת נשלחת.
- מיד אחרי הבדיקה הבאה של הפיד. במסלול Professional, Feeder בודק פידים כברירת מחדל בכל 10 דקות, ואפשר להגדיר שפיד יתעדכן בתדירות של עד פעם בדקה. ראו באיזו תדירות Feeder בודק את הפידים שלכם.
- רק עבור פריטים שעונים לתנאים. אם הוספתם מילות מפתח, יישלחו רק פריטים מתאימים. בלי מילות מפתח, יישלח כל פריט חדש. פריט שהוסתר באמצעות כלל סנן פוסטים או סינון כפולים לא יישלח.
מה קורה אם נקודת הקצה שלי לא זמינה?
Feeder ממתין עד 60 שניות לתגובה. קוד סטטוס בטווח 2xx נחשב למסירה מוצלחת. אם נקודת הקצה מחזירה שגיאה, למשל 404 או 500, או לא מגיבה כלל, Feeder מנסה שוב, עד 8 פעמים נוספות:
| ניסיון | זמן המתנה מהניסיון הקודם |
|---|---|
| 2 | 5 שניות |
| 3 | 30 שניות |
| 4 | דקה אחת |
| 5 | 5 דקות |
| 6 | 10 דקות |
| 7 | 30 דקות |
| 8 | 30 דקות |
| 9 | 30 דקות |
אחרי הניסיון התשיעי, כעבור כשעה ו-47 דקות מהניסיון הראשון, Feeder מפסיק לנסות לשלוח את הפריט. כל ניסיון שנכשל מופיע ביומן השגיאות של הכלל: פותחים את הכלל ובוחרים פתיחת יומן השגיאות. אם משנים את כתובת ה-URL של הכלל כשיש ניסיונות חוזרים שממתינים, הניסיונות הבאים יישלחו לכתובת החדשה. הפעולה שלח הודעת ניסיון שולחת הודעת בדיקה אחת, בלי ניסיונות חוזרים.
מה נקודת הקצה שלי צריכה לעשות?
- להשיב במהירות. יש להחזיר תחילה סטטוס 2xx, ולהמשיך בעבודה הממושכת לאחר מכן, כדי להישאר הרבה מתחת למגבלת 60 השניות.
- למנוע כפילויות. אם השרת שלכם טיפל בהודעה אך השיב מאוחר מדי, היא תישלח שוב בניסיון החוזר. שמרו את הערכים של
message_idאוpost.idשכבר התקבלו. - להשתמש בכתובת הסופית. הכתובת צריכה לכלול נתיב, למשל
https://example.com/hooks/rss, ולהצביע על שרת שנגיש דרך האינטרנט הציבורי. Feeder לא שולח לכתובות ברשת מקומית או פרטית. כדאי להימנע גם מהפניות: לאחר הפניה מסוג 301, 302 או 303, הבקשה מגיעה כ-GET ללא גוף ה-JSON. - לאמת את החתימה. כל מי שיודע את כתובת ה-URL שלכם יכול לשלוח אליה בקשות, לכן יש לסמוך רק על בקשות עם
X-Feeder-Signatureתקינה. בחלק הבא מוסבר איך לעשות זאת.
איך בודקים שהבקשה נשלחה מ-Feeder?
Feeder חותם על כל בקשה באמצעות סוד ה-Webhook של הכלל. כדי למצוא אותו, פותחים את הכלל, מפעילים את מתקדם, מעתיקים את סוד ה-Webhook ושומרים את הכלל. הכותרת X-Feeder-Signature מכילה את sha256= ולאחריו HMAC-SHA256 של גוף הבקשה, בקידוד הקסדצימלי, שנוצר באמצעות הסוד הזה.
כדי לאמת את החתימה, מחשבים את אותו HMAC על גוף הבקשה הגולמי, לפני ניתוח ה-JSON, ומשווים בין הערכים בזמן קבוע. דוגמה ב-Python:
import hashlib, hmac
def from_feeder(body, header, secret):
expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header or "")
כאן body הוא גוף הבקשה כבתים. יש לדחות בקשה אם from_feeder מחזירה False. הניסיונות החוזרים נחתמים באמצעות הסוד הנוכחי של הכלל, כך שגם שינוי של הסוד יחול עליהם.
האם Feeder יכול לשלוח תקציר ל-Webhook?
לא. ״שלח ל-Webhook״ שולח בקשה אחת לכל פריט, ברגע ש-Feeder מזהה אותו. יש שלוש דרכים לקבל תקציר:
- לרכז את הפריטים אצלכם. שמרו כל פריט שמתקבל בנקודת הקצה, ושלחו תקציר משלכם לפי לוח זמנים.
- להשתמש בתקצירי דוא״ל. במסלולי Plus ו-Professional, Feeder יכול לשלוח לכם בדוא״ל תקציר יומי, שבועי או חודשי של הפידים שתבחרו. ראו קבלת התראות על פריטים חדשים.
- לפרסם פיד. במסלול Professional אפשר לפרסם תיקייה או אוסף כפיד RSS או JSON, ולתת לכלי שלכם לקרוא אותו לפי לוח הזמנים שלו. ראו איך מייצאים פריטים כפידי RSS ו-JSON.
איך שולחים RSS ל-Webhook באמצעות Zapier, Make, IFTTT או n8n?
בכל אחד מהכלים משלבים גורם מפעיל של RSS עם פעולת HTTP. בדקנו את השמות האלה באתר של כל כלי ב-28 בספטמבר 2026:
| כלי | גורם מפעיל | פעולה | כדאי לדעת |
|---|---|---|---|
| Zapier | RSS by Zapier: פריט חדש בפיד, או פריטים חדשים בכמה פידים | Webhooks by Zapier: POST | Webhooks by Zapier היא אפליקציית פרימיום, ש-Zapier כוללת רק במסלולים בתשלום. |
| Make | RSS: מעקב אחר פריטי RSS | HTTP: שליחת בקשה | מודול RSS קורא פידי RSS ו-Atom. |
| IFTTT | RSS Feed: פריט חדש בפיד | Webhooks: שליחת בקשת אינטרנט | במסלול החינמי IFTTT בודק פידים מדי שעה, ובמסלולי Pro ו-Pro+ מדי 5 דקות. |
| n8n | הצומת גורם מפעיל של RSS Feed | הצומת HTTP Request עם שיטת POST | תחת תדירויות בדיקה אפשר לבחור באיזו תדירות תיבדק הפיד. |
אלה האפשרויות המהירות ביותר אם אתם כבר משתמשים באחד מהכלים. אפשר גם לשלב אותם עם Feeder: מפנים כלל ״שלח ל-Webhook״ אל גורם מפעיל מסוג Catch Hook ב-Zapier או אל צומת Webhook ב-n8n. Feeder יעקוב אחרי הפידים ויסנן את הפריטים, ומשם תהליך העבודה שלכם ימשיך.
איך שולחים RSS ל-Webhook באמצעות סקריפט?
סקריפט Python הזה שולח כל פריט חדש מפיד אחד ל-Webhook שלכם. הוא שומר את הפריטים שכבר נשלחו בקובץ seen.txt, כך שכל פריט נשלח פעם אחת. בהרצה הראשונה הוא שולח את כל הפריטים שנמצאים בפיד באותו רגע.
import json, pathlib, urllib.request
import feedparser # pip install feedparser
FEED_URL = "https://example.com/feed.xml"
WEBHOOK_URL = "https://example.com/hooks/rss"
seen_file = pathlib.Path("seen.txt")
seen = set(seen_file.read_text().split()) if seen_file.exists() else set()
for entry in reversed(feedparser.parse(FEED_URL).entries):
key = entry.get("id") or entry.get("link")
if not key or key in seen:
continue
payload = {"title": entry.get("title"), "url": entry.get("link"), "published": entry.get("published")}
request = urllib.request.Request(WEBHOOK_URL, data=json.dumps(payload).encode(),
headers={"Content-Type": "application/json"})
urllib.request.urlopen(request, timeout=30)
seen.add(key)
seen_file.write_text("\n".join(seen))
הסקריפט דורש Python 3 ואת חבילת feedparser (pip install feedparser). הריצו אותו לפי לוח זמנים, למשל בכל 15 דקות באמצעות cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. אם נקודת הקצה מחזירה שגיאה, הסקריפט נעצר, ובהרצה הבאה ינסה שוב לשלוח את אותו פריט.
שאלות נפוצות
האם אפשר לשלוח RSS ל-Webhook של Slack, Teams או Discord באמצעות ״שלח ל-Webhook״?
לא ישירות. Feeder שולח פורמט JSON משלו, ולא את פורמט ההודעה שהאפליקציות האלה מצפות לו. במקום זאת, השתמשו בכללים של Feeder: שלח ל-Slack, שלח ל-Microsoft Teams או פרסם בדיסקורד, או העבירו את הנתונים דרך Zapier, Make או n8n.
באיזה מסלול של Feeder כלולים Webhooks?
״שלח ל-Webhook״ כלול ב-Professional. כללים לסינון, לסימון בכוכב או לאיסוף פריטים פועלים גם ב-Plus.
האם ה-Webhook כולל את המאמר המלא?
הוא כולל את התוכן שהפיד מפרסם. השדה content מכיל את המאמר המלא אם הפיד מספק אותו, ותקציר אם הפיד כולל תקציר בלבד.
האם אפשר לבדוק את נקודת הקצה לפני ששומרים את הכלל?
כן. הפעולה שלח הודעת ניסיון שולחת לכתובת שלכם פריט אמיתי אחד מהפידים שלכם. צריך להיות בחשבון שלכם לפחות פיד אחד שמכיל פריטים.
נסו את Feeder
Feeder הוא קורא RSS לאינטרנט, ל-iOS ול-Android, עם הרחבות ל-Chrome, Firefox ו-Edge. במסלול החינמי אפשר לעקוב אחרי עד 200 פידים ללא פרסומות, והפידים מתעדכנים בתדירות של עד פעם ב-30 דקות. במסלול Plus אפשר לעקוב אחרי 2,500 פידים, לעדכן אותם בתדירות של עד פעם ב-5 דקות ולקבל תקצירים בדוא״ל.