Verifique se sua integração funciona corretamente antes de ir para produção.
Cadastre-se no plano gratuito e pegue sua chave pública no painel, em
API Keys — ela funciona imediatamente e é segura para publicar em código do lado do cliente. Use-a
para desenvolvimento e testes locais. Passe-a para 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)Se você carrega o agente pelo snippet de edge sem build, a mesma chave funciona no parâmetro de consulta k:
<script src="https://edge.tracio.ai/s.js?k=YOUR_PUBLIC_KEY" async></script>Execute isto no console do navegador de uma página onde o SDK está carregado para confirmar que ele inicializa e retorna um 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)Em testes unitários você normalmente não quer uma chamada de rede real. Simule (mock) o módulo Tracio e verifique se o seu código consome getResult() corretamente. Com o 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)})Você também pode verificar o tratamento de erros fazendo o getResult() simulado rejeitar com um TracioError.
Para agir sobre um resultado de identificação no seu próprio servidor, receba-o como um
webhook assinado — cada evento é entregue ao seu endpoint com um
HMAC X-Tracio-Signature que você pode verificar.