تقني · إجابة موثَّقة المصادر

webhook البريد الإلكتروني: التعريف والتطبيق التقني

webhook البريد الإلكتروني استدعاء HTTP راجع (callback) يُطلقه مزوّد خدمة البريد الإلكتروني لإبلاغ خادم وجهة بأحداث محددة. فبدلًا من أن يستطلع التطبيق واجهة API بحثًا عن تحديثات الحالة، يدفع المزوّد حمولة JSON أو XML إلى عنوان URL محدد مسبقًا فور وقوع الحدث، كإخفاق التسليم أو النقر على رابط.

آلية العمل

عند وقوع حدث، يُنشئ مزوّد البريد طلب HTTP POST يحتوي على حمولة بالبيانات الوصفية للحدث، ومنها معرّف الرسالة وعنوان المستلِم والطابع الزمني. ويجب أن يستمع الخادم المستلِم على نقطة نهاية عامة، ويتحقق من صحة الطلب الوارد، ويُرجع استجابة 200 OK لتأكيد الاستلام. وإذا أرجع الخادم خطأً، فقد يعيد المزوّد محاولة التسليم باستخدام استراتيجية التراجع الأُسّي.

أهميته للمُرسِلين

تُعدّ webhooks بالغة الأهمية للحفاظ على سمعة المُرسِل. فبتلقّي إشعارات فورية بالارتدادات الدائمة أو شكاوى البريد المزعج، يستطيع المطوّرون إزالة العناوين غير الصالحة من قوائمهم تلقائيًا. ويمنع ذلك تكرار الإرسال إلى صناديق بريد ميتة، وهي إشارة أساسية يستخدمها مزوّدو خدمة الإنترنت لتصنيف المُرسِلين على أنهم منخفضو الجودة. والاستجابة السريعة لهذه الإشارات تضمن معدلات تسليم إجمالية أعلى.

اعتبارات تشغيلية

من الإخفاقات الشائعة أخطاء انتهاء المهلة عندما يعالج الخادم المستلِم الحمولة بشكل متزامن. ولتجنّب ذلك، ينبغي للمطوّرين تطبيق بنية غير متزامنة يُستلَم فيها الـ webhook ويوضع في طابور ضمن نظام مثل Redis أو RabbitMQ ويُؤكَّد استلامه فورًا. كما أن الأمان أمر بالغ الأهمية؛ إذ ينبغي للخوادم التحقق من توقيع المزوّد أو فحص عنوان IP المصدر لمنع إشعارات الأحداث المنتحَلة.

مثال تطبيقي ملموس

يتضمن سير العمل النموذجي إعداد عنوان URL لدى مزوّد مثل Resend أو Amazon SES. فعندما ينقر مستخدم على رابط في رسالة، يرسل المزوّد طلب POST إلى /webhooks/email بنص مثل { event: click, email: user@example.com, link: https://site.com/offer }. ثم يحدّث التطبيق سجل المستخدم في قاعدة البيانات لتعليم الحملة على أنها ناجحة.

التكامل مع الأدوات

يتطلب إعداد webhooks عنوان URL عامًا ووسيلة لاختبار الحمولات. ويمكن للمطوّرين استخدام SendHQ أو أدواته المجانية (https://sendhq.cc/tools) للمساعدة في إدارة المتطلبات التقنية لبنية البريد الإلكتروني لديهم والتأكد من توافق إعداداتهم مع معايير القطاع.

أسئلة تطرحها الفرق

ما الفرق بين API وwebhook؟

واجهة API طلب يرسله العميل إلى الخادم لسحب البيانات. أما webhook فطلب يرسله الخادم إلى العميل لدفع البيانات تلقائيًا عند وقوع حدث.

كيف أؤمّن نقطة نهاية webhook للبريد الإلكتروني؟

استخدم رموزًا سرية في الترويسة، أو تحقق من توقيع HMAC الذي توفّره خدمة البريد، أو اقصر الحركة الواردة على نطاقات IP المحددة التي يملكها المزوّد.

ماذا يحدث إذا كان خادمي متوقفًا أثناء حدث webhook؟

يضع معظم المزوّدين المحترفين الحدث في طابور ويحاولون إعادة تسليمه عدة مرات على مدى ساعات أو أيام قبل تعليمه بأنه غير قابل للتسليم.

المصادر الأساسية