إرسال موجز RSS إلى Webhook: تمرير المنشورات الجديدة إلى أي رابط

تم التحديث في 13 أكتوبر، 2026 مدة القراءة: 8 دقيقة

لإرسال موجز RSS إلى Webhook، تحتاج إلى أداة تتحقق من الموجز وفق جدول زمني، وتكتشف العناصر الجديدة، ثم ترسل كل عنصر إلى رابطك عبر طلب HTTP من نوع POST. تنفّذ قاعدة «النشر إلى Webhook» في Feeder ذلك لأي عدد من الموجزات، مع إمكانية التصفية بالكلمات المفتاحية وإعادة المحاولة تلقائيًا. ويمكنك أيضًا استخدام أدوات الأتمتة مثل Zapier وMake وIFTTT وn8n، أو تشغيل سكربت قصير على خادمك.

ما الخيارات المتاحة لإرسال موجز RSS إلى Webhook؟

الخيارمناسب لـما ينبغي معرفته
قاعدة «النشر إلى Webhook» في Feederمتابعة موجزات متعددة، والتصفية بالكلمات المفتاحية، واستخدام تنسيق JSON موحّد لكل الموجزاتمتاحة ضمن Professional من Feeder. التفاصيل أدناه.
Zapier أو Make أو IFTTT أو n8nتمرير كل عنصر إلى تطبيقات أخرى من دون كتابة تعليمات برمجيةتحدّد الحقول بنفسك. لكل أداة خططها وحدودها الخاصة.
سكربتللمطورين الذين يريدون تحكمًا كاملًاتستضيفه وتجدوله، وتتتبّع العناصر التي سبق إرسالها.

كيف تعمل قاعدة «النشر إلى Webhook» في Feeder؟

«النشر إلى Webhook» أحد الإجراءات المتاحة في «القواعد» في Feeder. أنشئ قاعدة، واختر النشر إلى Webhook ضمن ما الذي يجب أن يحدث؟، ثم ألصق رابط نقطة النهاية، واختر الموجزات أو المجلدات التي تريد متابعتها، أو جميع الموجزات. أضف كلمات مفتاحية إذا أردت إرسال منشورات محددة فقط. بعد ذلك، يرسل Feeder كل منشور جديد يطابق الشروط إلى رابطك.

تجد في إنشاء عمليات تكامل خاصة بك باستخدام Webhooks جميع الخطوات مع لقطات شاشة، كما يوضّح منشور الإطلاق القاعدة أثناء عملها. تستند المعلومات في هذه الصفحة إلى الشيفرة التي ترسل طلبات Webhook.

ما البيانات التي يرسلها Feeder إلى Webhook؟

يرسل Feeder طلب HTTP واحدًا من نوع POST لكل منشور، مع محتوى JSON والترويسات التالية:

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معرّف جديد لكل رسالة. تحتفظ إعادة إرسال الرسالة نفسها بالمعرّف، ما يتيح لك تجاهل الرسائل المكررة.
post.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المعرّف المختصر للموجز في 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 دقائق افتراضيًا، ويمكنك ضبط تحديث الموجز ليتم كل دقيقة. راجع كم مرة يفحص Feeder موجزاتك.
  • للمنشورات المطابقة فقط. عند إضافة كلمات مفتاحية، لا تُرسل إلا المنشورات المطابقة. ومن دون كلمات مفتاحية، يُرسل كل منشور جديد. ولا يُرسل المنشور الذي تخفيه قاعدة تصفية المنشورات أو تصفية المكررات.

ماذا يحدث إذا تعذّر الوصول إلى نقطة النهاية؟

ينتظر Feeder الرد مدة تصل إلى 60 ثانية. ويُعدّ رمز الحالة 2xx تأكيدًا على التسليم. إذا ردّت نقطة النهاية بخطأ، مثل 404 أو 500، أو لم ترد إطلاقًا، فسيعيد Feeder المحاولة حتى 8 مرات إضافية:

المحاولةالفاصل الزمني منذ المحاولة السابقة
25 ثوانٍ
330 ثانية
4دقيقة واحدة
55 دقائق
610 دقائق
730 دقيقة
830 دقيقة
930 دقيقة

بعد المحاولة التاسعة، أي بعد نحو ساعة و47 دقيقة من المحاولة الأولى، يتوقف Feeder عن محاولة إرسال ذلك المنشور. يظهر كل فشل في سجل أخطاء القاعدة. افتح القاعدة واختر فتح سجل الأخطاء. إذا غيّرت رابط القاعدة أثناء انتظار إعادة المحاولة، فستُرسل المحاولات التالية إلى الرابط الجديد. يرسل نشر رسالة تجريبية رسالة اختبار واحدة من دون إعادة المحاولة.

ما الذي ينبغي أن تفعله نقطة النهاية؟

  • استجب بسرعة. أعد أولًا رمز حالة 2xx، ثم نفّذ المهام البطيئة بعد ذلك، حتى لا تقترب من مهلة الانتظار البالغة 60 ثانية.
  • تجاهل المكررات. إذا عالج خادمك رسالة لكنه تأخر في الرد، فستصل الرسالة مرة أخرى عند إعادة المحاولة. احتفظ بقيم message_id أو post.id التي سبق أن تعاملت معها.
  • استخدم العنوان النهائي. يجب أن يتضمن الرابط مسارًا، مثل https://example.com/hooks/rss، وأن يشير إلى خادم على الإنترنت العام. لا يرسل Feeder الطلبات إلى عناوين الشبكات المحلية أو الخاصة. وتجنّب عمليات إعادة التوجيه أيضًا، فبعد إعادة توجيه 301 أو 302 أو 303 يصل الطلب بصيغة GET ومن دون محتوى JSON.
  • تحقّق من التوقيع. يمكن لأي شخص يعرف رابطك إرسال طلب إليه، لذا لا تثق إلا بالطلبات التي تحمل قيمة صالحة في X-Feeder-Signature. يوضّح القسم التالي طريقة التحقق.

