קבלה ואימות של webhooks לזיהוי ב-Node.js וב-Express. הוסיפו זיהוי מבקרים, זיהוי בוטים ו-smart signals לאפליקציית Node.js שלכם תוך דקות.
הוסיפו את ה-SDK לפרויקט שלכם עם מנהל החבילות המועדף עליכם.
npm install expressyarn add expresspnpm add expressהתחילו לעבוד עם ההגדרה המינימלית.
import express from 'express'const app = express()// Capture the raw body so the signature can be verified byte-for-byte.app.use(express.json({ verify: (req, _res, buf) => ((req as any).rawBody = buf) }))// Identification events are pushed here in real timeapp.post('/webhook/tracio', (req, res) => { const event = req.body console.log(event.visitorId, event.bot.result) res.status(200).send('OK')})app.listen(3000)דפוסים מוכנים לייצור עם טיפול בשגיאות, מצבי טעינה ותצורה מתקדמת.
import express from 'express'import crypto from 'crypto'const app = express()app.use(express.json({ verify: (req, _res, buf) => ((req as any).rawBody = buf) }))// Recompute the HMAC-SHA256 over "<t>.<rawBody>" and compare it.function verify(rawBody: Buffer, header: string, secret: string): boolean { const p = Object.fromEntries(header.split(',').map((kv) => kv.split('=') as [string, string])) const signed = Buffer.concat([Buffer.from(`${p.t}.`), rawBody]) const expected = crypto.createHmac('sha256', secret).update(signed).digest('hex') const a = Buffer.from(p.v1, 'hex') const b = Buffer.from(expected, 'hex') return a.length === b.length && crypto.timingSafeEqual(a, b)}app.post('/webhook/tracio', (req, res) => { const sig = req.headers['x-tracio-signature'] as string if (!verify((req as any).rawBody, sig, process.env.TRACIO_WEBHOOK_SECRET!)) { return res.status(401).json({ error: 'Invalid signature' }) } const event = req.body if (event.bot.result === 'bot') { return res.status(200).json({ action: 'blocked', visitorId: event.visitorId }) } if (event.decision.riskScore > 50) { return res.status(200).json({ action: 'review', visitorId: event.visitorId }) } res.status(200).json({ action: 'allow', visitorId: event.visitorId })})app.listen(3000)כל האפשרויות הזמינות לאתחול ולתצורת ה-SDK.
publicKeystringהמפתח הציבורי שלכם מלוח המחוונים — בטוח לשליחה בדפדפןendpointstringכתובת נקודת קצה מותאמת אישית לפריסות מנותבות דרך פרוקסי — כתובת מפורשת גוברת על regionregionstringאזור נתונים: us או eutimeoutMsnumberזמן קצוב לכל קריאת getResult(), באלפיות שנייהlinkedIdstringמזהה החשבון הפנימי שלכם עבור המשתמש המחובר, כדי לקשר ביקורים שחולקים מכשירtagstringתווית חופשית המצורפת לבקשת הזיהוי, למשל checkout או logindebugbooleanרושם את מחזור החיים של הסקריפט ואת פעילות הרשת לקונסולת הדפדפןscriptUrlstringדריסה מלאה של כתובת סקריפט הסוכן — לאירוח עצמי או ל-Subresource Integrityהעמיקו עם התיעוד המלא של ה-API, תצורת ה-webhook ומדריכים מתקדמים.
תיעוד API מלא, מדריכי אינטגרציה ושיטות עבודה מומלצות.
מסירת אירועים בזמן אמת, סכמת מטען ואימות חתימה.
הגדירו התראות אירועים בזמן אמת עבור כל זיהוי מכשיר.
הוסיפו טביעת אצבע מכשירים לאפליקציית Node.js שלכם בפחות מ-5 דקות.