التوثيق / المنصة
أدوات الأتمتة
اربط Gurdx بـ Zapier وMake وn8n وIFTTT أو أي أداة بدون كود عبر توجيه Webhook من Gurdx إلى مشغّل «استقبال Webhook» في الأداة.
النمط العام#
- في أداة الأتمتة أنشئ سيناريو مشغّله Webhook وارد، وانسخ عنوانه.
- في Gurdx (
https://gurdx.cretip.com/app، الإعدادات، الـ Webhooks) أضف Webhook بهذا العنوان واختر أنواع الأحداث، واحفظ السرّ. - أضف الإجراءات التي تريدها: فتح تذكرة، إضافة صف في جدول، مراسلة شخص، استدعاء API خاص بك.
- أنشئ حدثًا حيًا وتأكد أن السيناريو يستقبل جسمًا مثل المبيّن في الـ Webhooks.
تحتوي الحمولة دائمًا على event وrisk_score وuser_identifier وoccurred_at، إضافة إلى حقول خاصة بالحدث.
Zapier#
استخدم Webhooks by Zapier مع مشغّل Catch Hook. لا يستطيع Zapier التحقق من توقيعات HMAC بنفسه، فأضف خطوة Code by Zapier أولًا إن احتجت التحقق، أو ضع رمزًا يصعب تخمينه في مسار عنوان الـ Webhook واحفظ العنوان سرًا. ثم صفِّ حسب risk_score بخطوة Filter قبل الإجراء.
Make#
أضف وحدة Custom webhook كمشغّل. وللتحقق من التوقيع:
- في إعدادات الـ Webhook فعّل Get request headers وGet request HTTP method، واضبط بنية البيانات بحيث يتوفر الجسم الخام كقيمة نصية.
- أضف وحدة Set variable تحسب HMAC بخوارزمية SHA-256 على نص الجسم الخام باستخدام سرّ الـ Webhook كمفتاح، وتُخرجه بالصيغة السداسية. وأضف قبل الناتج البادئة
sha256=. - أضف فلترًا على الوحدة التالية يسمح بالمتابعة فقط حين تساوي هذه القيمة ترويسة
X-Gurdx-Signature.
تختلف أسماء الدوال بين إصدارات Make، فراجع دالة HMAC في منتقي الصيغ داخل السيناريو.
n8n#
استخدم عقدة Webhook (الطريقة POST) مع تفعيل Raw Body، ثم تحقق في عقدة Code:
const crypto = require('crypto');
const secret = $env.GURDX_WEBHOOK_SECRET;
// With Raw Body on, the exact bytes arrive as binary data named "data".
const raw = await this.helpers.getBinaryDataBuffer(0, 'data');
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(raw).digest('hex');
const received = $input.first().json.headers['x-gurdx-signature'] || '';
const a = Buffer.from(expected);
const b = Buffer.from(received);
if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) {
throw new Error('Invalid Gurdx signature');
}
return $input.all();
Warning: إعادة تسلسل JSON بعد تحليله قد تغيّر المسافات وتُفسد التوقيع. فعّل Raw Body دائمًا في عقدة Webhook لتحسب التجزئة على البايتات التي أرسلها Gurdx بالضبط.
IFTTT#
استخدم خدمة Webhooks (Receive a web request) كمشغّل. لا يستطيع IFTTT فحص التوقيعات، فأبقِ العنوان سريًا واعتمد على كود تصفية أو خدمة توجيه صغيرة من عندك للتحقق.
ممارسات جيدة#
- أجب بسرعة. تعيد معظم الأدوات
2xxتلقائيًا. إذا كانت خطوة بطيئة فاجعلها غير متزامنة كي لا يبلغ Gurdx مهلة 10 ثوانٍ. - امنع التكرار بالاعتماد على الترويسة
X-Gurdx-Delivery، فإعادة المحاولة قد ترسل الحدث نفسه. - صفِّ حسب
risk_scoreداخل الأداة بدل إنشاء عشرات الـ Webhooks. - لا تحظر المستخدمين آليًا من طلب لم يُتحقق منه. تحقق أولًا، وفضّل توجيه الحالة إلى طابور مراجعة بشرية.
العودة إلى نظرة عامة على التكاملات.
وجدت خطأ؟ أخبرنا عبر صفحة التواصل. تواصل معنا