การส่ง 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 ของคุณ
สร้างการเชื่อมต่อของคุณเองโดยใช้ Webhook มีขั้นตอนทั้งหมดพร้อมภาพหน้าจอ ส่วนโพสต์ประกาศเปิดตัวแสดงการทำงานของกฎนี้ ข้อมูลในหน้านี้อ้างอิงจากโค้ดที่ใช้ส่ง Webhook
Feeder ส่งข้อมูลอะไรไปยัง Webhook
ส่ง HTTP POST หนึ่งครั้งต่อหนึ่งโพสต์ โดยมีเนื้อหาเป็น JSON และมี header ดังนี้
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 | ID ใหม่สำหรับทุกข้อความ การลองส่งข้อความเดิมซ้ำจะใช้ ID เดิม คุณจึงใช้ค่านี้เพื่อตัดรายการซ้ำได้ |
post.id | 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 | 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 นาที และคุณตั้งค่าให้ฟีดอัปเดตได้ถี่สุดทุก 1 นาที ดู Feeder ตรวจฟีดบ่อยแค่ไหน
- ส่งเฉพาะโพสต์ที่ตรงเงื่อนไข เมื่อกำหนดคำสำคัญ ระบบจะส่งเฉพาะโพสต์ที่ตรงกัน หากไม่กำหนดคำสำคัญ ระบบจะส่งโพสต์ใหม่ทุกโพสต์ โพสต์ที่ถูกซ่อนด้วยกฎ กรองโพสต์ หรือ กรองโพสต์ซ้ำ จะไม่ถูกส่ง
จะเกิดอะไรขึ้นหากปลายทางของฉันใช้งานไม่ได้
Feeder รอคำตอบนานสูงสุด 60 วินาที หากได้รับสถานะ 2xx จะถือว่าส่งสำเร็จ หากปลายทางตอบกลับด้วยข้อผิดพลาด เช่น 404 หรือ 500 หรือไม่ตอบกลับเลย Feeder จะลองส่งอีกไม่เกิน 8 ครั้ง
| ครั้งที่ลองส่ง | ระยะเวลาหลังจากครั้งก่อน |
|---|---|
| 2 | 5 วินาที |
| 3 | 30 วินาที |
| 4 | 1 นาที |
| 5 | 5 นาที |
| 6 | 10 นาที |
| 7 | 30 นาที |
| 8 | 30 นาที |
| 9 | 30 นาที |
หลังลองส่งครั้งที่ 9 หรือประมาณ 1 ชั่วโมง 47 นาทีหลังจากครั้งแรก Feeder จะหยุดส่งโพสต์นั้น ความพยายามส่งที่ล้มเหลวแต่ละครั้งจะแสดงในบันทึกข้อผิดพลาดของกฎ เปิดกฎแล้วเลือก เปิดบันทึกข้อผิดพลาด หากคุณเปลี่ยน URL ของกฎระหว่างที่รอลองส่งซ้ำ ครั้งต่อไปจะส่งไปยัง URL ใหม่ ส่วน โพสต์ข้อความทดสอบ จะส่งข้อความทดสอบหนึ่งครั้งโดยไม่มีการลองส่งซ้ำ
ปลายทางของฉันควรทำอะไร
- ตอบกลับให้เร็ว ตอบกลับด้วยสถานะ 2xx ก่อน แล้วค่อยทำงานที่ใช้เวลานาน เพื่อให้ตอบกลับภายใน 60 วินาทีได้สบาย
- ตัดรายการซ้ำ หากเซิร์ฟเวอร์ของคุณประมวลผลข้อความแล้วแต่ตอบกลับช้าเกินไป Feeder จะส่งข้อความเดิมมาอีกครั้ง เก็บค่า
message_idหรือpost.idที่เคยได้รับไว้ - ใช้ URL ปลายทางโดยตรง URL ต้องมี path เช่น
https://example.com/hooks/rssและต้องชี้ไปยังเซิร์ฟเวอร์ที่เข้าถึงได้จากอินเทอร์เน็ตสาธารณะ Feeder จะไม่ส่งไปยังที่อยู่ในเครือข่ายภายในหรือเครือข่ายส่วนตัว ควรหลีกเลี่ยงการเปลี่ยนเส้นทางด้วย เพราะหลังจากเปลี่ยนเส้นทางแบบ 301, 302 หรือ 303 คำขอจะมาถึงในรูปแบบ GET โดยไม่มีเนื้อหา JSON - ตรวจสอบลายเซ็น ผู้ที่ทราบ URL ของคุณสามารถส่งคำขอไปยัง URL นั้นได้ ดังนั้นให้เชื่อถือเฉพาะคำขอที่มี
X-Feeder-Signatureถูกต้อง ส่วนถัดไปอธิบายวิธีตรวจสอบ
จะตรวจสอบได้อย่างไรว่าคำขอมาจาก Feeder
Feeder ลงลายเซ็นให้ทุกคำขอด้วยความลับ Webhook ของกฎ หากต้องการดู ให้เปิดกฎ เปิด ขั้นสูง คัดลอก รหัสลับ Webhook แล้วบันทึกกฎ header 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 พบโพสต์ หากต้องการส่งสรุป มี 3 วิธี
- รวบรวมรายการที่ฝั่งของคุณ บันทึกแต่ละโพสต์ที่ปลายทางได้รับ แล้วส่งสรุปของคุณเองตามกำหนดเวลา
- ใช้สรุปทางอีเมล 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 ตรวจฟีดทุกชั่วโมงในแพ็กเกจฟรี และทุก 5 นาทีใน Pro และ Pro+ |
| n8n | โหนด ทริกเกอร์ฟีด RSS | โหนด HTTP Request โดยใช้เมธอด POST | เลือกความถี่ในการตรวจฟีดได้ที่ เวลาสำรวจข้อมูล |
เครื่องมือเหล่านี้เป็นวิธีที่รวดเร็วที่สุด หากคุณใช้อยู่แล้ว คุณยังใช้ร่วมกับ Feeder ได้ด้วย โดยตั้งกฎโพสต์ไปยัง Webhook ให้ส่งไปยังทริกเกอร์ รับ Webhook ของ 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 ของตัวเอง ไม่ใช่รูปแบบข้อความที่แอปเหล่านั้นต้องการ ให้ใช้กฎ โพสต์ไปยัง Slack, โพสต์ไปยัง Microsoft Teams หรือ โพสต์ไปยัง Discord ของ Feeder แทน หรือใช้ Zapier, Make หรือ n8n เป็นตัวกลาง
แพ็กเกจ Feeder ใดมี Webhook
โพสต์ไปยัง Webhook เป็นส่วนหนึ่งของ Professional ส่วนกฎสำหรับกรอง ติดดาว หรือรวบรวมโพสต์ก็ใช้ได้ใน Plus
Webhook มีบทความฉบับเต็มหรือไม่
ข้อมูลที่ส่งจะตรงกับสิ่งที่ฟีดเผยแพร่ ฟิลด์ content มีบทความฉบับเต็มเมื่อฟีดมีเนื้อหานั้น และมีบทสรุปเมื่อฟีดมีเฉพาะบทสรุป
ทดสอบปลายทางก่อนบันทึกกฎได้ไหม
ได้ โพสต์ข้อความทดสอบ จะส่งโพสต์จริงหนึ่งรายการจากฟีดของคุณไปยัง URL ต้องมีฟีดที่มีโพสต์อย่างน้อยหนึ่งฟีดในบัญชี
ลองใช้ Feeder
Feeder เป็นโปรแกรมอ่าน RSS สำหรับเว็บ, iOS และ Android พร้อมส่วนขยายสำหรับ Chrome, Firefox และ Edge แพ็กเกจฟรีติดตามฟีดได้สูงสุด 200 ฟีดโดยไม่มีโฆษณา และฟีดจะอัปเดตได้ถี่สุดทุก 30 นาที ส่วน Plus ติดตามได้ 2,500 ฟีด อัปเดตได้ถี่สุดทุก 5 นาที และเพิ่มสรุปทางอีเมล