Pokud chcete posílat obsah RSS na webhook, potřebujete nástroj, který v pravidelných intervalech kontroluje kanál, hledá nové položky a každou z nich odešle na vaši URL jako HTTP POST. Pravidlo Feederu Odeslat na Webhook to zvládne pro libovolný počet kanálů, včetně filtrů podle klíčových slov a opakování neúspěšného odeslání. Stejně můžete použít automatizační nástroje, jako jsou Zapier, Make, IFTTT a n8n, nebo krátký skript na vlastním serveru.
Jaké mám možnosti, pokud chci posílat RSS na webhook?
| Možnost | Vhodné pro | Co je dobré vědět |
|---|---|---|
| Pravidlo Feederu Odeslat na Webhook | Mnoho kanálů, filtry podle klíčových slov a jednotný formát JSON pro všechny kanály | Je součástí tarifu Feeder Professional. Podrobnosti najdete níže. |
| Zapier, Make, IFTTT nebo n8n | Předávání jednotlivých položek do dalších aplikací bez programování | Pole je potřeba namapovat ručně. Každý nástroj má vlastní tarify a limity. |
| Skript | Vývojáři, kteří chtějí mít vše pod kontrolou | Skript musíte sami hostovat, plánovat jeho spouštění a evidovat, co už odeslal. |
Jak funguje pravidlo Feederu Odeslat na Webhook?
Odeslat na Webhook je jednou z akcí v Pravidlech Feederu. Vytvořte pravidlo, v části Co by se mělo stát? vyberte Odeslat na Webhook, vložte URL cílového bodu a zvolte kanály, složky nebo možnost Všechny kanály, které chcete sledovat. Pokud chcete odesílat jen některé příspěvky, přidejte klíčová slova. Feeder pak začne na vaši URL posílat každý nový příspěvek, který pravidlu odpovídá.
V článku Vytvořte si vlastní integrace pomocí webhooků najdete celý postup včetně snímků obrazovky. Článek o spuštění funkce ukazuje pravidlo v praxi. Informace na této stránce vycházejí z kódu, který webhooky odesílá.
Jaká data Feeder odešle na můj webhook?
Pro každý příspěvek odešle jeden požadavek HTTP POST s tělem ve formátu JSON a následujícími hlavičkami:
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>
Toto je tělo požadavku pro příspěvek z blogu Feederu, pole content je zkrácené. Feeder ho odesílá na jednom řádku, zde je pro snazší čtení rozdělené do více řádků.
{
"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"
}
}
| Pole | Obsah |
|---|---|
version | Verze formátu: 2023-06-26. |
message_id | Jedinečné ID každé zprávy. Při opakovaném odeslání stejné zprávy zůstává stejné, takže můžete přeskočit duplicity. |
post.id | ID příspěvku ve Feederu. |
post.title | Název příspěvku. |
post.url | Odkaz na příspěvek na webu. |
post.published | Datum a čas zveřejnění příspěvku ve formátu RFC 3339, případně null. |
post.content | Obsah příspěvku ve formátu HTML, tak jak ho poskytuje kanál. Může jít o celý článek nebo jeho shrnutí. |
post.audio_url | Adresa souboru MP3 připojeného k příspěvku, například epizody podcastu, případně null. |
post.image_url | Adresa obrázku připojeného k příspěvku, případně prvního obrázku v jeho obsahu, nebo null. |
feed.id | Krátké ID kanálu ve Feederu. |
feed.source_url | Adresa kanálu. |
feed.public_url | Adresa webu, ke kterému kanál patří. |
feed.title | Název kanálu. |
feed.favicon | Adresa ikony webu. |
V poli content se znaky <, > a & odesílají jako \u003c, \u003e a \u0026. Jde o platný JSON a každý parser JSON je převede zpět na HTML.
Kdy se webhook spustí?
- Pouze pro nové příspěvky. Pravidlo zpracovává příspěvky, které Feeder najde po jeho uložení. Příspěvky, které už máte, neodešle.
- Jednou pro každý příspěvek. Každý odpovídající příspěvek se odešle v samostatném požadavku. Feeder příspěvky neslučuje. Pokud web později příspěvek upraví a Feeder změnu zachytí, odešle také upravenou verzi.
- Hned po další kontrole kanálu. V tarifu Professional Feeder standardně kontroluje kanály každých 10 minut. Interval můžete nastavit až na jednu minutu. Další informace najdete v článku Jak často Feeder kontroluje kanály.
- Pouze u odpovídajících příspěvků. Pokud nastavíte klíčová slova, odešlou se jen odpovídající příspěvky. Bez klíčových slov se odešle každý nový příspěvek. Příspěvek skrytý pravidlem Filtrovat příspěvky nebo Filtrovat duplicity se neodešle.
Co se stane, když můj cílový bod nefunguje?
Feeder čeká na odpověď až 60 sekund. Stavový kód 2xx se považuje za úspěšné doručení. Pokud cílový bod odpoví chybou, například 404 nebo 500, nebo neodpoví vůbec, Feeder požadavek zkusí odeslat znovu, a to až osmkrát:
| Pokus | Odeslání po předchozím pokusu |
|---|---|
| 2 | 5 sekund |
| 3 | 30 sekund |
| 4 | 1 minuta |
| 5 | 5 minut |
| 6 | 10 minut |
| 7 | 30 minut |
| 8 | 30 minut |
| 9 | 30 minut |
Po devátém pokusu, tedy přibližně 1 hodinu a 47 minut po prvním, Feeder daný příspěvek přestane zkoušet odeslat. Každý neúspěšný pokus se zaznamená v protokolu chyb pravidla. Otevřete pravidlo a vyberte Otevřít protokol chyb. Pokud během čekání na opakování změníte URL pravidla, další pokusy se odešlou na novou adresu. Možnost Odeslat testovací zprávu odešle jeden testovací požadavek bez opakování.
Jak by měl můj cílový bod reagovat?
- Odpovězte rychle. Nejprve vraťte stavový kód 2xx a časově náročné operace proveďte až potom. Zůstanete tak bezpečně pod limitem 60 sekund.
- Přeskakujte duplicity. Pokud server zprávu zpracuje, ale odpoví příliš pozdě, při opakování ji obdrží znovu. Uchovávejte hodnoty
message_idnebopost.id, které už jste zpracovali. - Použijte cílovou adresu. URL musí obsahovat cestu, například
https://example.com/hooks/rss, a musí směřovat na server dostupný z veřejného internetu. Feeder neodesílá požadavky na místní ani privátní síťové adresy. Vyhněte se také přesměrováním. Po přesměrování 301, 302 nebo 303 dorazí požadavek jako GET bez těla JSON. - Ověřte podpis. Na vaši URL může posílat požadavky každý, kdo ji zná. Důvěřujte proto pouze požadavkům s platným podpisem
X-Feeder-Signature. Postup ověření je popsaný níže.
Jak ověřím, že požadavek přišel z Feederu?
Feeder podepisuje každý požadavek tajným klíčem webhooku daného pravidla. Najdete ho tak, že otevřete pravidlo, zapnete Pokročilé, zkopírujete Tajný klíč webhooku a pravidlo uložíte. Hlavička X-Feeder-Signature obsahuje řetězec sha256= následovaný hodnotou HMAC-SHA256 těla požadavku zapsanou v šestnáctkové soustavě. K výpočtu se používá uvedený tajný klíč.
Pro ověření vypočítejte stejnou hodnotu HMAC z původního těla požadavku, ještě před parsováním JSON, a obě hodnoty porovnejte v konstantním čase. V Pythonu:
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 "")
Proměnná body zde obsahuje tělo požadavku v bajtech. Pokud funkce from_feeder vrátí False, požadavek odmítněte. Opakované pokusy se podepisují aktuálním tajným klíčem pravidla, takže změna klíče se vztahuje i na ně.
Může Feeder posílat na webhook souhrn?
Ne. Pravidlo Odeslat na Webhook pošle jeden požadavek pro každý příspěvek, jakmile ho Feeder najde. Pokud potřebujete souhrn, máte tři možnosti:
- Shromažďujte příspěvky na své straně. Ukládejte každý příspěvek přijatý cílovým bodem a v pravidelných intervalech odesílejte vlastní souhrn.
- Použijte souhrny e-mailem. Feeder vám může posílat denní, týdenní nebo měsíční souhrn vybraných kanálů. Tato funkce je dostupná v tarifech Plus a Professional. Další informace najdete v článku Jak dostávat upozornění na nové příspěvky.
- Publikujte kanál. V tarifu Professional můžete složku nebo kolekci publikovat jako kanál RSS nebo JSON a nechat vlastní nástroj, aby ho četl podle svého plánu. Další informace najdete v článku Jak exportovat příspěvky jako kanály RSS a JSON.
Jak posílat RSS na webhook pomocí Zapieru, Make, IFTTT nebo n8n?
Každý z těchto nástrojů propojuje spouštěč RSS s akcí HTTP. Názvy jsme ověřili na webech jednotlivých nástrojů 28. září 2026:
| Nástroj | Spouštěč | Akce | Užitečné informace |
|---|---|---|---|
| Zapier | RSS by Zapier: Nová položka v kanálu nebo Nové položky ve více kanálech | Webhooks by Zapier: POST | Webhooks by Zapier je prémiová aplikace, kterou Zapier nabízí jen ve vybraných tarifech. |
| Make | RSS: Sledovat položky RSS kanálu | HTTP: Odeslat požadavek | Modul RSS čte kanály RSS i Atom. |
| IFTTT | RSS Feed: Nová položka kanálu | Webhooks: Odeslat webový požadavek | V základním tarifu kontroluje IFTTT kanály každou hodinu, v tarifech Pro a Pro+ každých 5 minut. |
| n8n | Uzel Spouštěč RSS kanálu | Uzel HTTP Request s metodou POST | V části Intervaly dotazování si můžete nastavit, jak často se má kanál kontrolovat. |
Pokud některý z těchto nástrojů už používáte, je to nejrychlejší způsob. Můžete je také propojit s Feederem: pravidlo Odeslat na Webhook nasměrujte na spouštěč Zachytit webhook v Zapieru nebo na uzel Webhook v n8n. Feeder pak sleduje kanály a filtruje příspěvky, zatímco zbytek zpracuje váš pracovní postup.
Jak posílat RSS na webhook pomocí skriptu?
Následující skript v Pythonu odešle každý nový příspěvek z jednoho kanálu na váš webhook. Eviduje již odeslané položky v souboru seen.txt, takže každou odešle jen jednou. Při prvním spuštění odešle všechny položky, které v té chvíli v kanálu jsou.
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))
Skript vyžaduje Python 3 a balíček feedparser (pip install feedparser). Spouštějte ho podle plánu, například každých 15 minut pomocí cronu: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Pokud váš cílový bod odpoví chybou, skript se zastaví a při dalším spuštění zkusí odeslat stejnou položku znovu.
Časté dotazy
Mohu pomocí pravidla Odeslat na Webhook posílat RSS na webhook Slacku, Teams nebo Discordu?
Ne přímo. Feeder odesílá vlastní formát JSON, nikoli formát zpráv, který tyto aplikace očekávají. Použijte místo toho pravidlo Feederu Odeslat do Slacku, Odeslat do Microsoft Teams nebo Odeslat na Discord, případně mezi Feeder a cílovou aplikaci vložte Zapier, Make nebo n8n.
Který tarif Feederu zahrnuje webhooky?
Pravidlo Odeslat na Webhook je součástí tarifu Professional. Pravidla pro filtrování, označování hvězdičkou nebo ukládání příspěvků fungují také v tarifu Plus.
Obsahuje webhook celý článek?
Obsahuje to, co zveřejňuje kanál. Pole content obsahuje celý článek, pokud ho kanál poskytuje, nebo shrnutí, pokud kanál obsahuje pouze shrnutí.
Mohu cílový bod otestovat ještě před uložením pravidla?
Ano. Možnost Odeslat testovací zprávu odešle na vaši URL skutečný příspěvek z vašich kanálů. Ve svém účtu musíte mít alespoň jeden kanál s příspěvky.
Vyzkoušejte Feeder
Feeder je čtečka RSS pro web, iOS a Android. Nabízí také rozšíření pro Chrome, Firefox a Edge. Bezplatný tarif sleduje až 200 kanálů bez reklam a aktualizuje je nejčastěji každých 30 minut. Tarif Plus sleduje 2 500 kanálů, aktualizuje je nejčastěji každých 5 minut a nabízí souhrny e-mailem.
Začněte používat Feeder zdarma