За да изпращате RSS към webhook, ви трябва нещо, което проверява емисията по график, открива новите публикации и изпраща всяка от тях към вашия URL адрес с HTTP POST заявка. Правилото „Публикувай в Webhook“ на Feeder прави това с неограничен брой емисии, с вградени филтри по ключови думи и повторни опити. Можете да използвате и инструменти за автоматизация като Zapier, Make, IFTTT и n8n, както и кратък скрипт на собствен сървър.
Какви са възможностите за изпращане на RSS към webhook?
| Възможност | Подходяща за | Какво трябва да знаете |
|---|---|---|
| Правилото „Публикувай в Webhook“ на Feeder | Много емисии, филтри по ключови думи и един формат JSON за всички емисии | Част е от Feeder Professional. Подробностите са по-долу. |
| Zapier, Make, IFTTT или n8n | Прехвърляне на всяка публикация към други приложения без код | Трябва сами да свържете полетата. Всеки инструмент има собствени планове и ограничения. |
| Скрипт | Разработчици, които искат пълен контрол | Вие го хоствате, планирате изпълнението му и следите какво вече е изпратил. |
Как работи правилото „Публикувай в Webhook“ на Feeder?
„Публикувай в Webhook“ е едно от действията в „Правила“ на Feeder. Създайте правило, изберете Публикувай в Webhook под Какво трябва да се случи?, поставете URL адреса на крайната точка и изберете емисиите, папките или Всички емисии, които да се следят. Добавете ключови думи, ако искате да получавате само определени публикации. От този момент нататък Feeder изпраща към вашия URL адрес всяка нова публикация, която отговаря на условията.
В статията Създайте собствени интеграции с Webhooks ще намерите всички стъпки със снимки на екрана, а публикацията за представянето показва правилото в действие. Информацията на тази страница е взета от кода, който изпраща webhook заявките.
Какво изпраща 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 | 1 минута |
| 5 | 5 минути |
| 6 | 10 минути |
| 7 | 30 минути |
| 8 | 30 минути |
| 9 | 30 минути |
След деветия опит, около 1 час и 47 минути след първия, Feeder прекратява опитите за тази публикация. Всеки неуспешен опит се показва в дневника за грешки на правилото: отворете правилото и изберете Отвори дневника за грешки. Ако промените URL адреса на правилото, докато има чакащи повторни опити, следващите опити ще бъдат изпратени към новия адрес. Изпрати тестово съобщение изпраща един тест без повторни опити.
Какво трябва да прави крайната ми точка?
- Отговаряйте бързо. Първо върнете статус от диапазона 2xx, а бавната обработка извършете след това, за да не надвишите ограничението от 60 секунди.
- Пропускайте дубликатите. Ако сървърът ви обработи съобщение, но отговори твърде късно, то ще пристигне отново при повторния опит. Запазвайте стойностите на
message_idилиpost.id, които вече сте получили. - Използвайте крайния адрес. URL адресът трябва да включва път, например
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 я открие. За обобщение имате три възможности:
- Групирайте публикациите при вас. Съхранявайте всяка публикация, получена от крайната ви точка, и изпращайте собствено обобщение по график.
- Използвайте обобщения по имейл. Feeder може да ви изпраща ежедневно, седмично или месечно обобщение на избраните от вас емисии в плановете Plus и Professional. Вижте Получавайте известия за нови публикации.
- Публикувайте емисия. В плана 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 Trigger | Възел 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. Ако крайната ви точка отговори с грешка, скриптът спира и при следващото изпълнение опитва отново да изпрати същата публикация.
Често задавани въпроси
Мога ли с „Публикувай в Webhook“ да изпращам RSS към webhook на Slack, Teams или Discord?
Не директно. Feeder изпраща собствен формат JSON, а не формата на съобщенията, който очакват тези приложения. Използвайте вместо това правилата на Feeder Публикувай в Slack, Публикувайте в Microsoft Teams или Публикувай в Discord, или свържете ги с Zapier, Make или n8n.
Кой план на Feeder включва webhook?
„Публикувай в Webhook“ е част от Professional. Правилата за филтриране, отбелязване със звезда или събиране на публикации работят и в Plus.
Съдържа ли webhook цялата статия?
Съдържа онова, което публикува емисията. Полето content включва цялата статия, ако емисията я предоставя, и резюме, ако съдържа само резюме.
Мога ли да тествам крайната си точка, преди да запазя правилото?
Да. Изпрати тестово съобщение изпраща една реална публикация от емисиите ви към URL адреса. В профила ви трябва да има поне една емисия с публикации.
Опитайте Feeder
Feeder е RSS четец за уеб, iOS и Android, с разширения за Chrome, Firefox и Edge. Безплатният план следи до 200 емисии без реклами, а емисиите се обновяват най-често на всеки 30 минути. Plus следи 2500 емисии, обновява ги най-често на всеки 5 минути и включва обобщения по имейл.
Започнете да използвате Feeder безплатно