कॉन्टेंट पर जाएं

API संदर्भ

एंटी-फ्रॉड API

पहचान के लिए एक ब्राउज़र SDK, रियल-टाइम इवेंट के लिए हस्ताक्षरित webhooks, और इतिहास के लिए एक केवल-पढ़ने वाला Server API। डिवाइस स्तर पर धोखाधड़ी रोकने के लिए आवश्यक सब कुछ।

SDK@tracio/sdk

क्लाइंट SDK के साथ ब्राउज़र में एक विज़िटर की पहचान करें। बिना किसी सर्वर राउंड-ट्रिप के एक स्थिर विज़िटर ID और बॉट निर्णय लौटाता है। पब्लिक की को क्लाइंट-साइड कोड में शिप करना सुरक्षित है।

अनुरोध

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

प्रतिक्रिया

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

TRACIO हर पहचान पर आपके एंडपॉइंट को एक हस्ताक्षरित इवेंट भेजता है। X-Tracio-Signature हेडर सत्यापित करें, फिर फ्लैट JSON पेलोड पर कार्रवाई करें। यह push सतह है: इसके लिए पोल करने की ज़रूरत नहीं। यदि बाद में किसी विज़िट को पढ़ना ही हो, तो Server API requestId से जवाब देता है।

अनुरोध

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

प्रतिक्रिया

{
"version": 2,
"event": "identification",
"eventId": "9c1f4b2e-7d3a-4f18-8b6c-2e5a71d0c4f9:primary",
"requestId": "9c1f4b2e-7d3a-4f18-8b6c-2e5a71d0c4f9",
"phase": "primary",
"visitorId": "X7fh2Hg9LkMn3pQr5tBvQw3xZa9mK2pL4nR8dT6y",
"timestamp": "2026-03-12T16:00:00Z",
"bot": { "result": "human", "score": 2 },
"identification": { "confidence": 0.95, "incognito": false },
"network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false },
"decision": { "action": "real", "riskScore": 4 }
}
GET/.well-known/webhook-keys

webhook डिलीवरी सत्यापित करने के लिए उपयोग होने वाली प्लेटफ़ॉर्म की Ed25519 पब्लिक कीज़ प्राप्त करें। इस रूट को कोई प्रमाणीकरण नहीं चाहिए और यह पाँच मिनट के लिए कैश होता है। सिग्नेचर हेडर में मौजूद kid बताता है कि कौन-सी की उपयोग करनी है।

अनुरोध

curl https://api.tracio.ai/.well-known/webhook-keys

प्रतिक्रिया

{
"keys": [
{
"kid": "k1",
"alg": "Ed25519",
"publicKey": "MCowBQYDK2VwAyEA9tR2v1kQ..."
}
]
}
GET/v1/visitors/{visitorId}

अपनी सीक्रेट की से Server API के माध्यम से किसी विज़िटर का इतिहास पढ़ें। Pro प्लान से उपलब्ध। विंडो आपके प्लान तक सीमित रहती है और आपको असल में जो विंडो मिली वह meta में लौटाई जाती है। GDPR राइट-ऑफ़-एक्सेस अनुरोधों का समर्थन करता है।

अनुरोध

# Server API — available on the Pro plan and above
curl "https://api.tracio.ai/v1/visitors/X7fh2Hg9LkMn3pQr5tBvQw3xZa9mK2pL4nR8dT6y" \
-H "Authorization: Bearer tracio_sk_XXXX...XXXX"

प्रतिक्रिया

{
"visitorId": "X7fh2Hg9LkMn3pQr5tBvQw3xZa9mK2pL4nR8dT6y",
"firstSeenAt": "2026-03-01T08:11:00Z",
"lastSeenAt": "2026-03-16T14:22:01Z",
"visits": 12,
"incognitoVisits": 1,
"uniqueIps": 4,
"uniqueCountries": 2,
"risk": { "maxRiskScore": 63, "lastDecision": "real" },
"network": {
"vpnSeen": false,
"proxySeen": false,
"torSeen": false,
"datacenterSeen": true
},
"meta": {
"plan": "pro",
"retentionDays": 30,
"from": "2026-02-14T00:00:00Z",
"to": "2026-03-16T14:30:00Z"
}
}

