Tento návod vás provede integrací TRACIO do vaší aplikace. Nainstalujete klientské SDK, inicializujete ho svým veřejným klíčem a načtete svůj první výsledek identifikace návštěvníka.
Nainstalujte TRACIO SDK pomocí svého oblíbeného správce balíčků:
npm install @tracio/sdkNebo pomocí pnpm:
pnpm add @tracio/sdkNebo pomocí yarn:
yarn add @tracio/sdkPokud nepoužíváte bundler, vložte do své stránky edge script tag. Automaticky se inicializuje veřejným klíčem uvedeným v query parametru k:
<script src="https://edge.tracio.ai/s.js?k=PUBLIC_KEY" async></script>Importujte Tracio a zavolejte Tracio.init() se svým veřejným klíčem. Okamžitě vrátí TracioInstance — podkladový agent se načítá na pozadí.
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "5ca175fc...",})Váš veřejný klíč lze bez obav distribuovat v klientském kódu. Najdete ho ve svém dashboardu v sekci API Keys.
Tracio.init() přijímá objekt TracioConfig:
| Možnost | Typ | Výchozí | Popis |
|---|---|---|---|
publicKey | string | povinné | Váš veřejný klíč. Zkopírujte ho ze svého dashboardu. |
region | "us" | "eu" | žádný | Volitelný datový region. Bez uvedení SDK používá obecný endpoint https://edge.tracio.ai (bez implicitní US datové rezidence). Nastavte ho výslovně na us nebo eu. |
endpoint | string | automat. | Vlastní API endpoint (pro endpoint proxovaný přes first-party). |
scriptUrl | string | automat. | Vlastní URL pro skript agenta (pro endpoint proxovaný přes first-party). |
linkedId | string | žádný | Identifikátor propojující tohoto návštěvníka s entitou ve vašem systému. |
tag | string | žádný | Volně definovatelný štítek připojený k požadavku pro pozdější filtrování. |
debug | boolean | false | Zapisuje podrobné diagnostiky do konzole. |
timeoutMs | number | 15000 | Jak dlouho čekat na výsledek, než dojde k timeoutu. |
Zavolejte tracio.getVisitorId() pro získání stabilního identifikátoru návštěvníka. Jde o asynchronní operaci.
const visitorId = await tracio.getVisitorId()
console.log(visitorId) // "X7fh2Hg9LkMn3pQr"Zavolejte tracio.getResult() pro získání kompletního výsledku identifikace včetně detekce botů.
const result = await tracio.getResult()
console.log(result.visitorId) // "X7fh2Hg9LkMn3pQr"
if (result.bot.detected) { console.warn("bot, confidence:", result.bot.confidence)}Výsledek má tvar:
{ visitorId: "X7fh2Hg9LkMn3pQr", bot: { detected: false, confidence: 2, // 0-100 reasons: [], },}Použijte callbacky životního cyklu pro reakci na to, když je agent připraven nebo něco selže, a destroy() pro zrušení instance:
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()Kompletní seznam chybových kódů a pomocníků pro opakování požadavků najdete v části Zpracování chyb.
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()}