本番投入の前に、統合が正しく動作することを確認します。
無料プランに登録し、ダッシュボードの 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>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 で reject させることで、エラー処理をアサートすることもできます。
自身のサーバーで識別結果に基づいて処理を行うには、署名付きの webhook として受信します。各イベントは検証可能な X-Tracio-Signature HMAC とともにエンドポイントへ配信されます。