كيف أتحقق من أن الطلب صادر من Feeder؟

يوقّع Feeder كل طلب باستخدام سر Webhook الخاص بالقاعدة. للعثور عليه، افتح القاعدة، وفعّل متقدم، وانسخ سر Webhook، ثم احفظ القاعدة. يحتوي رأس 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. لإرسال ملخص، لديك ثلاثة خيارات:

  • اجمع المنشورات من جهتك. خزّن كل منشور تستلمه نقطة النهاية، ثم أرسل ملخصك وفق جدول زمني.
  • استخدم ملخصات البريد الإلكتروني. يستطيع Feeder إرسال ملخص يومي أو أسبوعي أو شهري عبر البريد الإلكتروني للموجزات التي تختارها، ضمن خطتي Plus وProfessional. راجع تلقي إشعارات بالمنشورات الجديدة.
  • انشر موجزًا. في Professional، انشر مجلدًا أو مجموعة كموجز RSS أو JSON، ودع أداتك تقرأه وفق جدولها الزمني. راجع كيفية تصدير منشوراتك كموجزات RSS وJSON.

كيف أرسل موجز RSS إلى Webhook باستخدام Zapier أو Make أو IFTTT أو n8n؟

تربط كل أداة بين مُشغّل RSS وإجراء HTTP. تحققنا من أسماء هذه الخيارات في المواقع الرسمية لكل أداة بتاريخ 28 سبتمبر 2026:

الأداةالمُشغّلالإجراءمعلومة مفيدة
ZapierRSS by Zapier: عنصر جديد في موجز، أو عناصر جديدة في موجزات متعددةWebhooks by Zapier: POSTWebhooks by Zapier تطبيق مميز لدى Zapier.
MakeRSS: متابعة عناصر موجز RSSHTTP: إجراء طلبتقرأ وحدة RSS موجزات RSS وAtom.
IFTTTRSS Feed: عنصر جديد في الموجزWebhooks: إجراء طلب ويبيفحص IFTTT الموجزات كل ساعة في خطته المجانية، وكل 5 دقائق في خطتي Pro وPro+.
n8nعقدة مُشغّل موجز RSSعقدة طلب HTTP باستخدام طريقة POSTيمكنك اختيار وتيرة فحص الموجز ضمن أوقات الفحص الدوري.

هذه الأدوات هي أسرع طريقة إذا كنت تستخدم إحداها بالفعل. ويمكنك أيضًا ربطها بـ Feeder: وجّه قاعدة «النشر إلى Webhook» إلى مُشغّل استقبال Hook في 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. إذا ردّت نقطة النهاية بخطأ، يتوقف السكربت، ويحاول إرسال العنصر نفسه مجددًا في التشغيل التالي.

أسئلة شائعة

هل يمكنني إرسال موجز RSS إلى Webhook في Slack أو Teams أو Discord باستخدام «النشر إلى Webhook»؟

ليس مباشرةً. يرسل Feeder تنسيق JSON الخاص به، وليس تنسيق الرسالة الذي تتطلبه هذه التطبيقات. استخدم قواعد Feeder: النشر إلى Slack أو النشر إلى Microsoft Teams أو النشر في Discord، أو استخدم Zapier أو Make أو n8n كحلقة وصل.

أي خطة من Feeder تتضمن Webhooks؟

تتوفر قاعدة «النشر إلى Webhook» ضمن Professional. وتعمل أيضًا القواعد التي تصفّي المنشورات أو تضع عليها نجمة أو تجمعها ضمن Plus.

هل يتضمن Webhook المقالة كاملة؟

يتضمن المحتوى الذي ينشره الموجز. يحتوي content على المقالة كاملة إذا كان الموجز يوفّرها، وعلى الملخص إذا كان الموجز لا يتضمن سوى ملخص.

هل يمكنني اختبار نقطة النهاية قبل حفظ القاعدة؟

نعم. يرسل نشر رسالة تجريبية منشورًا حقيقيًا واحدًا من موجزاتك إلى رابطك. ويجب أن يحتوي حسابك على موجز واحد على الأقل يتضمن منشورات.

جرّب Feeder

Feeder قارئ RSS للويب وiOS وAndroid، مع إضافات لمتصفحات Chrome وFirefox وEdge. تتيح الخطة المجانية متابعة ما يصل إلى 200 موجز بلا إعلانات، مع تحديث الموجزات كل 30 دقيقة كحد أقصى من حيث التكرار. وتتيح Plus متابعة 2,500 موجز، وتحديثها كل 5 دقائق، كما تضيف ملخصات البريد الإلكتروني.

ابدأ استخدام Feeder مجانًا

تابع القراءة

أما زلت بحاجة إلى مساعدة؟

فريق الدعم لدينا يقرأ كل رسالة. أخبرنا بما يحدث وسنساعدك.

تواصل مع الدعم