Hoppa till innehåll

API-referens

Antibedrägeri-API

En webbläsar-SDK för identifiering, signerade webhooks för händelser i realtid och ett API för arbetsytehantering. Allt du behöver för att stoppa bedrägeri på enhetsnivå.

SDK@tracio/sdk

Identifiera en besökare i webbläsaren med klient-SDK:n. Returnerar ett stabilt besökar-ID och botverdikt utan server-tur och retur. Den publika nyckeln är säker att inkludera i klientsideskod.

Begäran

import { Tracio } from '@tracio/sdk'
const tracio = Tracio.init({ publicKey: '5ca175fc...' })
const result = await tracio.getResult()

Svar

{
"visitorId": "X7fh2Hg9LkMn3pQr",
"bot": {
"detected": false,
"confidence": 2,
"reasons": []
}
}
POST/webhook/tracio

TRACIO levererar en signerad händelse till din endpoint vid varje identifiering. Verifiera X-Tracio-Signature-headern och agera sedan på den platta JSON-nyttolasten. Detta är serversidesytan för händelser — det finns ingen poll-by-requestId REST-läsning.

Begäran

POST /webhook/tracio HTTP/1.1
Host: your-server.com
Content-Type: application/json
X-Tracio-Signature: t=1710432000,v1=5257a869e7ecebed...

Svar

{
"requestId": "1710432000_abc123",
"visitorId": "X7fh2Hg9LkMn3pQr",
"bot": { "result": "human", "type": "", "score": 0.02 },
"identification": { "confidence": 0.95, "visitType": "returning" },
"network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false },
"decision": { "action": "allow", "riskScore": 4 }
}
POST/api/v1/workspaces/{workspaceId}/webhooks

Registrera en webhook-endpoint via API:et för arbetsytehantering. Autentiserad med din dashboard-sessions (Clerk) JWT och kontrollerad mot din roll i arbetsytan. Signeringshemligheten returneras en gång vid skapandet.

Begäran

curl -X POST \
https://app.tracio.ai/api/v1/workspaces/{workspaceId}/webhooks \
-H "Authorization: Bearer <clerk-session-jwt>" \
-H "Content-Type: application/json" \
-d '{ "url": "https://your-server.com/webhook/tracio", "events": [] }'

Svar

{
"ok": true,
"data": {
"id": "wh_abc123",
"url": "https://your-server.com/webhook/tracio",
"events": [],
"signingSecret": "f3a9…<hex>",
"status": "active",
"createdAt": "2024-03-12T16:00:00Z"
}
}
GET/api/v1/workspaces/{workspaceId}/visitors/{visitorId}

Slå upp en besökares lagrade historik via API:et för arbetsytehantering, autentiserad med din dashboard-sessions (Clerk) JWT. Stödjer förfrågningar om rätt till åtkomst enligt GDPR.

Begäran

curl \
https://app.tracio.ai/api/v1/workspaces/{workspaceId}/visitors/X7fh2Hg9LkMn3pQr \
-H "Authorization: Bearer <clerk-session-jwt>"

Svar

{
"ok": true,
"data": {
"visitorId": "X7fh2Hg9LkMn3pQr",
"firstSeenAt": "2024-03-01T08:11:00Z",
"lastSeenAt": "2024-03-16T14:22:01Z",
"visits": 12
}
}

Autentisering

TRACIO använder tre autentiseringsuppgifter, en per yta: en publik nyckel för webbläsar-SDK:n, din dashboard-sessions (Clerk) JWT för API:et för arbetsytehantering och en HMAC-signeringshemlighet för att verifiera webhook-leveranser. Det finns ingen fristående API-hemlighet.

# Client SDK — public key (safe to ship in the browser)
Tracio.init({ publicKey: '5ca175fc...' })
# Workspace management API — dashboard session (Clerk) JWT,
# additionally checked against your workspace role (RBAC)
Authorization: Bearer <clerk-session-jwt>
# Webhook verification — HMAC-SHA256 over "<t>.<rawBody>"
X-Tracio-Signature: t=<unix>,v1=<hmac_sha256_hex>

Hastighetsgränser

Gränser gäller per arbetsyta. Svar från management-API:et inkluderar headers för X-RateLimit-Limit, X-RateLimit-Remaining och Retry-After.

PlanIdentifieringarWebhook-händelserManagement-APIBesökaruppslag
Gratis100/day100/day50/day100/day
Pro1,000/min1,000/min500/min1,000/min
Enterprise10,000/min10,000/min5,000/min10,000/min

Felkoder

Alla fel returnerar en JSON-kropp med fälten code, message och details.

400Bad RequestFelformaterad begärankropp eller saknade obligatoriska fält.
401UnauthorizedSaknade eller ogiltiga autentiseringsuppgifter — publik nyckel (SDK), Clerk JWT (management-API) eller webhook-signatur.
403ForbiddenDin roll i arbetsytan (RBAC) saknar behörighet för denna operation.
404Not FoundBesökar-ID eller webhook hittades inte i din arbetsyta.
429Rate LimitedFör många begäranden. Kontrollera Retry-After-headern och dina plangränser.
500Internal ErrorServerfel. Försök igen med exponentiell backoff. Kontakta support om det kvarstår.

Format för felsvar

{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"details": "1000 requests per minute limit reached for this workspace",
"retryAfter": 12
}
}

Börja bygga

Hämta din API-nyckel och gör din första identifieringsbegäran på under 5 minuter.