Kā nosūtīt RSS plūsmas ierakstus uz webhook

Atjaunināts 2026. gada 13. oktobrī 8 min lasīšanai

Lai nosūtītu RSS datus uz webhook, ir vajadzīgs rīks, kas regulāri pārbauda plūsmu, atrod jaunus ierakstus un nosūta katru no tiem uz jūsu URL, izmantojot HTTP POST pieprasījumu. Feeder noteikums “Nosūtīt uz Webhook” to paveic neierobežotam plūsmu skaitam, un tajā ir iebūvēta atslēgvārdu filtrēšana un atkārtoti mēģinājumi. To var paveikt arī ar automatizācijas rīkiem, piemēram, Zapier, Make, IFTTT un n8n, vai ar īsu skriptu savā serverī.

Kādas ir RSS datu nosūtīšanas iespējas uz webhook?

OpcijaKam noderKas jāņem vērā
Feeder noteikums “Nosūtīt uz Webhook”Daudzām plūsmām, atslēgvārdu filtriem un vienotam JSON formātam visām plūsmāmPieejams Feeder Professional plānā. Sīkāka informācija tālāk.
Zapier, Make, IFTTT vai n8nKatra ieraksta tālākai nodošanai citām lietotnēm bez programmēšanasLauki jāsasaista pašam. Katram rīkam ir savi plāni un ierobežojumi.
SkriptsIzstrādātājiem, kuri vēlas pilnīgu kontroliSkripts jāizvieto un jāieplāno pašam, kā arī jāseko līdzi tam, kas jau ir nosūtīts.

Kā darbojas Feeder noteikums “Nosūtīt uz Webhook”?

“Nosūtīt uz Webhook” ir viena no Feeder noteikumu darbībām. Izveidojiet noteikumu, sadaļā Kas jānotiek? izvēlieties Nosūtīt uz Webhook, ielīmējiet galapunkta URL un atlasiet plūsmas, mapes vai Visas plūsmas, kurām sekot. Ja vēlaties nosūtīt tikai daļu ierakstu, pievienojiet atslēgvārdus. Turpmāk Feeder uz jūsu URL nosūtīs katru jauno ierakstu, kas atbilst nosacījumiem.

Rakstā “Izveidojiet savas integrācijas, izmantojot Webhook” ir aprakstītas visas darbības un pievienoti ekrānuzņēmumi, bet ziņā par funkcijas laišanu klajā redzams noteikums darbībā. Šajā lapā sniegtā informācija iegūta no koda, kas nosūta webhook pieprasījumus.

Kādus datus Feeder nosūta uz webhook?

Katram ierakstam tiek nosūtīts viens HTTP POST pieprasījums ar JSON pamattekstu un šīm galvenēm:

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>

Tālāk redzams Feeder emuāra ieraksta pamatteksts, kurā content lauka vērtība ir saīsināta. Feeder to nosūta vienā rindā, bet šeit tas sadalīts pārskatāmības labad.

{
  "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"
  }
}
LauksSaturs
versionFormāta versija: 2023-06-26.
message_idKatram ziņojumam ir jauns ID. Atkārtoti nosūtot to pašu ziņojumu, ID nemainās, tāpēc varat izlaist dublikātus.
post.idFeeder piešķirtais ieraksta ID.
post.titleIeraksta nosaukums.
post.urlIeraksta saite vietnē.
post.publishedIeraksta publicēšanas laiks RFC 3339 formātā vai null.
post.contentIeraksts HTML formātā, kādu to nodrošina plūsma, pilns raksts vai kopsavilkums.
post.audio_urlIerakstam pievienotā MP3 faila URL, piemēram, aplādes epizode, vai null.
post.image_urlIerakstam pievienotā attēla URL vai pirmā attēla URL tā saturā, vai null.
feed.idPlūsmas īsais ID, ko piešķir Feeder.
feed.source_urlPlūsmas adrese.
feed.public_urlVietne, kurai pieder plūsma.
feed.titlePlūsmas nosaukums.
feed.faviconVietnes ikonas adrese.

Laukā content rakstzīmes <, > un & tiek saņemtas kā \u003c, \u003e un \u0026. Tas ir derīgs JSON formāts, un jebkurš JSON parsētājs tās pārvērš atpakaļ HTML rakstzīmēs.

Kad tiek nosūtīts webhook pieprasījums?

  • Tikai par jauniem ierakstiem. Noteikums darbojas ar ierakstiem, ko Feeder atrod pēc tā saglabāšanas. Iepriekš saņemtie ieraksti netiek nosūtīti.
  • Vienreiz par katru ierakstu. Katrs atbilstošais ieraksts tiek nosūtīts atsevišķā pieprasījumā. Feeder nesagrupē vairākus ierakstus vienā pieprasījumā. Ja vietne vēlāk rediģē ierakstu un Feeder pamana izmaiņas, tiek nosūtīta arī rediģētā versija.
  • Tūlīt pēc nākamās plūsmas pārbaudes. Professional plānā Feeder pēc noklusējuma pārbauda plūsmas ik pēc 10 minūtēm, un plūsmu var iestatīt atjaunināt pat ik pēc minūtes. Skatiet rakstu Cik bieži Feeder pārbauda plūsmas.
  • Tikai par ierakstiem, kas atbilst nosacījumiem. Ja pievienoti atslēgvārdi, tiek nosūtīti tikai tiem atbilstošie ieraksti. Bez atslēgvārdiem tiek nosūtīts katrs jaunais ieraksts. Ieraksts, ko paslēpj noteikums Filtrēt ziņojumus vai Filtrēt dublikātus, netiek nosūtīts.

