المطورين
تُصدر مزرعتك أحداثًا. قم بتوجيههم إلى أي عنوان URL تريده.
تريد كل مزرعة في النهاية شيئًا لا يشحنه البائع: لوحة معلومات على تلفزيون الحظيرة، ووحدة تحكم في الري محلية تتفاعل مع التنبيهات، ونص برمجي لتقارير المقاطعة، وجسر إلى برنامج لم نسمع به من قبل. الإجابة المعتادة هي استطلاع واجهة برمجة التطبيقات (API) على جهاز توقيت والأمل في ألا يفوتك أي شيء بين استطلاعات الرأي.
الإجابة الأفضل هي استخدام أنظمة الإنتاج الواحدة مع بعضها البعض: عندما يحدث شيء ما، ادفعه، ووقعه، ثم أعد المحاولة حتى يصل.
كيف يعمل في الواقع
قامت منشورات FarmHub بتوقيع JSON على أي عنوان URL HTTPS تقوم بتكوينه، عند وقوع الأحداث التي تهمك.
- ستة أنواع من الأحداث، يتم دفعها فور حدوثها. تم تسجيل الحصاد، ورفع التنبيه، وحل التنبيه، وحل الإجراء التصحيحي، وبدء الاستدعاء، وإنشاء التقرير. يتم نشر كل حدث إلى نقطة النهاية الخاصة بك بتنسيق JSON مع اسم الحدث في الرأس.
- كل حمولة موقعة بـ HMAC-SHA256. يقوم FarmHub بإنشاء مفتاح توقيع للاتصال ويوقع كل نص طلب، ويرسل التوقيع في رأس X-FarmHub-Signature. إعادة حساب HMAC على الجسم الخام والمقارنة. فإن لم يكن مطابقا فليس منا.
- إعادة محاولة التسليم مع التراجع. إذا كانت نقطة النهاية لديك معطلة أو قامت بإرجاع خطأ، فسيقوم FarmHub بإعادة المحاولة مع التراجع. تحمل كل عملية تسليم رأسًا فريدًا لمعرف التسليم حتى يتمكن المعالج الخاص بك من إلغاء تكرار المحاولات.
- يتم إصدار الحمولات، ويمكنك التحكم في الترقية. عندما يتغير شكل الحمولة، يتم تغيير الإصدار، وتظل الاتصالات الحالية مثبتة على الإصدار الخاص بها حتى تقوم بالاشتراك. لا ينقطع التكامل الخاص بك لأننا قمنا بشحن حقل.
إنها نفس آلية التسليم وراء عمليات تكامل Slack وTeams وPagerDuty، مع تسليم الوجهة إليك.
ما يمكنك الاعتماد عليه
ما يمكنك الاعتماد عليه
الضمانات بالتحديد:
- يقوم FarmHub بإنشاء مفتاح التوقيع. يتم إنشاء مفتاح HMAC في وقت الاتصال ويتم تخزينه مشفرًا على الاتصال. لا يوجد سر عالمي مشترك، ويؤثر تدوير مفتاح الاتصال على هذا الاتصال فقط.
- الرؤوس مصممة للمعالجين الحقيقيين. يحمل كل طلب التوقيع واسم الحدث ومعرف التسليم الفريد، حتى تتمكن من التحقق والتوجيه وإلغاء التكرار دون تحليل النص أولاً.
- مفتاح الإيقاف. قم بتعطيل الاتصال فورًا وتتوقف عمليات التسليم. يكون ذلك مفيدًا عندما تكون نقطة النهاية الخاصة بك تعمل بشكل غير صحيح أو عندما تقوم بتدوير البنية التحتية.
- صفوف التدقيق المتسلسلة. يتم تسجيل كل محاولة تسليم في سجل التدقيق الذي تكون صفوفه متسلسلة، لذا فإن تاريخ ما تم إرساله يكون واضحًا للتلاعب.
ما لا نفعله
الحدود الصادقة:
- يتم التسليم مرة واحدة على الأقل، وليس مرة واحدة بالضبط. تعني إعادة المحاولة أن المعالج الخاص بك قد يرى التسليم مرتين. إلغاء التكرار في معرف التسليم.
- خطافات الويب صادرة فقط. لا يقبل هذا التكامل البيانات الواردة؛ فهو يخبر أنظمتك بما حدث في FarmHub.
- أنواع الأحداث الستة المذكورة أعلاه هي ما يتم شحنه اليوم. نفضل سرد ستة أحداث حقيقية بدلاً من الوعد بكتالوج لم نبنيه.
الإعداد بصراحة
أنت بحاجة إلى نقطة نهاية HTTPS يمكنها تلقي JSON POST.
- في FarmHub، افتح عمليات التكامل، واختر Custom Webhook، وأدخل عنوان URL لنقطة النهاية الخاصة بك. يقوم FarmHub بإنشاء مفتاح توقيع HMAC.
- في المعالج الخاص بك، تحقق من رأس X-FarmHub-Signature عن طريق إعادة حساب HMAC-SHA256 على نص الطلب الأولي باستخدام مفتاح التوقيع.
- قم بالرد بـ 2xx بسرعة؛ القيام بمزامنة المعالجة الثقيلة. تتم إعادة محاولة الاستجابات غير 2xx مع التراجع.
- قم بإجراء تسليم اختباري وتأكد من اجتياز التحقق من توقيعك قبل الاعتماد على الموجز.
أسئلة يطرحها المزارعون
كيف يمكنني التحقق من أن خطاف الويب جاء من FarmHub؟
قم بحساب HMAC-SHA256 على نص الطلب الأولي باستخدام مفتاح توقيع الاتصال ومقارنته برأس X-FarmHub-Signature، الذي يحمل الملخص السداسي البادئ بـ sha256=. رفض أي شيء لا يتطابق.
ما هي الأحداث التي يمكنني الاشتراك فيها؟
تم تسجيل الحصاد، ورفع التنبيه، وحل التنبيه، وحل الإجراء التصحيحي، وبدء الاستدعاء، وإنشاء التقرير. يصل اسم الحدث إلى رأس X-FarmHub-Event.
ماذا يحدث إذا كانت نقطة النهاية الخاصة بي معطلة؟
يقوم FarmHub بإعادة محاولة التسليم مع التراجع. نظرًا لأن التسليم يتم مرة واحدة على الأقل، فيجب على المعالج الخاص بك إلغاء التكرار باستخدام رأس معرف X-FarmHub-Delivery.
هل ستؤدي تغييرات الحمولة إلى تعطيل التكامل الخاص بي؟
لا. تم إصدار الحمولات النافعة، ويظل اتصالك مثبتًا على إصدار الحمولات النافعة الخاص به حتى تختار الاشتراك في الإصدار الجديد.
هل يمكنني تدوير مفتاح التوقيع؟
يحتوي كل اتصال على مفتاح مشفر خاص به تم إنشاؤه بواسطة FarmHub. تؤدي إعادة الاتصال إلى إصدار مفتاح جديد، ويوقف مفتاح الإيقاف عمليات التسليم على الفور أثناء التدوير.
جاهز للتحول التالي
قم ببناء الشيء الذي لم نفكر فيه
تدفق الأحداث الموقعة من Point FarmHub عند نقطة النهاية الخاصة بك وقم بتوصيل المزرعة إلى أي شيء يمكنك تخيله: لوحة معلومات الحظيرة، ووحدة التحكم، وروبوت التقرير. لا تحتاج إلى إذننا، فقط عنوان URL.
ابدأ مجانًا