Cara mengirim RSS ke webhook

Diperbarui Selasa, 13 Oktober 2026 Waktu baca 8 menit

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?

PilihanCocok untukYang perlu diketahui
Aturan Kirim ke Webhook FeederBanyak feed, filter kata kunci, dan satu format JSON untuk semua feedTermasuk dalam Feeder Professional. Detailnya dijelaskan di bawah.
Zapier, Make, IFTTT, atau n8nMeneruskan setiap postingan ke aplikasi lain tanpa kodeAnda memetakan sendiri kolom-kolomnya. Setiap alat memiliki paket dan batasannya sendiri.
SkripDeveloper yang menginginkan kendali penuhAnda 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"
  }
}
KolomIsinya
versionVersi format: 2023-06-26.
message_idID baru untuk setiap pesan. ID ini tetap sama saat pesan yang sama dicoba ulang, sehingga Anda bisa melewati duplikat.
post.idID postingan di Feeder.
post.titleJudul postingan.
post.urlTautan ke postingan di situs web.
post.publishedWaktu publikasi postingan dalam format timestamp RFC 3339, atau null.
post.contentKonten postingan dalam format HTML, sesuai isi feed, yaitu artikel lengkap atau ringkasan.
post.audio_urlAlamat MP3 yang dilampirkan pada postingan, misalnya episode podcast, atau null.
post.image_urlAlamat gambar yang dilampirkan pada postingan, atau gambar pertama di dalam kontennya, atau null.
feed.idID singkat feed di Feeder.
feed.source_urlAlamat feed.
feed.public_urlSitus web tempat feed berasal.
feed.titleJudul feed.
feed.faviconAlamat 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:

PercobaanJeda sejak percobaan sebelumnya
25 detik
330 detik
41 menit
55 menit
610 menit
730 menit
830 menit
930 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_id atau post.id yang 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-Signature yang 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:

AlatPemicuTindakanYang perlu diketahui
ZapierRSS by Zapier: Item baru di feed, atau Item baru di beberapa feedWebhooks by Zapier: POSTWebhooks by Zapier adalah aplikasi premium.
MakeRSS: Pantau item RSS FeedHTTP: Buat permintaanModul RSS membaca feed RSS dan Atom.
IFTTTRSS Feed: Item feed baruWebhooks: Buat permintaan webDi paket gratisnya, IFTTT memeriksa feed setiap jam, sementara di Pro dan Pro+ pemeriksaan dilakukan setiap 5 menit.
n8nNode Pemicu RSS FeedNode HTTP Request dengan metode POSTAnda 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.

Mulai gunakan Feeder gratis

Baca selanjutnya

Masih butuh bantuan?

Tim dukungan kami membaca setiap pesan. Ceritakan apa yang terjadi dan kami akan membantu Anda.

Hubungi dukungan