Kas notiek, ja mans galapunkts nedarbojas?

Feeder gaida atbildi līdz 60 sekundēm. Atbilde ar 2xx statusu nozīmē, ka dati ir piegādāti. Ja galapunkts atbild ar kļūdu, piemēram, 404 vai 500, vai vispār neatbild, Feeder mēģina nosūtīt vēl līdz 8 reizēm:

MēģinājumsCik ilgi pēc iepriekšējā mēģinājuma tiek nosūtīts
25 sekundes
330 sekundes
41 minūte
55 minūtes
610 minūtes
730 minūtes
830 minūtes
930 minūtes

Pēc devītā mēģinājuma, aptuveni 1 stundu un 47 minūtes pēc pirmā mēģinājuma, Feeder pārtrauc mēģinājumus šim ierakstam. Katrs neveiksmīgais mēģinājums tiek parādīts noteikuma kļūdu žurnālā. Atveriet noteikumu un atlasiet Atvērt kļūdu žurnālu. Ja gaidošo atkārtoto mēģinājumu laikā maināt noteikuma URL, nākamie mēģinājumi tiks sūtīti uz jauno URL. Ar Nosūtīt testa ziņojumu tiek nosūtīts viens testa ziņojums bez atkārtotiem mēģinājumiem.

Kas jādara manam galapunktam?

  • Atbildiet ātri. Vispirms atbildiet ar 2xx statusu un lēnākus darbus paveiciet pēc tam, lai atbilde tiktu sniegta krietni ātrāk par 60 sekunžu ierobežojumu.
  • Izlaidiet dublikātus. Ja serveris apstrādāja ziņojumu, bet atbildēja par vēlu, atkārtotajā mēģinājumā tas tiks nosūtīts vēlreiz. Saglabājiet jau apstrādātās vērtības message_id vai post.id.
  • Izmantojiet galīgo adresi. URL jāietver ceļš, piemēram, https://example.com/hooks/rss, un tam jānorāda uz serveri publiskajā internetā. Feeder nesūta pieprasījumus uz lokālām vai privāta tīkla adresēm. Neizmantojiet arī novirzīšanu, jo pēc 301, 302 vai 303 novirzīšanas pieprasījums pienāk kā GET bez JSON pamatteksta.
  • Pārbaudiet parakstu. Ikviens, kurš zina jūsu URL, var sūtīt uz to pieprasījumus, tāpēc uzticieties tikai pieprasījumiem ar derīgu X-Feeder-Signature. Nākamajā sadaļā parādīts, kā to pārbaudīt.

Kā pārbaudīt, vai pieprasījums ir saņemts no Feeder?

Feeder paraksta katru pieprasījumu ar noteikuma webhook slepeno atslēgu. Lai to atrastu, atveriet noteikumu, ieslēdziet Paplašināti, nokopējiet Webhook slepenā atslēga un saglabājiet noteikumu. Galvenē X-Feeder-Signature ir sha256=, kam seko pieprasījuma pamatteksta HMAC-SHA256 heksadecimālā formā, kas izveidots, izmantojot šo slepeno atslēgu.

Lai to pārbaudītu, aprēķiniet to pašu HMAC no neapstrādātā pamatteksta, pirms parsējat JSON, un salīdziniet abas vērtības, izmantojot nemainīgu izpildes laiku. Python valodā:

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 "")

Šeit body ir pieprasījuma pamatteksts baitu formā. Noraidiet pieprasījumu, ja from_feeder atgriež False. Atkārtotos mēģinājumus paraksta ar noteikuma pašreizējo slepeno atslēgu, tāpēc tās maiņa attiecas arī uz šiem mēģinājumiem.

Vai Feeder var nosūtīt apkopojumu uz webhook?

Nē. “Nosūtīt uz Webhook” sūta vienu pieprasījumu par katru ierakstu, tiklīdz Feeder to atrod. Apkopojumam ir trīs iespējas:

  • Apkopojiet datus savā pusē. Saglabājiet katru ierakstu, ko saņem jūsu galapunkts, un pēc grafika nosūtiet paša veidotu apkopojumu.
  • Izmantojiet e-pasta apkopojumus. Feeder Plus un Professional plānos var nosūtīt ikdienas, iknedēļas vai ikmēneša apkopojumu pa e-pastu par jūsu atlasītajām plūsmām. Skatiet rakstu Saņemiet paziņojumus par jauniem ierakstiem.
  • Publicējiet plūsmu. Professional plānā publicējiet mapi vai kolekciju kā RSS vai JSON plūsmu un ļaujiet savam rīkam to nolasīt pēc grafika. Skatiet rakstu Kā eksportēt ierakstus kā RSS un JSON plūsmas.

