تستند كل أتمتات DynamiHost إلى آلية مفتوحة واحدة: الـ webhooks. لدى مركز المساعدة هذا دليل مخصص لأشهر المنصات، لكن أداتك لا تحتاج واحدًا. إذا كانت خدمة ما تمنحك عنوانًا يقبل HTTP POST، يستطيع DynamiHost إرسال كل مسح إليه، وينطبق الأمر نفسه على خادم تديره بنفسك.

ما تحتاجه

  • خطة DynamiHost تتضمن الـ webhooks: Trial أو Pro أو Business. إذا أظهرت صفحة Webhooks في لوحة التحكم رسالة قفل، فإن خطتك لا تتضمن الـ webhooks بعد.
  • عنوان من أداة الأتمتة لديك، أو مسار على خادمك الخاص، يقبل طلبات POST بجسم JSON.

قواعد العنوان

  • يجب أن يستخدم العنوان http أو https وألا يحتوي على بيانات اعتماد مضمّنة.
  • يجب أن يُحلّ اسم المضيف إلى عنوان IP عام. تُرفض النطاقات الخاصة ونطاق الاسترجاع والنطاق المحلي للرابط والبث المتعدد والمحجوزة عند حفظ الـ endpoint، ويُعاد فحصها وقت التسليم.
  • لا تُتبع عمليات إعادة التوجيه أبدًا: وجّه الـ endpoint إلى العنوان النهائي.
  • رد بأي حالة 2xx لتمييز التسليم كناجح. أي شيء آخر، أو عدم الرد خلال 10 ثوانٍ، يُحتسب فشلًا ويُعاد.

اضبطها

  1. في أداتك، ابحث عن ميزة الـ webhook الوارد أو مشغّل HTTP أو مستمع الطلبات وانسخ العنوان الذي تمنحك إياه. على خادمك الخاص، أنشئ المسار أولًا.
  2. افتح Webhooks في لوحة التحكم وانقر Add endpoint.
  3. الصق العنوان، واختر حدث scan.created، واحفظ.
  4. انسخ سر التوقيع الذي يظهر مرة واحدة للـ endpoint.
  5. عد إلى صفحة Webhooks وانقر Send test على الـ endpoint وأكّد استقبال أداتك أو خادمك حدث العينة. ثم امسح أحد رموزك بهاتفك لتسليم حقيقي.

تحقق من أنه من DynamiHost فعلًا

يحمل كل تسليم ترويسة x-dynamihost-signature: وهي HMAC-SHA256 سداسية العشري لقيمة ترويسة x-dynamihost-timestamp (وقت محاولة التسليم هذه بالثواني) ونقطة والجسم الخام، بمفتاح هو سر الـ endpoint الخاص بك. حقل timestamp داخل الجسم هو وقت الحدث نفسه وليس ما يُوقَّع. تحقق منها قبل التصرف بناء على تسليم، وخاصة على خادم تعرّضه للإنترنت. توجد مقتطفات تحقق جاهزة بـ Node وPython في صفحة التكاملات في لوحة التحكم، ويغطي مقال الـ Webhooks: احصل على إشعار عند كل عملية مسح في مركز المساعدة هذا تنسيق الحمولة وجدول إعادة المحاولة وقاعدة التعطيل التلقائي بالكامل.

أفكار للأتمتة

  • نص صغير على خادمك يكتب عمليات المسح في قاعدة بياناتك الخاصة.
  • أداة داخلية تقبل أصلًا الـ webhooks من منتجات أخرى: يتبع JSON الخاص بـ DynamiHost النمط نفسه.
  • منصة أتمتة متخصصة بلا دليل خاص بها: الخطوات أعلاه هي التكامل بأكمله.