Den här guiden går igenom hur du integrerar TRACIO i din applikation. Du installerar klient-SDK:t, initierar det med din publika nyckel och läser ditt första resultat för besökaridentifiering.
Installera TRACIO-SDK:t med din föredragna pakethanterare:
npm install @tracio/sdkEller med pnpm:
pnpm add @tracio/sdkEller med yarn:
yarn add @tracio/sdkOm du inte använder någon bundler kan du lägga in edge-scripttaggen på din sida. Den initieras automatiskt med den publika nyckeln i query-parametern k:
<script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>Importera Tracio och anropa Tracio.init() med din publika nyckel. Detta returnerar omedelbart en TracioInstance — den underliggande agenten laddas i bakgrunden.
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...",})Din publika nyckel kan tryggt levereras i klientkoden. Du hittar den i din dashboard under API Keys.
Tracio.init() tar emot ett TracioConfig-objekt:
| Alternativ | Typ | Standard | Beskrivning |
|---|---|---|---|
publicKey | string | krävs | Din publika nyckel. Kopiera den från din dashboard. |
region | "us" | "eu" | ingen | Valfri dataregion. Utan angivelse använder SDK:t den generiska endpointen https://edge.tracio.ai (ingen underförstådd US-datahemvist). Sätt den uttryckligen till us eller eu. |
endpoint | string | auto | Anpassad API-endpoint (för en first-party-proxad endpoint). |
scriptUrl | string | auto | Anpassad URL för agent-scriptet (för en first-party-proxad endpoint). |
linkedId | string | ingen | Identifierare som kopplar denna besökare till en entitet i ditt system. |
tag | string | ingen | Fritt valbar etikett som fästs vid begäran för senare filtrering. |
debug | boolean | false | Loggar utförlig diagnostik till konsolen. |
timeoutMs | number | 15000 | Hur länge det väntas på resultatet innan en timeout inträffar. |
Anropa tracio.getVisitorId() för att få en stabil besökaridentifierare. Detta är en asynkron operation.
const visitorId = await tracio.getVisitorId()
console.log(visitorId) // "X7fh2Hg9LkMn3pQr"Anropa tracio.getResult() för att få det fullständiga identifieringsresultatet, inklusive bot-detektering.
const result = await tracio.getResult()
console.log(result.visitorId) // "X7fh2Hg9LkMn3pQr"
if (result.bot.detected) { console.warn("bot, confidence:", result.bot.confidence)}Resultatet har formen:
{ visitorId: "X7fh2Hg9LkMn3pQr", bot: { detected: false, confidence: 2, // 0-100 reasons: [], },}Använd livscykel-callbackerna för att reagera när agenten är redo eller när något misslyckas, och destroy() för att riva ner instansen:
const tracio = Tracio.init({ publicKey: "5ca175fc..." })
tracio.onReady((result) => { console.log("ready:", result.visitorId)})
tracio.onError((error) => { console.error("tracio error:", error.code, error.message)})
// later, when you no longer need ittracio.destroy()Se Felhantering för den fullständiga listan över felkoder och retry-hjälpare.
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc..." })
async function handleLogin(email: string, password: string) { const visitorId = await tracio.getVisitorId()
const response = await fetch("/api/login", { method: "POST", body: JSON.stringify({ email, password, visitorId }), })
return response.json()}import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...", tag: "payment",})
async function processPayment(paymentData: PaymentData) { const result = await tracio.getResult()
if (result.bot.detected) { throw new Error("Automated client detected") }
const response = await fetch("/api/payment", { method: "POST", body: JSON.stringify({ ...paymentData, visitorId: result.visitorId }), })
return response.json()}