Kā nosūtīt RSS datus uz webhook, izmantojot Zapier, Make, IFTTT vai n8n?

Katrs no šiem rīkiem apvieno RSS aktivizētāju ar HTTP darbību. Šo nosaukumu esam pārbaudījuši attiecīgo rīku vietnēs 2026. gada 28. septembrī:

RīksAktivizētājsDarbībaNoderīgi zināt
ZapierRSS by Zapier: New Item in Feed vai New Items in Multiple FeedsWebhooks by Zapier: POSTWebhooks by Zapier ir premium lietotne, kas Zapier pieejama tikai maksas plānos.
MakeRSS: Watch RSS Feed ItemsHTTP: Make a requestRSS modulis nolasa RSS un Atom plūsmas.
IFTTTRSS Feed: New feed itemWebhooks: Make a web requestIFTTT bezmaksas plānā pārbauda plūsmas reizi stundā, bet Pro un Pro+ plānos ik pēc 5 minūtēm.
n8nRSS Feed Trigger mezglsHTTP Request mezgls ar POST metodiSadaļā Poll Times varat izvēlēties, cik bieži pārbaudīt plūsmu.

Ja jau lietojat kādu no šiem rīkiem, tas ir ātrākais risinājums. Tos var izmantot arī kopā ar Feeder: Feeder noteikumā “Nosūtīt uz Webhook” norādiet Zapier aktivizētāju Catch Hook vai n8n mezglu Webhook. Tad Feeder uzrauga plūsmas un filtrē ierakstus, bet jūsu darbplūsma paveic pārējo.

Kā nosūtīt RSS datus uz webhook, izmantojot skriptu?

Šis Python skripts nosūta katru jauno ierakstu no vienas plūsmas uz jūsu webhook. Skripts saglabā nosūtīto ierakstu sarakstu failā seen.txt, tāpēc katrs ieraksts tiek nosūtīts vienreiz. Pirmajā palaišanas reizē tiek nosūtīti visi ieraksti, kas tajā brīdī ir plūsmā.

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))

Skriptam vajadzīgs Python 3 un feedparser pakotne (pip install feedparser). Ieplānojiet tā palaišanu, piemēram, ik pēc 15 minūtēm, izmantojot cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Ja galapunkts atbild ar kļūdu, skripts apstājas un nākamajā palaišanas reizē mēģina nosūtīt to pašu ierakstu vēlreiz.

Biežāk uzdotie jautājumi

Vai ar noteikumu “Nosūtīt uz Webhook” var nosūtīt RSS datus uz Slack, Teams vai Discord webhook?

Ne tieši. Feeder sūta savu JSON formātu, nevis šo lietotņu gaidīto ziņojuma formātu. Tā vietā izmantojiet Feeder noteikumus Nosūtīt uz Slack, Nosūtīt uz Microsoft Teams vai Publicēt Discord, vai arī izmantojiet Zapier, Make vai n8n kā starpnieku.

Kurā Feeder plānā ir pieejami webhook?

“Nosūtīt uz Webhook” ir iekļauts Professional plānā. Noteikumi, kas filtrē, atzīmē ar zvaigznīti vai apkopo ierakstus, darbojas arī Plus plānā.

Vai webhook pieprasījumā ir iekļauts pilns raksts?

Tajā ir tas, ko publicē plūsma. Ja plūsmā ir pilns raksts, lauks content satur to; ja plūsmā ir tikai kopsavilkums, laukā ir kopsavilkums.

Vai varu pārbaudīt galapunktu, pirms saglabāju noteikumu?

Jā. Ar Nosūtīt testa ziņojumu uz jūsu URL tiek nosūtīts viens īsts ieraksts no jūsu plūsmām. Jūsu kontā jābūt vismaz vienai plūsmai ar ierakstiem.

Izmēģiniet Feeder

Feeder ir RSS lasītājs tīmeklim, iOS un Android ierīcēm, kā arī pārlūku Chrome, Firefox un Edge paplašinājumi. Bezmaksas plānā bez reklāmām var sekot līdz 200 plūsmām, un tās tiek atjauninātas ne retāk kā reizi 30 minūtēs. Plus plānā var sekot 2500 plūsmām, tās tiek atjauninātas ne retāk kā reizi 5 minūtēs, un ir pieejami e-pasta apkopojumi.

Sāciet lietot Feeder bez maksas

Lasiet tālāk

Vai joprojām nepieciešama palīdzība?

Mūsu atbalsta komanda izlasa katru ziņu. Pastāsti mums, kas noticis, un mēs tev palīdzēsim.

Sazinies ar atbalstu