Verifique que su integración funciona correctamente antes de pasar a producción.
Regístrese en el plan gratuito y obtenga su clave pública desde el panel, en
API Keys: funciona de inmediato y es seguro incluirla en el código del lado del
cliente. Úsela para el desarrollo y las pruebas en local. Pásela a 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)Si carga el agente mediante el snippet de edge sin build, la misma clave funciona en el parámetro de consulta k:
<script src="https://edge.tracio.ai/s.js?k=YOUR_PUBLIC_KEY" async></script>Ejecute esto en la consola del navegador de una página donde el SDK esté cargado para confirmar que se inicializa y devuelve un resultado:
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)En las pruebas unitarias normalmente no quiere una llamada de red real. Simule (mock) el módulo Tracio y compruebe que su código consume getResult() correctamente. Con 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)})También puede comprobar el manejo de errores haciendo que el getResult() simulado rechace con un TracioError.
Para actuar sobre un resultado de identificación en su propio servidor, recíbalo
como un webhook firmado: cada evento se entrega a su endpoint
con un HMAC X-Tracio-Signature que puede verificar.