اعرف لحظة وصول المنشور، أو عدم وصوله
سجّل رابطًا مرة واحدة ويستدعيه FoPost كلما استقرت نتيجة تسليم. يحمل كل حدث معرّف المنشور والحساب والمنصة والرابط الدائم أو نص الخطأ، فيتفاعل نظامك دون استعلام متكرر.
curl -X POST https://api.fopost.com/v1/webhooks \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "9b2f6c1e-...",
"url": "https://yourbrand.com/hooks/social",
"events": ["delivery.published", "delivery.failed", "post.published", "post.failed"]
}'يُطلَق عند الاستقرار
حدث واحد لكل تسليم إلى حساب، يُرسل فور تأكيد الشبكة أو رفضها.
موقّع
يحمل كل طلب ترويسة توقيع لتتحقق من أنه صادر منا.
يُعاد إرساله
أي استجابة غير 2xx تُعاد محاولتها مع تمهّل متزايد قبل التخلي عن الحدث.
أحداث تغطي دورة النشر كاملة
يُطلَق delivery.published حين تقبل شبكة تسليم حساب واحد، ويتضمن الرابط الدائم. ويُطلَق delivery.failed حين يتعذّر النشر، ويتضمن نص خطأ المنصة. أما post.published وpost.failed فيُطلَقان مرة واحدة لكل منشور، بعد استقرار نتيجة كل الحسابات.
اقرأ مرجع webhooks{
"event": "delivery.published",
"data": {
"postId": "7d3e0a52-...",
"postAccountId": "a3c5e7f9-...",
"accountId": "4a71d80b-...",
"platform": "linkedin",
"externalUrl": "https://linkedin.com/feed/update/..."
},
"timestamp": "2026-09-01T09:00:07Z"
}delivery.published
الرابط الدائم، جاهز للتخزين أو للربط إليه من نظام إدارة المحتوى لديك.
delivery.failed
رسالة الخطأ الصادرة عن الشبكة نفسها، فتعالج السبب بدلًا من التخمين.
لكل مساحة عمل
ينتمي webhook إلى مساحة عمل واحدة ولا يرى إلا منشوراتها.
تحقّق من الحمولة قبل أن تتصرف بناءً عليها
يُوقَّع كل طلب بالسر الذي يُعاد إليك عند إنشاء webhook. احسب التوقيع على الجسم الخام، وقارنه بالترويسة، وارفض أي شيء لا يطابق. استجب بـ 2xx بسرعة ونفّذ العمل بعد ذلك.
اطّلع على التحقق من التوقيعapp.post('/hooks/social', async (req, res) => {
const signature = req.header(SIGNATURE_HEADER) // header name is in the docs;
if (!verify(req.rawBody, signature, process.env.WEBHOOK_SECRET)) {
return res.status(401).end();
}
const { event, data } = req.body;
await queue.add(event, data);
res.status(200).end();
});ترويسة التوقيع
تحقّق بالسر الذي حصلت عليه عند الإنشاء. ولتدويره، أعد الإنشاء.
مختوم بالوقت
يتيح لك timestamp تجاهل الإعادات القديمة وترتيب الأحداث بشكل صحيح.
منع التكرار بالمعرّف
تحمل إعادات المحاولة معرّف الحدث نفسه، فيسهل تجاهل التسليم المزدوج.
أنشئ نقاط الاستقبال واعرضها واحذفها من الكود
Webhooks كائنات API عادية. أنشئ واحدًا لكل بيئة، واعرضها لمراجعة ما هو مسجّل، واحذف ما لم تعد تحتاجه. وجّهها إلى رابط staging أثناء التطوير وانتقل إلى الإنتاج بطلب واحد.
ابدأ البناء
عرض نقاط الاستقبال
تعرض GET /v1/webhooks كل رابط والأحداث المشترك فيها.
لكل بيئة
سجّل رابطًا منفصلًا لبيئة staging فلا تصل منشورات الاختبار إلى الإنتاج أبدًا.
صلاحية webhooks
إدارة نقاط الاستقبال تحتاج إلى صلاحية خاصة بها. ولا يستطيع مفتاح النشر وحده إضافة واحدة.
أسئلة حول Webhooks، مع إجاباتها
ما الأحداث المتاحة؟
كيف أتحقق من webhook؟
ماذا لو كانت نقطة الاستقبال لديّ متوقفة؟
هل يمكنني استقبال أحداث حساب واحد فقط؟
هل يمكنني الاختبار دون نشر فعلي؟
هل أحتاج إلى webhooks أصلًا؟
ابنِ على Webhooks اليوم
البداية مجانية وواجهة API كاملة مُضمَّنة. أنشئ مفتاحًا ونفّذ أول طلب خلال دقائق.
احصل على مفتاح API