حتى الآن، كانت معرفة ما إذا كان المنشور قد خرج تتطلب أن تسأل. تستدعي واجهة API، تتحقق من الحالة، ثم تستدعيها مرة أخرى لاحقًا. هذا يعمل، لكنه استعلام متكرر: إما أن تسأل كثيرًا فتهدر الطلبات، أو تسأل نادرًا فتعرف متأخرًا. الـ webhooks تقلب المعادلة. تعطي sona.to عنوانًا، فيتصل بك sona.to لحظة وقوع أي شيء. وهي متاحة الآن في كل الباقات.
هناك أربعة أحداث للاشتراك بها، وتغطي النتائج التي تستحق التفاعل: منشور تم نشره، منشور فشل، تدقيق موقع اكتمل، وتدقيق موقع فشل. أنت تختار أيها يستقبل كل webhook، فيمكن لتنبيه على Slack أن يستمع للأخطاء فقط بينما يستقبل نظام التقارير كل شيء. الحمولة تستخدم أسماء الحقول نفسها التي تعيدها واجهة REST API، لذا ما تحلّله بالفعل من طلب GET يعمل دون تغيير.
الإعداد يستغرق دقيقة. افتح صفحة API في لوحة التحكم، الصق العنوان الذي منحته لك أداتك، حدّد الأحداث التي تريدها واحفظ. يظهر مفتاح التوقيع مرة واحدة في تلك اللحظة. انسخه فورًا، لأنه لن يُعرض مجددًا.
هذا المفتاح هو ما يجعلك تعرف أن الطلب حقيقي. كل عملية تسليم تحمل ترويسة توقيع تتضمن ختمًا زمنيًا وقيمة HMAC SHA-256 محسوبة من ذلك الختم ومحتوى الطلب بمفتاحك أنت. أعد حسابها من جهتك وقارن القيمتين بدالة ذات زمن ثابت. وبما أن الختم الزمني جزء من المادة الموقَّعة، فإن طلبًا مُلتقطًا لا يمكن إعادة إرساله ضدك لاحقًا. ارفض أي شيء أقدم من بضع دقائق وهذا يكفي.
التسليم لا يستسلم عند أول مشكلة. إذا كانت نقطة الاستقبال معطّلة أو أعادت خطأً، يُعاد الطلب بعد 60 ثانية، ثم 5 دقائق، ثم 30 دقيقة. تُسجَّل كل محاولة برمز حالتها ومدتها، فتصبح نقطة الاستقبال المتعثرة شيئًا يمكنك فحصه بدل تخمينه. نقطة الاستقبال التي تستمر بالفشل تُوقَف تلقائيًا، ويمكنك تشغيلها مجددًا بعد إصلاحها.
المكان البديهي لتوجيهها إليه هو منصة أتمتة. Zapier وMake وn8n جميعها تمنحك عنوان webhook لتلصقه، ويصل الحدث بصيغة JSON جاهزًا للربط بما يليه: رسالة في قناة، صف في جدول بيانات، مهمة في نظام متابعة. خادمك الخاص يعمل بالطريقة نفسها تمامًا، دون منصة في المنتصف.
ملاحظة حول ما يقبله sona.to. يجب أن تستخدم الوجهة https وأن تكون عنوانًا عامًا. أي عنوان يؤدي إلى شبكة خاصة يُرفض، عند الحفظ ومرة أخرى وقت التسليم، ولا تُتبع عمليات إعادة التوجيه. إذا كنت تشغّل المستقبِل على شبكة محلية، فضعه خلف اسم مضيف عام أو نفق.
تنضم الـ webhooks إلى واجهة REST API وخادم MCP كطريقة ثالثة لتشغيل sona.to من خارج لوحة التحكم. الواجهة للسؤال، وMCP لأن يسألك مساعد ذكاء اصطناعي، والـ webhooks لأن تُبلَّغ. كل التفاصيل، بما فيها مثال للتحقق من التوقيع، موجودة في توثيق واجهة API.