Dokumentacija za Razvijalce
Nevidna zaščita pred roboti. Brez CAPTCHA. Pristop, ki temelji na API-ju.
Hitri Začetek
1
Namesti in Integriraj
Dodaj skripto in pridobi žeton (token)
2
Preveri na Strežniku
Preveri veljavnost žetona na svojem zalednem sistemu (backend)
Hiter Test s cURL-om
Preveri 'nonce' iz ukazne vrstice
# Preveri Nonce
curl -X POST https://api.silentshield.io/v1/verify \
-H "api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"nonce": "256ea6c63c3ccdd317e05cbc9ef0c659"}'Frontend Integration
Add the client script with SRI and defer attributes
<!-- Add to <head> with SRI for security -->
(function () {
var KEY = "YOUR_API_KEY";
var SITE = location.hostname;
var V = "2025.09.1";
var s = document.createElement('script');
s.src = "https://api.silentshield.io/client.js?k=" + encodeURIComponent(KEY)
+ "&v=" + encodeURIComponent(V)
+ "&site=" + encodeURIComponent(SITE);
s.async = true;
s.crossOrigin = "anonymous";
document.head.appendChild(s);
})();Varnost in Zasebnost
- Brez piškotkov – popolno delovanje brez piškotkov
- Brez zbiranja PII – skladno z GDPR in CCPA
- Gostovanje v EU – vsi podatki ostanejo v Evropi
- Skladno z WCAG – dostopno vsem uporabnikom
- Skladno s CSP – uporaba s 'Content Security Policy':
Content-Security-Policy: script-src 'self' https://api.silentshield.io;API Referenca
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
POST
/v1/verifyPreveri SilentShield Nonce
Request Headers:
AuthorizationBearer YOUR_API_KEYContent-Typeapplication/jsonRequest Body:
tokenstringNonce za preverjanjeResponse:
Success (200):
{
"ok": true,
"verdict": "human",
"confidence": 0.95,
"request_nonce": "req_abc123"
}Error:
{
"ok": false,
"verdict": "error",
"confidence": 0,
"request_nonce": "req_abc123",
"error": "Invalid nonce"
}Status Codes:
200Nonce je bil uspešno preverjen400Neveljavna zahteva (manjkajoč ali napačen Nonce)401Neveljaven API ključ429Presežena omejitev hitrosti (100 zahtev/min.)500Notranja strežniška napakaSDK-ji in Knjižnice
JavaScript ES6+
v1.0.1TypeScript
v1.0.1npm i @forge12interactive/silentshield-sdk-jsimport { SilentShield, type SilentShieldConfig } from "@forge12interactive/silentshield-sdk-js";
const config: SilentShieldConfig = {
siteKey: 'your-site-key',
timeout: 10000
};
const shield = new SilentShield(config);
const token: string = await shield.getToken();Node.js Backend
v1.0.1npm i @forge12interactive/silentshield-sdk-jsimport { SilentShieldBackend } from "@forge12interactive/silentshield-sdk-js";
const backend = new SilentShieldBackend('your-secret-key');
// Preverjanje obrazca
const result = await backend.verifyFormSubmission(formData);
if (result.isValid) {
console.log('Človek preverjen!', result.formData);
}Vue.js
v1.0.1npm i @forge12interactive/silentshield-sdk-jsimport { SilentShield } from "@forge12interactive/silentshield-sdk-js";
export default {
async mounted() {
this.shield = new SilentShield({ siteKey: 'your-key' });
await this.shield.initialize();
},
methods: {
async handleSubmit() {
const token = await this.shield.getToken();
// Pošlji z žetonom
}
}
};React
v1.0.1npm i @forge12interactive/silentshield-sdk-jsimport { SilentShield } from "@forge12interactive/silentshield-sdk-js";
import { useEffect, useState } from 'react';
function MyForm() {
const [shield, setShield] = useState(null);
useEffect(() => {
const init = async () => {
const s = new SilentShield({ siteKey: 'your-key' });
await s.initialize();
setShield(s);
};
init();
}, []);
const handleSubmit = async (e) => {
const token = await shield?.getToken();
// Pošlji z žetonom
};
return <form onSubmit={handleSubmit}>...</form>;
}Resources
Help Center
Comprehensive documentation with getting started guides, integration tutorials, configuration references, and troubleshooting.
Changelog
Stay up to date with the latest features, improvements, and fixes.
Pripravljeni na začetek?
Ustvarite brezplačen račun in pridobite ključ svojega spletnega mesta v nekaj sekundah.
Začni zdaj