تأكّد من أن تكاملك يعمل بشكل صحيح قبل الانتقال إلى بيئة الإنتاج.
سجّل في الخطة المجانية واحصل على مفتاحك العام من لوحة التحكم ضمن
API Keys — فهو يعمل فوراً وآمن للاستخدام في كود جانب العميل. استخدمه
للتطوير والاختبار المحليين. مرّره إلى Tracio.init():
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "YOUR_PUBLIC_KEY" })const result = await tracio.getResult()console.log(result.visitorId, result.bot.detected)إذا كنت تحمّل الوكيل عبر مقتطف الحافة الذي لا يتطلب بناءً، فإن المفتاح نفسه يعمل في معامل الاستعلام k:
<script src="https://edge.tracio.ai/s.js?k=YOUR_PUBLIC_KEY" async></script>نفّذ هذا في وحدة تحكم المتصفح (console) على صفحة تم تحميل الـ SDK فيها للتأكد من أنه يهيّأ ويُرجع نتيجة:
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "YOUR_PUBLIC_KEY" })const result = await tracio.getResult()console.assert(typeof result.visitorId === "string", "visitorId should be a string")console.assert(typeof result.bot.detected === "boolean", "bot.detected should be a boolean")console.log("Integration verified:", result.visitorId)في اختبارات الوحدة، لا ترغب عادةً في إجراء استدعاء شبكة حقيقي. قم بمحاكاة وحدة Tracio وتحقق من أن كودك يستهلك getResult() بشكل صحيح. باستخدام Vitest:
import { vi, test, expect } from "vitest"import { Tracio } from "@tracio/sdk"
vi.mock("@tracio/sdk", () => ({ Tracio: { init: () => ({ getResult: async () => ({ visitorId: "test-visitor-id", bot: { detected: false, confidence: 0 }, }), }), },}))
test("renders the visitor id", async () => { const tracio = Tracio.init({ publicKey: "YOUR_PUBLIC_KEY" }) const result = await tracio.getResult() expect(result.visitorId).toBe("test-visitor-id") expect(result.bot.detected).toBe(false)})يمكنك أيضاً التحقق من معالجة الأخطاء بجعل الدالة المحاكاة getResult() تُرفَض بخطأ من نوع TracioError.
للتفاعل مع نتيجة تعريف على خادمك الخاص، استقبِلها على شكل
webhook موقّع — يُسلَّم كل حدث إلى نقطة النهاية لديك مع
توقيع HMAC في الترويسة X-Tracio-Signature يمكنك التحقق منه.