Untuk mengirim RSS ke webhook, Anda memerlukan sesuatu yang memeriksa feed secara berkala, mendeteksi postingan baru, lalu mengirim masing-masing postingan ke URL Anda melalui HTTP POST. Aturan Kirim ke Webhook Feeder melakukan hal ini untuk berapa pun jumlah feed, dengan filter kata kunci dan percobaan ulang. Anda juga bisa menggunakan alat otomatisasi seperti Zapier, Make, IFTTT, dan n8n, atau skrip singkat di server sendiri.
Pilihan apa saja untuk mengirim RSS ke webhook?
| Pilihan | Cocok untuk | Yang perlu diketahui |
|---|---|---|
| Aturan Kirim ke Webhook Feeder | Banyak feed, filter kata kunci, dan satu format JSON untuk semua feed | Termasuk dalam Feeder Professional. Detailnya dijelaskan di bawah. |
| Zapier, Make, IFTTT, atau n8n | Meneruskan setiap postingan ke aplikasi lain tanpa kode | Anda memetakan sendiri kolom-kolomnya. Setiap alat memiliki paket dan batasannya sendiri. |
| Skrip | Developer yang menginginkan kendali penuh | Anda yang meng-host, menjadwalkan, dan melacak apa saja yang sudah dikirim. |
Bagaimana cara kerja aturan Kirim ke Webhook Feeder?
Kirim ke Webhook adalah salah satu tindakan di bagian Aturan Feeder. Buat aturan, pilih Kirim ke Webhook di bagian Apa yang harus terjadi?, tempel URL endpoint, lalu pilih feed, folder, atau Semua saluran yang ingin dipantau. Tambahkan kata kunci jika Anda hanya ingin menerima postingan tertentu. Setelah itu, Feeder akan mengirim setiap postingan baru yang cocok ke URL Anda.
Buat integrasi sendiri menggunakan Webhook berisi langkah-langkah lengkap dengan tangkapan layar, sementara artikel peluncuran menunjukkan cara kerja aturan ini. Informasi di halaman ini berasal dari kode yang mengirim webhook.
Apa yang dikirim Feeder ke webhook saya?
Satu permintaan HTTP POST untuk setiap postingan, dengan isi berformat JSON dan header berikut:
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>
Berikut isi permintaan untuk sebuah postingan dari blog Feeder, dengan content yang dipersingkat. Feeder mengirimnya dalam satu baris, tetapi di sini ditata beberapa baris agar lebih mudah dibaca.
{
"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"
}
}
| Kolom | Isinya |
|---|---|
version | Versi format: 2023-06-26. |
message_id | ID baru untuk setiap pesan. ID ini tetap sama saat pesan yang sama dicoba ulang, sehingga Anda bisa melewati duplikat. |
post.id | ID postingan di Feeder. |
post.title | Judul postingan. |
post.url | Tautan ke postingan di situs web. |
post.published | Waktu publikasi postingan dalam format timestamp RFC 3339, atau null. |
post.content | Konten postingan dalam format HTML, sesuai isi feed, yaitu artikel lengkap atau ringkasan. |
post.audio_url | Alamat MP3 yang dilampirkan pada postingan, misalnya episode podcast, atau null. |
post.image_url | Alamat gambar yang dilampirkan pada postingan, atau gambar pertama di dalam kontennya, atau null. |
feed.id | ID singkat feed di Feeder. |
feed.source_url | Alamat feed. |
feed.public_url | Situs web tempat feed berasal. |
feed.title | Judul feed. |
feed.favicon | Alamat ikon situs. |
Di dalam content, karakter <, >, dan & dikirim sebagai \u003c, \u003e, dan \u0026. Ini adalah JSON yang valid, dan parser JSON mana pun akan mengubahnya kembali menjadi HTML.
Kapan webhook akan dijalankan?
- Hanya untuk postingan baru. Aturan berlaku untuk postingan yang ditemukan Feeder setelah Anda menyimpannya. Postingan yang sudah ada tidak akan dikirim.
- Satu kali untuk setiap postingan. Setiap postingan yang cocok dikirim dalam permintaan tersendiri. Feeder tidak menggabungkan beberapa postingan. Jika situs mengedit postingan dan Feeder mendeteksi perubahannya, versi yang sudah diedit juga akan dikirim.
- Segera setelah feed diperiksa berikutnya. Di Professional, Feeder memeriksa feed setiap 10 menit secara default. Anda dapat mengatur feed agar diperbarui sesering satu menit sekali. Lihat Seberapa sering Feeder memeriksa feed Anda.
- Hanya untuk postingan yang cocok. Jika menggunakan kata kunci, hanya postingan yang cocok yang akan dikirim. Tanpa kata kunci, semua postingan baru akan dikirim. Postingan yang disembunyikan oleh aturan Filter postingan atau Filter duplikat tidak akan dikirim.
Apa yang terjadi jika endpoint saya tidak aktif?
Feeder menunggu jawaban hingga 60 detik. Status 2xx dianggap berhasil dikirim. Jika endpoint membalas dengan error, seperti 404 atau 500, atau tidak membalas sama sekali, Feeder akan mencoba lagi hingga 8 kali:
| Percobaan | Jeda sejak percobaan sebelumnya |
|---|---|
| 2 | 5 detik |
| 3 | 30 detik |
| 4 | 1 menit |
| 5 | 5 menit |
| 6 | 10 menit |
| 7 | 30 menit |
| 8 | 30 menit |
| 9 | 30 menit |
Setelah percobaan kesembilan, sekitar 1 jam 47 menit setelah percobaan pertama, Feeder berhenti mencoba mengirim postingan tersebut. Setiap percobaan yang gagal akan muncul di log error aturan. Buka aturan, lalu pilih Buka log error. Jika Anda mengubah URL aturan saat percobaan ulang masih menunggu, percobaan berikutnya akan dikirim ke URL baru. Kirim pesan tes mengirim satu tes tanpa percobaan ulang.
Apa yang harus dilakukan endpoint saya?
- Berikan respons dengan cepat. Balas lebih dulu dengan status 2xx, lalu lakukan pekerjaan yang memerlukan waktu lebih lama agar tetap jauh di bawah batas 60 detik.
- Lewati duplikat. Jika server Anda memproses pesan tetapi terlambat membalas, pesan akan dikirim lagi saat percobaan ulang. Simpan nilai
message_idataupost.idyang pernah diterima. - Gunakan alamat tujuan akhir. URL harus memiliki path, misalnya
https://example.com/hooks/rss, dan mengarah ke server di internet publik. Feeder tidak akan mengirim ke alamat jaringan lokal atau privat. Hindari pengalihan juga. Setelah pengalihan 301, 302, atau 303, permintaan akan tiba sebagai GET tanpa isi JSON. - Periksa tanda tangan. Siapa pun yang mengetahui URL Anda bisa mengirim permintaan ke sana, jadi percayai hanya permintaan dengan
X-Feeder-Signatureyang valid. Bagian berikutnya menjelaskan caranya.
Bagaimana cara memeriksa apakah permintaan berasal dari Feeder?
Feeder menandatangani setiap permintaan menggunakan rahasia webhook milik aturan Anda. Untuk menemukannya, buka aturan, aktifkan Lanjutan, salin Rahasia Webhook, lalu simpan aturan. Header X-Feeder-Signature berisi sha256= diikuti HMAC-SHA256 dari isi permintaan dalam format heksadesimal, yang dibuat menggunakan rahasia tersebut.
Untuk memeriksanya, hitung HMAC yang sama atas isi mentah sebelum Anda mengurai JSON, lalu bandingkan keduanya dengan perbandingan waktu konstan. Dalam 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 "")
Dalam contoh ini, body adalah isi permintaan dalam bentuk byte. Tolak permintaan jika from_feeder menghasilkan False. Percobaan ulang ditandatangani dengan rahasia aturan yang sedang berlaku, jadi perubahan rahasia juga berlaku untuk percobaan ulang.
Bisakah Feeder mengirim ringkasan ke webhook?
Tidak. Kirim ke Webhook mengirim satu permintaan untuk setiap postingan, segera setelah Feeder menemukannya. Untuk membuat ringkasan, ada tiga cara:
- Kelompokkan di sisi Anda. Simpan setiap postingan yang diterima endpoint, lalu kirim ringkasan sendiri sesuai jadwal.
- Gunakan ringkasan email. Feeder dapat mengirim ringkasan harian, mingguan, atau bulanan melalui email untuk feed yang Anda pilih, di Plus dan Professional. Lihat Dapatkan notifikasi untuk postingan baru.
- Publikasikan feed. Di Professional, publikasikan folder atau koleksi sebagai feed RSS atau JSON, lalu biarkan alat Anda sendiri membacanya sesuai jadwal. Lihat Cara mengekspor postingan sebagai feed RSS dan JSON.
Bagaimana cara mengirim RSS ke webhook dengan Zapier, Make, IFTTT, atau n8n?
Setiap alat memasangkan pemicu RSS dengan tindakan HTTP. Nama-nama berikut diperiksa di situs masing-masing alat pada 28 September 2026:
| Alat | Pemicu | Tindakan | Yang perlu diketahui |
|---|---|---|---|
| Zapier | RSS by Zapier: Item baru di feed, atau Item baru di beberapa feed | Webhooks by Zapier: POST | Webhooks by Zapier adalah aplikasi premium. |
| Make | RSS: Pantau item RSS Feed | HTTP: Buat permintaan | Modul RSS membaca feed RSS dan Atom. |
| IFTTT | RSS Feed: Item feed baru | Webhooks: Buat permintaan web | Di paket gratisnya, IFTTT memeriksa feed setiap jam, sementara di Pro dan Pro+ pemeriksaan dilakukan setiap 5 menit. |
| n8n | Node Pemicu RSS Feed | Node HTTP Request dengan metode POST | Anda dapat memilih frekuensi pemeriksaan feed di bagian Jadwal polling. |
Alat-alat ini adalah cara tercepat jika Anda sudah menggunakannya. Anda juga bisa menggabungkannya dengan Feeder: arahkan aturan Kirim ke Webhook ke pemicu Terima Hook di Zapier atau node Webhook di n8n. Feeder akan memantau feed dan memfilter postingan, lalu alur kerja Anda akan melanjutkan prosesnya.
Bagaimana cara mengirim RSS ke webhook dengan skrip?
Skrip Python ini mengirim setiap item baru dalam satu feed ke webhook Anda. Skrip mengingat item yang sudah dikirim di seen.txt, jadi setiap item hanya dikirim satu kali. Saat pertama kali dijalankan, skrip mengirim semua item yang ada di feed saat itu.
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))
Skrip ini memerlukan Python 3 dan paket feedparser (pip install feedparser). Jalankan sesuai jadwal, misalnya setiap 15 menit dengan cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Jika endpoint membalas dengan error, skrip akan berhenti dan saat dijalankan berikutnya akan mencoba mengirim item yang sama lagi.
Pertanyaan umum
Bisakah saya mengirim RSS ke webhook Slack, Teams, atau Discord dengan Kirim ke Webhook?
Tidak secara langsung. Feeder mengirim format JSON-nya sendiri, bukan format pesan yang diharapkan aplikasi tersebut. Gunakan aturan Feeder Kirim ke Slack, Kirim ke Microsoft Teams, atau Posting ke Discord, atau gunakan Zapier, Make, atau n8n sebagai perantara.
Paket Feeder mana yang menyertakan webhook?
Kirim ke Webhook termasuk dalam Professional. Aturan untuk memfilter, memberi bintang, atau mengumpulkan postingan juga tersedia di Plus.
Apakah webhook menyertakan artikel lengkap?
Webhook menyertakan konten yang diterbitkan feed. content berisi artikel lengkap jika feed memuatnya, dan berisi ringkasan jika feed hanya memuat ringkasan.
Bisakah saya menguji endpoint sebelum menyimpan aturan?
Ya. Kirim pesan tes mengirim satu postingan nyata dari feed Anda ke URL tersebut. Akun Anda harus memiliki setidaknya satu feed yang berisi postingan.
Coba Feeder
Feeder adalah pembaca RSS untuk web, iOS, dan Android, dengan ekstensi untuk Chrome, Firefox, dan Edge. Paket gratis mengikuti hingga 200 feed tanpa iklan, dan feed diperbarui paling cepat setiap 30 menit. Plus mengikuti 2.500 feed, memperbaruinya paling cepat setiap 5 menit, serta menambahkan ringkasan email.