Flux d’intégration
Language

Events API

Intégrez cside fingerprinting dans votre application. Collectez les signaux du navigateur, générez des tokens d'identification et récupérez des informations détaillées sur les visiteurs depuis votre backend.

Ce guide vous accompagne dans l’intégration de l’Events API de cside fingerprinting de bout en bout : chargement du script client, génération d’un token d’identification, envoi au backend et interprétation de la réponse.

Flux d’intégration

Ajoutez le script à votre page

Incluez le script cside fingerprinting dans le <head> de votre page. Il doit être chargé avant d’appeler toute fonction de fingerprinting.

<script
  src="https://<YOUR_SUBDOMAIN>.csidetm.com/script.js"
  referrerpolicy="origin"
  data-src="6">
</script>

Générez un token d’identification

Une fois le script chargé, une fonction globale devient disponible. Appelez-la avec un identifiant client (par exemple un clientId ou userId) pour générer un token.

const result = await submitFingerprint("your-client-id");

Paramètres

ParamètreTypeDescription
clientIdstringUn identifiant unique pour l’utilisateur ou la session, tel qu’un clientId ou userId.

Valeur de retour

La fonction renvoie un objet token :

{
  "token": "eyJhbGciOiJIUzI1NiIs..."
}

Envoyez le token à votre backend

Transmettez le token renvoyé à votre backend pour une vérification côté serveur. L’URL de votre endpoint backend sera fournie après le déploiement.

URL provisoire

Remplacez l’URL ci-dessous par votre endpoint backend réel une fois qu’il aura été provisionné.

POST https://<YOUR_BACKEND_HOST>/<PLACEHOLDER_PATH>

Exemple de requête

const response = await fetch("https://<YOUR_BACKEND_HOST>/<PLACEHOLDER_PATH>", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ token: result.token }),
});

const data = await response.json();

Corps de la requête

ChampTypeDescription
tokenstringLe token renvoyé par l’appel submitFingerprint côté client.

Interprétez la réponse du backend

Votre backend renvoie une réponse JSON contenant le résultat d’identification et les signaux associés. Consultez la référence complète de la réponse ci-dessous.

Référence de la réponse

La réponse du backend comprend l’identification du visiteur, les détails du navigateur, l’intelligence IP et un ensemble de signaux de détection de fraude.

Champs de niveau supérieur

ChampTypeDescription
linked_idstringUn identifiant que vous avez associé à ce visiteur.
tagsobjectMétadonnées personnalisées attachées à l’événement.
timestampnumberHorodatage Unix (millisecondes) de l’événement.
event_idstringIdentifiant unique pour cet événement de fingerprinting.
urlstringL’URL de la page où le fingerprint a été collecté.
ip_addressstringL’adresse IP du visiteur.
user_agentstringLa chaîne User-Agent brute du navigateur du visiteur.
client_referrerstringL’URL de référence de la page.

browser_details

Détails sur le navigateur et le système d’exploitation du visiteur.

ChampTypeDescription
browser_namestringNom du navigateur (par exemple "Chrome").
browser_major_versionstringNuméro de version majeure.
browser_full_versionstringChaîne de version complète.
osstringNom du système d’exploitation.
os_versionstringVersion du système d’exploitation.
devicestringType d’appareil (par exemple "Other", "Mobile").

identification

Le résultat d’identification principal du visiteur.

ChampTypeDescription
visitor_idstringUn identifiant unique et stable pour ce visiteur.
confidence.scorenumberScore de confiance entre 0 et 1.
confidence.versionstringVersion du modèle de confiance utilisé.
visitor_foundbooleanSi ce visiteur a déjà été vu.
first_seen_atnumberHorodatage Unix (ms) de la première identification du visiteur.
last_seen_atnumberHorodatage Unix (ms) de l’identification la plus récente du visiteur.

supplementary_id_high_recall

Une identification secondaire optimisée pour un meilleur rappel (moins de faux négatifs) au prix d’une précision légèrement inférieure.

ChampTypeDescription
visitor_idstringIdentifiant du visiteur sous le modèle à haut rappel.
visitor_foundbooleanSi le visiteur a été trouvé.
confidence.scorenumberScore de confiance entre 0 et 1.
confidence.versionstringVersion du modèle de confiance utilisé.
first_seen_atnumberHorodatage Unix (ms) de la première identification.
last_seen_atnumberHorodatage Unix (ms) de l’identification la plus récente.

