RSS içeriklerini webhook'a göndermek için akışı belirli aralıklarla kontrol eden, yeni içerikleri bulan ve her birini HTTP POST isteğiyle URL'nize ileten bir araca ihtiyacınız var. Feeder'ın Webhook'a gönder kuralı, anahtar kelime filtreleri ve yerleşik yeniden deneme özelliğiyle istediğiniz sayıda akışta bunu yapar. Zapier, Make, IFTTT ve n8n gibi otomasyon araçlarıyla veya kendi sunucunuzda çalışan kısa bir komut dosyasıyla da aynı işi yapabilirsiniz.
RSS'i webhook'a göndermek için hangi seçeneklerim var?
| Seçenek | Uygun olduğu durumlar | Bilmeniz gerekenler |
|---|---|---|
| Feeder'ın Webhook'a gönder kuralı | Birden çok akış, anahtar kelime filtreleri ve tüm akışlar için tek JSON biçimi | Feeder Professional'ın bir parçasıdır. Ayrıntılar aşağıda. |
| Zapier, Make, IFTTT veya n8n | Her içeriği kod yazmadan başka uygulamalara aktarma | Alanları kendiniz eşleştirirsiniz. Her aracın kendi planları ve sınırları vardır. |
| Komut dosyası | Tam denetim isteyen geliştiriciler | Komut dosyasını barındırmanız, zamanlamanız ve daha önce neleri gönderdiğini takip etmeniz gerekir. |
Feeder'ın Webhook'a gönder kuralı nasıl çalışır?
Webhook'a gönder, Feeder'ın Kurallar bölümündeki işlemlerden biridir. Bir kural oluşturun, Ne olmalı? altında Webhook'a gönder seçeneğini belirleyin, uç noktanızın URL'sini yapıştırın ve izlenecek akışları, klasörleri ya da Tüm beslemeler seçeneğini belirleyin. Yalnızca belirli gönderileri istiyorsanız anahtar kelimeler ekleyin. Bundan sonra Feeder, eşleşen her yeni gönderiyi URL'nize iletir.
Web kancalarıyla kendi entegrasyonlarınızı oluşturma sayfasında ekran görüntüleriyle adım adım açıklamalar yer alır. duyuru yazısında ise kuralın nasıl çalıştığı gösterilir. Bu sayfadaki teknik bilgiler, webhook'ları gönderen koddan alınmıştır.
Feeder webhook'uma ne gönderir?
Her gönderi için JSON gövdeli bir HTTP POST isteği ve şu başlıklar gönderilir:
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>
Aşağıdaki örnek, content alanı kısaltılmış Feeder blog gönderisinin gövdesidir. Feeder bunu tek satırda gönderir. Okumayı kolaylaştırmak için burada satırlara bölünmüştür.
{
"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"
}
}
| Alan | İçeriği |
|---|---|
version | Biçim sürümü: 2023-06-26. |
message_id | Her ileti için yeni bir kimlik. Aynı ileti yeniden denendiğinde bu kimlik değişmez, böylece yinelenen iletileri atlayabilirsiniz. |
post.id | Gönderinin Feeder kimliği. |
post.title | Gönderinin başlığı. |
post.url | Gönderinin web sitesindeki bağlantısı. |
post.published | Gönderinin yayımlandığı tarih ve saat, RFC 3339 zaman damgası biçiminde veya null. |
post.content | Akışın sağladığı biçimde HTML olarak gönderi: makalenin tamamı veya özeti. |
post.audio_url | Podcast bölümü gibi gönderiye eklenmiş MP3 dosyası veya null. |
post.image_url | Gönderiye eklenmiş görsel, yoksa içeriğindeki ilk görsel veya null. |
feed.id | Akışın Feeder tarafından verilen kısa kimliği. |
feed.source_url | Akışın adresi. |
feed.public_url | Akışın bağlı olduğu web sitesi. |
feed.title | Akışın başlığı. |
feed.favicon | Sitenin simgesinin adresi. |
content alanında <, > ve & karakterleri sırasıyla \u003c, \u003e ve \u0026 olarak gelir. Bu geçerli JSON'dur ve herhangi bir JSON ayrıştırıcısı bunları HTML'e geri dönüştürür.
Webhook ne zaman tetiklenir?
- Yalnızca yeni gönderiler için. Kural, kaydettikten sonra Feeder'ın bulduğu gönderilerde çalışır. Hesabınızda zaten bulunan gönderileri iletmez.
- Her gönderi için bir kez. Eşleşen her gönderi ayrı bir istek oluşturur. Feeder gönderileri bir araya toplamaz. Site bir gönderiyi sonradan düzenler ve Feeder bu değişikliği alırsa düzenlenmiş sürüm de gönderilir.
- Akışın bir sonraki kontrolünden hemen sonra. Professional'da Feeder, akışları varsayılan olarak her 10 dakikada bir kontrol eder. Bir akışın güncellenme sıklığını dakikada bire kadar ayarlayabilirsiniz. Ayrıntılar için Feeder akışlarınızı ne sıklıkta kontrol eder? sayfasına bakın.
- Yalnızca eşleşen gönderiler için. Anahtar kelimeler kullanırsanız yalnızca eşleşen gönderiler iletilir. Anahtar kelime kullanmazsanız her yeni gönderi iletilir. Gönderileri filtrele veya Çiftleri filtrele kuralının gizlediği bir gönderi iletilmez.
Uç noktam çalışmıyorsa ne olur?
Feeder yanıt için 60 saniyeye kadar bekler. 2xx durum kodu, isteğin teslim edildiği anlamına gelir. Uç noktanız 404 veya 500 gibi bir hata döndürürse ya da hiç yanıt vermezse Feeder en fazla 8 kez daha dener:
| Deneme | Bir önceki denemeden sonra gönderilme süresi |
|---|---|
| 2 | 5 saniye |
| 3 | 30 saniye |
| 4 | 1 dakika |
| 5 | 5 dakika |
| 6 | 10 dakika |
| 7 | 30 dakika |
| 8 | 30 dakika |
| 9 | 30 dakika |
Dokuzuncu denemeden, yani ilk denemeden yaklaşık 1 saat 47 dakika sonra Feeder o gönderi için denemeyi bırakır. Başarısız her deneme kuralın hata günlüğünde görünür. Kuralı açıp Hata günlüğünü aç seçeneğini belirleyin. Yeniden denemeler beklerken kuralın URL'sini değiştirirseniz sonraki denemeler yeni URL'ye gönderilir. Test mesajı gönder seçeneği, yeniden deneme yapmadan tek bir test isteği gönderir.
Uç noktam ne yapmalı?
- Hızlı yanıt verin. Önce 2xx durum koduyla yanıt verin, yavaş işlemleri daha sonra yapın. Böylece 60 saniyelik süre sınırının oldukça içinde kalırsınız.
- Yinelenenleri atlayın. Sunucunuz iletiyi işlediği halde geç yanıt verdiyse yeniden deneme aynı iletiyi tekrar getirir. Daha önce gördüğünüz
message_idveyapost.iddeğerlerini saklayın. - Son adresi kullanın. URL'de
https://example.com/hooks/rssgibi bir yol bulunmalı ve adres herkese açık internet üzerindeki bir sunucuya yönlendirmelidir. Feeder, yerel veya özel ağ adreslerine gönderi yapmaz. Yönlendirmelerden de kaçının. 301, 302 veya 303 yönlendirmesinden sonra istek, JSON gövdesi olmadan GET isteği olarak ulaşır. - İmzayı doğrulayın. URL'nizi bilen herkes bu adrese istek gönderebilir. Bu nedenle yalnızca geçerli bir
X-Feeder-Signatureiçeren isteklere güvenin. Nasıl doğrulayacağınız sonraki bölümde açıklanıyor.
Bir isteğin Feeder'dan geldiğini nasıl doğrularım?
Feeder her isteği kuralınızın webhook gizli anahtarıyla imzalar. Anahtarı bulmak için kuralı açın, Gelişmiş seçeneğini etkinleştirin, Webhook Gizli Anahtarı değerini kopyalayın ve kuralı kaydedin. X-Feeder-Signature başlığında sha256= ifadesi ve ardından bu gizli anahtarla oluşturulmuş, istek gövdesinin onaltılık biçimdeki HMAC-SHA256 değeri bulunur.
Doğrulamak için JSON'u ayrıştırmadan önce ham gövde üzerinde aynı HMAC'i hesaplayın ve iki değeri zamanlama saldırılarına karşı güvenli biçimde karşılaştırın. Python'da:
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 "")
Burada body, bayt türündeki istek gövdesidir. from_feeder işlevi False döndürürse isteği reddedin. Yeniden denemeler kuralın o anki gizli anahtarıyla imzalanır. Dolayısıyla gizli anahtarı değiştirmeniz, bekleyen yeniden denemeler için de geçerli olur.
Feeder webhook'a özet gönderebilir mi?
Hayır. Webhook'a gönder, Feeder içeriği bulur bulmaz her gönderi için ayrı bir istek gönderir. Özet almak için üç seçeneğiniz var:
- İçeriği kendi tarafınızda toplu işleyin. Uç noktanızın aldığı her gönderiyi saklayın ve belirlediğiniz zamanlarda kendi özetinizi gönderin.
- E-posta özetlerini kullanın. Feeder, Plus ve Professional planlarında seçtiğiniz akışların günlük, haftalık veya aylık özetini e-postayla gönderebilir. Ayrıntılar için Yeni gönderiler için bildirim alma sayfasına bakın.
- Bir akış yayımlayın. Professional'da bir klasörü veya koleksiyonu RSS ya da JSON akışı olarak yayımlayıp kendi aracınızın bu akışı belirlediğiniz zamanlarda okumasını sağlayabilirsiniz. Ayrıntılar için Gönderilerinizi RSS ve JSON akışları olarak dışa aktarma sayfasına bakın.
Zapier, Make, IFTTT veya n8n ile RSS'i webhook'a nasıl gönderirim?
Her araçta bir RSS tetikleyicisiyle bir HTTP işlemini eşleştirmeniz gerekir. Bu adları 28 Eylül 2026 tarihinde her aracın kendi sitesinden doğruladık:
| Araç | Tetikleyici | İşlem | Bilmeniz gerekenler |
|---|---|---|---|
| Zapier | RSS by Zapier: Akışta yeni içerik veya Birden çok akışta yeni içerikler | Webhooks by Zapier: POST | Webhooks by Zapier ücretli bir uygulamadır ve Zapier bu uygulamayı yalnızca ücretli planlarına dahil eder. |
| Make | RSS: RSS akışı içeriklerini izle | HTTP: İstek gönder | RSS modülü, RSS ve Atom akışlarını okur. |
| IFTTT | RSS Feed: Yeni akış içeriği | Webhooks: Web isteği gönder | IFTTT, ücretsiz planında akışları saatte bir, Pro ve Pro+ planlarında ise her 5 dakikada bir kontrol eder. |
| n8n | RSS Akışı Tetikleyicisi düğümü | POST yöntemiyle HTTP İsteği düğümü | Akışın ne sıklıkta kontrol edileceğini Anket zamanları bölümünden seçebilirsiniz. |
Bu araçlardan birini zaten kullanıyorsanız en hızlı seçenek bunlardan yararlanmaktır. Bunları Feeder'la birlikte de kullanabilirsiniz. Webhook'a gönder kuralını Zapier'deki Hook yakala tetikleyicisine veya n8n'deki Webhook düğümüne yönlendirin. Böylece Feeder akışları izleyip gönderileri filtreler, iş akışınız ise sonraki adımları yürütür.
Komut dosyasıyla RSS'i webhook'a nasıl gönderirim?
Bu Python komut dosyası, tek bir akıştaki her yeni içeriği webhook'unuza gönderir. Gönderdiği öğeleri seen.txt dosyasında hatırladığı için her öğeyi yalnızca bir kez gönderir. İlk çalıştırmada o anda akışta bulunan tüm öğeleri gönderir.
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 ve feedparser paketini (pip install feedparser) gerektirir. Komut dosyasını zamanlanmış olarak çalıştırın. Örneğin cron ile her 15 dakikada bir çalıştırmak için: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Uç noktanız hata döndürürse komut dosyası durur ve sonraki çalıştırmada aynı öğeyi yeniden dener.
Sık sorulan sorular
Webhook'a gönder kuralıyla RSS'i Slack, Teams veya Discord webhook'una gönderebilir miyim?
Doğrudan gönderemezsiniz. Feeder, bu uygulamaların beklediği ileti biçimini değil, kendi JSON biçimini gönderir. Bunun yerine Feeder'ın Slack'e Gönder, Microsoft Teams'e gönder veya Discord'a içerik gönder kurallarını kullanın ya da araya Zapier, Make veya n8n ekleyin.
Webhook'lar hangi Feeder planında yer alıyor?
Webhook'a gönder, Professional planının bir parçasıdır. Gönderileri filtreleyen, yıldız ekleyen veya koleksiyona alan kurallar Plus'ta da kullanılabilir.
Webhook makalenin tamamını içerir mi?
Akışın yayımladığı içeriği içerir. Akış makalenin tamamını sunuyorsa content alanında makalenin tamamı, yalnızca özet sunuyorsa özet bulunur.
Kuralı kaydetmeden önce uç noktamı test edebilir miyim?
Evet. Test mesajı gönder, akışlarınızdaki gerçek bir gönderiyi URL'nize gönderir. Hesabınızda gönderileri olan en az bir akış bulunmalıdır.
Feeder'ı deneyin
Feeder; web, iOS ve Android için, Chrome, Firefox ve Edge uzantıları bulunan bir RSS okuyucusudur. Ücretsiz plan, reklam göstermeden en fazla 200 akışı takip eder ve akışlar en sık 30 dakikada bir güncellenir. Plus, 2.500 akışı takip eder, bunları en sık 5 dakikada bir günceller ve e-posta özetleri sunar.
Feeder'ı ücretsiz kullanmaya başlayın