प्रमाणीकरण

TRACIO प्रति सतह एक-एक करके तीन क्रेडेंशियल उपयोग करता है: ब्राउज़र SDK के लिए एक पब्लिक की, Server API के लिए Authorization: Bearer के रूप में भेजी जाने वाली एक सीक्रेट की (tracio_sk_…), और webhook डिलीवरी सत्यापित करने के लिए एक HMAC साइनिंग सीक्रेट। सीक्रेट की डैशबोर्ड में बनाई जाती है, एक बार दिखाई जाती है, और उसे कभी ब्राउज़र तक नहीं पहुँचना चाहिए — Server API जानबूझकर कोई CORS हेडर नहीं लौटाता।

# Client SDK — public key (safe to ship in the browser)
Tracio.init({ publicKey: '5ca175fc...' })
# Server API — secret key, created in the dashboard and shown once
Authorization: Bearer tracio_sk_XXXX...XXXX
# Webhook verification — HMAC-SHA256 over "<t>.<rawBody>"
X-Tracio-Signature: t=<unix>,v1=<hmac_sha256_hex>

रेट लिमिट

सीमाएँ प्रति वर्कस्पेस हैं। Server API कॉल पहचानों से अलग गिने जाते हैं, इसलिए अपना ही इतिहास पढ़ने से वह कोटा कभी खर्च नहीं होता जिसके लिए आप भुगतान करते हैं। हर प्रतिक्रिया में X-RateLimit-Limit, X-RateLimit-Remaining और X-RateLimit-Reset होते हैं, और 429 पर Retry-After भी। Server API, Free प्लान का हिस्सा नहीं है।

प्लानServer API दरServer API प्रति दिनWebhook एंडपॉइंटक्वेरी विंडो
फ्रीशामिल नहींशामिल नहीं07 days
प्रो10 req/s10,000530 days
बिज़नेस50 req/s100,0002090 days
एंटरप्राइज़200 req/sअसीमित100365 days

एरर कोड

हर एरर एक ही लिफ़ाफ़ा लौटाता है: एक error ऑब्जेक्ट जिसमें स्ट्रिंग code, मनुष्य-पठनीय message, और विफल कॉल का requestId होता है।

400Bad Requestगलत तरीके से बने क्वेरी पैरामीटर, असमर्थित विंडो, या ऐसा पहचानकर्ता जो मान्य विज़िटर ID नहीं है।
401Unauthorizedअनुपस्थित या अमान्य क्रेडेंशियल — पब्लिक की (SDK), सीक्रेट की (Server API), या webhook हस्ताक्षर।
402Upgrade Requiredआपके प्लान में Server API एक्सेस शामिल नहीं है। यह Pro प्लान से शुरू होता है।
404Not Foundआपके प्लान की क्वेरी विंडो में उस पहचानकर्ता वाला कोई विज़िटर या सेशन नहीं है।
405Method Not AllowedServer API केवल-पढ़ने के लिए है। हर रूट सिर्फ़ GET का जवाब देता है, और कुछ नहीं।
429Rate Limitedप्रति सेकंड बहुत अधिक अनुरोध, या दैनिक कोटा खर्च हो चुका है। Retry-After हेडर और अपनी प्लान सीमाएँ जाँचें।
500Internal Errorसर्वर एरर। एक्सपोनेंशियल बैकऑफ़ के साथ पुनः प्रयास करें। यदि बना रहे, तो requestId के साथ सहायता से संपर्क करें।
503Service UnavailableAPI अस्थायी रूप से जवाब देने में असमर्थ है। एक्सपोनेंशियल बैकऑफ़ के साथ पुनः प्रयास करें।

एरर प्रतिक्रिया प्रारूप

{
"error": {
"code": "rate_limited",
"message": "too many requests",
"requestId": "8f14e45fceea167a5a36dedd"
}
}

बनाना शुरू करें

अपनी API key प्राप्त करें और 5 मिनट से भी कम में अपना पहला पहचान अनुरोध करें।