proximity

Données de proximité géographique du visiteur.

ChampTypeDescription
idstringIdentifiant de localisation de proximité.
precision_radiusnumberRayon de précision en kilomètres.
confidencenumberScore de confiance pour l’estimation de proximité.

ip_info

Informations sur l’adresse IP du visiteur.

ChampTypeDescription
v4.addressstringAdresse IPv4.
v6.addressstringAdresse IPv6.

ip_blocklist

Si l’IP du visiteur apparaît sur des listes de blocage connues.

ChampTypeDescription
email_spambooleanL’IP est associée à du spam par e-mail.
attack_sourcebooleanL’IP est une source d’attaque connue.
tor_nodebooleanL’IP est un nœud de sortie Tor.

Signaux de fraude et d’environnement

Signaux booléens et chaînes indiquant des attributs suspects ou notables du visiteur.

ChampTypeDescription
botstringRésultat de détection de bot. "not_detected" lorsqu’aucun bot n’est trouvé.
root_appsbooleanL’appareil a des applications root/superutilisateur installées.
emulatorbooleanL’appareil est un émulateur.
proxybooleanLe visiteur utilise un proxy.
proxy_confidencestringNiveau de confiance : "low", "medium" ou "high".
vpnbooleanLe visiteur utilise un VPN.
vpn_confidencestringNiveau de confiance : "low", "medium" ou "high".
incognitobooleanLe navigateur est en mode incognito/privé.
tamperingbooleanLes attributs du navigateur ont été falsifiés.
jailbrokenbooleanL’appareil est jailbreaké.
fridabooleanToolkit d’instrumentation Frida détecté.
virtual_machinebooleanLe visiteur s’exécute dans une machine virtuelle.
developer_toolsbooleanLes outils de développement du navigateur sont ouverts.
mitm_attackbooleanAttaque man-in-the-middle détectée.
replayedbooleanLa requête est une répétition d’une requête précédente.
high_activity_devicebooleanNombre inhabituellement élevé d’identifications depuis cet appareil.

raw_device_attributes

Composants de bas niveau du fingerprint du navigateur.

ChampTypeDescription
mathstringHash de la sortie du moteur mathématique.
vendorstringChaîne du fournisseur GPU/graphique.

Exemple complet de réponse

{
  "linked_id": "somelinkedId",
  "tags": {},
  "timestamp": 1708102555327,
  "event_id": "1708102555327.NLOjmg",
  "url": "http://www.example.com/login",
  "ip_address": "61.127.217.15",
  "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) ...",
  "client_referrer": "https://example.com/blog/my-article",
  "browser_details": {
    "browser_name": "Chrome",
    "browser_major_version": "74",
    "browser_full_version": "74.0.3729",
    "os": "Windows",
    "os_version": "7",
    "device": "Other"
  },
  "identification": {
    "visitor_id": "Ibk1527CUFmcnjLwIs4A9",
    "confidence": { "score": 0.97, "version": "1.1" },
    "visitor_found": false,
    "first_seen_at": 1708102555327,
    "last_seen_at": 1708102555327
  },
  "supplementary_id_high_recall": {
    "visitor_id": "3HNey93AkBW6CRbxV6xP",
    "visitor_found": true,
    "confidence": { "score": 0.97, "version": "1.1" },
    "first_seen_at": 1708102555327,
    "last_seen_at": 1708102555327
  },
  "proximity": {
    "id": "w1aTfd4MCvl",
    "precision_radius": 10,
    "confidence": 0.95
  },
  "bot": "not_detected",
  "root_apps": false,
  "emulator": false,
  "ip_info": {
    "v4": { "address": "94.142.239.124" },
    "v6": { "address": "2001:db8:3333:4444:5555:6666:7777:8888" }
  },
  "ip_blocklist": {
    "email_spam": false,
    "attack_source": false,
    "tor_node": false
  },
  "proxy": true,
  "proxy_confidence": "low",
  "vpn": false,
  "vpn_confidence": "high",
  "incognito": false,
  "tampering": false,
  "jailbroken": false,
  "frida": false,
  "virtual_machine": false,
  "developer_tools": false,
  "mitm_attack": false,
  "replayed": false,
  "high_activity_device": false,
  "raw_device_attributes": {
    "math": "5f030fa7d2e5f9f757bfaf81642eb1a6",
    "vendor": "Google Inc."
  }
}