Vergelijk een inloglocatie met de vorige opgeslagen locatie
Een grote verandering in IP-afgeleide locatie binnen een korte periode kan beoordeling rechtvaardigen. POST /v1/risk/check vergelijkt de huidige geschatte locatie van een gebruiker met het vorige opgeslagen punt en geeft afstand, verstreken tijd, impliciete snelheid en een risicoclassificatie terug — neem contact met ons op om beschikbaarheid te bevestigen voordat je integreert, aangezien onafhankelijke handhaving per risicoabonnement en gereedheid voor checkout niet zijn geverifieerd.
Beschikbaarheid
Dit endpoint deelt dezelfde geheime-sleutelmiddleware als IP-lookup, die controleert of een sleutel een geheime sleutel is — het handhaaft geen aparte risicoabonnementsfamilie onafhankelijk, en de voorgeladen risicoprijzen hebben geen actieve prijs geconfigureerd. Bevestig de huidige voorwaarden en beschikbaarheid bij ons voordat je hierop vertrouwt in productie.
Invoer en gebruik van de geheime sleutel
Stuur een JSON-body met userId, ip en een optionele boolean commit (standaard true) naar POST /v1/risk/check met een geheime sleutel via Authorization: Bearer YOUR_SECRET_KEY — uitsluitend server-naar-server, nooit vanuit een browser.
De eerste observatie
De allereerste controle van een gebruiker heeft geen vorige locatie om mee te vergelijken: deze geeft risk: "low", impossibleTravel: false, null-waarden voor afstand/snelheid/verstreken tijd, en een null previousLocation terug, en — als commit niet false is — slaat deze observatie op als de nieuwe baseline.
Latere observaties
Latere controles vergelijken de kortste-boogafstand tussen het vorige en huidige punt met de verstreken tijd om een impliciete snelheid te krijgen. Onder 500 km/u is het resultaat "low"; tussen 500 en 900 km/u "medium" (een echte langeafstandsvlucht kan dichtbij deze grens landen); boven 900 km/u "high" en impossibleTravel: true.
De commit-vlag
commit is standaard true. Zet deze op false voor een speculatieve voorcontrole — bijvoorbeeld voorafgaand aan een beslissing over extra verificatie — die de opgeslagen baseline leest zonder deze te verplaatsen, zodat een legitieme controle de werkelijke locatiegeschiedenis van de gebruiker niet verstoort.
Ontbrekende locaties
Als ip niet kan worden herleid tot een breedte-/lengtegraad, geeft het endpoint een 422 terug in plaats van een gok met lage betrouwbaarheid.
Retentie en verwijdering
v1 slaat precies één locatie op per combinatie van (jouw account, userId) — de meest recente gecommitte observatie — zonder automatisch verval en zonder momenteel beschikbaar verwijder-endpoint; deze blijft bestaan tot de volgende gecommitte controle deze overschrijft. Omdat het een aan userId gekoppelde locatie opslaat die verder gaat dan één verzoek-/antwoordcyclus, maakt het gebruik van dit endpoint Watch-IP tot verwerker van die gegevens namens jou — zie de DPA.
Valse positieven
v1 heeft geen VPN- of datacenterbewuste onderdrukking, dus snel wisselende VPN's of gewone IP-wisselingen van mobiele netwerken kunnen een verhoogd resultaat opleveren. Behandel elke classificatie als een ruw signaal voor je eigen beoordelingsproces, geen definitief oordeel.
Velden in het antwoord
- risk
- low, medium of high, op basis van de bovenstaande drempels voor impliciete snelheid.
- impossibleTravel
- Boolean-afkorting voor risk: "high".
- distanceKm, impliedSpeedKmh, elapsedSeconds
- De afstand en tijd tussen de vorige en huidige observatie, en de snelheid die dat impliceert. Null bij de allereerste controle van een gebruiker.
- previousLocation
- country, latitude, longitude en observedAt voor de opgeslagen baseline vóór deze aanroep. Null bij de allereerste controle van een gebruiker.
- currentLocation
- country, latitude en longitude, herleid uit het ip dat je bij deze aanroep hebt opgegeven.
Voer eerst een controle uit, commit daarna
Backend-cURL
# Speculatieve controle voorafgaand aan je eigen authenticatiebeslissing — verplaatst de baseline niet.
curl https://api.watch-ip.com/v1/risk/check \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"userId": "u_123", "ip": "203.0.113.1", "commit": false}'
# Nadat je eigen verificatie van wachtwoord/2FA is geslaagd, commit je de nieuwe baseline.
curl https://api.watch-ip.com/v1/risk/check \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"userId": "u_123", "ip": "203.0.113.1"}'commit is standaard true, dus de tweede aanroep hierboven werkt de opgeslagen baseline bij; de eerste, met commit: false, doet dat niet.
Veelgestelde vragen
Wat gebeurt er bij de eerste controle?
Deze geeft altijd risk: "low" terug met een null previousLocation — er is nog niets om de huidige locatie mee te vergelijken.
Onderdrukt het VPN-sprongen?
Nee. v1 heeft geen VPN- of datacenterbewuste onderdrukking, dus het wisselen van netwerken of VPN-exits tussen inlogs kan op zichzelf al een gemiddeld of hoog resultaat opleveren.
Is een hoog resultaat bewijs van compromittering?
Nee. Het is een ruwe berekening van afstand over tijd. Combineer het met je eigen authenticatiebewijs in plaats van het als een op zichzelf staand oordeel te behandelen.
Kan ik voorkomen dat de baseline wordt bijgewerkt?
Ja — geef commit: false door. De controle wordt nog steeds uitgevoerd en geeft een resultaat terug, maar de opgeslagen locatie wordt niet vervangen.
Hoe lang wordt de vorige locatie bewaard?
Voor onbepaalde tijd, totdat de volgende gecommitte controle voor die userId deze overschrijft — er is geen automatisch verval en geen verwijder-endpoint in de huidige implementatie.
Gerelateerde pagina's
- POST /v1/risk/check-referentieVolledige veldreferentie voor het detectie-endpoint voor onmogelijke reizen.
- Detectie van inlogrisicoGebruik IP-afgeleide locatiewijzigingen om inlogbeoordeling te ondersteunen, zodra toegang tot de risicocontrole is bevestigd.
- ContactpaginaNeem contact op met de support of sales van Watch-IP.
- Valse positieven bij onmogelijke reizenWaarom een hoge score voor onmogelijke reizen geen bewijs is van accountovername.