Référence API
API antifraude
Un SDK navigateur pour l'identification, des webhooks signés pour les événements en temps réel et une API de gestion d'espace de travail. Tout ce qu'il vous faut pour stopper la fraude au niveau de l'appareil.
Endpoints
@tracio/sdkIdentifiez un visiteur dans le navigateur avec le SDK client. Renvoie un identifiant visiteur stable et un verdict de bot sans aller-retour serveur. La clé publique peut être livrée en toute sécurité dans le code côté client.
Requête
import { Tracio } from '@tracio/sdk'const tracio = Tracio.init({ publicKey: '5ca175fc...' })const result = await tracio.getResult()Réponse
{ "visitorId": "X7fh2Hg9LkMn3pQr", "bot": { "detected": false, "confidence": 2, "reasons": [] }}/webhook/tracioTRACIO délivre un événement signé à votre endpoint à chaque identification. Vérifiez l'en-tête X-Tracio-Signature, puis agissez sur le payload JSON à plat. C'est la surface d'événements côté serveur — il n'y a pas de lecture REST poll-by-requestId.
Requête
POST /webhook/tracio HTTP/1.1Host: your-server.comContent-Type: application/jsonX-Tracio-Signature: t=1710432000,v1=5257a869e7ecebed...Réponse
{ "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 }}/api/v1/workspaces/{workspaceId}/webhooksEnregistrez un endpoint webhook via l'API de gestion d'espace de travail. Authentifié avec le JWT de votre session tableau de bord (Clerk) et vérifié par rapport à votre rôle dans l'espace de travail. Le secret de signature est renvoyé une seule fois, à la création.
Requête
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": [] }'Réponse
{ "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" }}/api/v1/workspaces/{workspaceId}/visitors/{visitorId}Consultez l'historique stocké d'un visiteur via l'API de gestion d'espace de travail, authentifiée avec le JWT de votre session tableau de bord (Clerk). Prend en charge les demandes de droit d'accès au titre du RGPD.
Requête
curl \ https://app.tracio.ai/api/v1/workspaces/{workspaceId}/visitors/X7fh2Hg9LkMn3pQr \ -H "Authorization: Bearer <clerk-session-jwt>"Réponse
{ "ok": true, "data": { "visitorId": "X7fh2Hg9LkMn3pQr", "firstSeenAt": "2024-03-01T08:11:00Z", "lastSeenAt": "2024-03-16T14:22:01Z", "visits": 12 }}Authentification
TRACIO utilise trois identifiants, un par surface : une clé publique pour le SDK navigateur, le JWT de votre session tableau de bord (Clerk) pour l'API de gestion d'espace de travail, et un secret de signature HMAC pour vérifier les livraisons webhook. Il n'y a pas de secret API autonome.
# 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>Limites de débit
Les limites sont par espace de travail. Les réponses de l'API de gestion incluent les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et Retry-After.
| Plan | Identifications | Événements webhook | API de gestion | Consultations de visiteur |
|---|---|---|---|---|
| Gratuit | 100/day | 100/day | 50/day | 100/day |
| Pro | 1,000/min | 1,000/min | 500/min | 1,000/min |
| Enterprise | 10,000/min | 10,000/min | 5,000/min | 10,000/min |
Codes d'erreur
Toutes les erreurs renvoient un corps JSON avec les champs code, message et details.
Format de la réponse d'erreur
{ "error": { "code": 429, "message": "Rate limit exceeded", "details": "1000 requests per minute limit reached for this workspace", "retryAfter": 12 }}Commencez à développer
Obtenez votre clé API et effectuez votre première requête d'identification en moins de 5 minutes.