هذه هي webhooks ببساطة:
رسائل تلقائية يرسلها تطبيق إلى آخر فور حدوث حدث معيّن، مثل وصول طلب جديد أو رفع ملف.
📌 كيف تعمل؟
1. حدث (Trigger): شيء يحصل في التطبيق الأول (مثلاً: تم شراء منتج).
2. عنوان Webhook (URL): هو الرابط الذي يُرسل إليه الحدث. هذا الرابط يُعطى للتطبيق الأول من التطبيق الثاني.
3. حمولة البيانات (Payload): معلومات الحدث (مثلاً: اسم العميل، تفاصيل الطلب) تُرسل غالبًا بصيغة JSON.
4. طلب HTTP: يتم إرسال البيانات باستخدام طريقة POST.
> وهذا يعني أن التطبيق الثاني يعرف بما حصل في نفس اللحظة، بدون أن يطلب شيئًا.
🧠 لماذا نحتاج Webhooks؟
تحديثات فورية: تحصل على المعلومات لحظة حدوثها.
أتمتة المهام: تربط الأنظمة تلقائيًا بدون تدخل يدوي.
سهولة في الاستخدام: إعدادها بسيط مقارنة بأنظمة أخرى.
✏ أمثلة من الحياة الواقعية:
عندما يشتري عميل من متجرك، يتم إعلام نظام الشحن تلقائيًا.
إشعار في Slack عند وصول طلب جديد.
تحديث تلقائي لقاعدة بيانات عند إضافة ملف جديد في Google Drive.
🔐 ماذا عن الأمان؟
استخدم دائمًا روابط HTTPS.
يمكنك التحقق من توقيع الرسالة أو استخدام مفتاح سري للتأكد أن المصدر موثوق.
💡 مقارنة سريعة بين Webhooks و APIs – أيهما ومتى؟
1. طريقة التواصل
Webhooks تعتمد على الدفع (Push): النظام يرسل لك البيانات تلقائيًا عند حدوث حدث معين.
APIs تعتمد على السحب (Pull): عليك أن تطلب البيانات يدويًا في كل مرة تحتاج إليها.
2. اتجاه تدفق البيانات
Webhooks ترسل البيانات في اتجاه واحد، من المرسل إلى المستقبل.
APIs تسمح بتبادل البيانات في كلا الاتجاهين (طلب واستجابة).
3. سرعة التحديث
Webhooks تعمل في الوقت الحقيقي، أي بمجرد حدوث الحدث يتم الإرسال فورًا.
APIs تحتاج إلى التحقق المتكرر (polling) لمعرفة ما إذا كان هناك جديد.
4. تعقيد الإعداد
Webhooks بسيطة وسريعة الإعداد، خاصة إذا كنت تعرف الحدث الذي تريد تتبعه.
APIs أكثر مرونة لكنها قد تتطلب إعدادات أكثر وتعقيدًا حسب الوظائف المطلوبة.
5. متى تستخدم كل واحدة؟
استخدم Webhooks إذا كنت تريد إشعارات فورية وتلقائية (مثل: إشعار بوصول دفعة جديدة).
استخدم APIs عندما تحتاج إلى تنفيذ عمليات متنوعة أو الوصول لمعلومات حسب الطلب (مثل: البحث في قاعدة بيانات).
🧪 تريد التجربة؟
جرب موقع Webhook.site
سيعطيك رابط Webhook حقيقي، ويمكنك رؤية كيف تُرسل البيانات عند حدوث حدث!
💡 خلاصة:
Webhooks هي طريقة ذكية لجعل التطبيقات تتواصل لحظيًا، بدون انتظار، وبدون أن تسأل مرارًا وتكرارًا "هل حصل شيء؟"
إنها أداة أساسية لكل من يريد بناء أنظمة مترابطة وأتمتة فعالة.
