Watch-IP

Bir giriş konumunu önceki saklanan konumla karşılaştırın

Kısa bir aralıkta IP kaynaklı konumda büyük bir değişiklik incelemeyi gerektirebilir. POST /v1/risk/check, bir kullanıcının mevcut konum tahminini önceki saklanan noktayla karşılaştırır ve mesafe, geçen süre, ima edilen hız ile bir risk sınıflandırması döndürür — bağımsız risk planı zorlaması ve ödeme hazırlığı henüz doğrulanmadığından, entegre etmeden önce kullanılabilirliği teyit etmek için bizimle iletişime geçin.

Kullanılabilirlik

Bu uç nokta, bir anahtarın gizli anahtar olup olmadığını kontrol eden IP sorgulamayla aynı gizli anahtar ara katmanını paylaşır — ayrı bir risk planı ailesini bağımsız olarak zorlamaz ve seçilen risk fiyatlandırmasında etkin bir fiyat yapılandırılmamıştır. Bunu üretimde kullanmadan önce güncel koşulları ve kullanılabilirliği bizimle teyit edin.

Girdi ve gizli anahtar kullanımı

userId, ip ve isteğe bağlı bir commit boole değerini (varsayılan true) Authorization: Bearer YOUR_SECRET_KEY ile bir gizli anahtar kullanarak POST /v1/risk/check'e JSON gövdesi olarak gönderin — yalnızca sunucudan sunucuya, asla bir tarayıcıdan değil.

İlk gözlem

Bir kullanıcının ilk kontrolünde karşılaştırılacak önceki bir konum yoktur: risk: "low", impossibleTravel: false, null mesafe/hız/geçen süre değerleri ve null bir previousLocation döndürür — ve commit false değilse, bu gözlemi yeni temel değer olarak saklar.

Sonraki gözlemler

Sonraki kontroller, önceki ve mevcut nokta arasındaki büyük daire mesafesini geçen süreyle karşılaştırarak ima edilen bir hız elde eder. 500 km/sa altı "low"; 500 ile 900 km/sa arası "medium" (gerçek bir uzun mesafe uçuşu bu sınıra yakın inebilir); 900 km/sa üzeri "high" ve impossibleTravel: true sonucunu verir.

commit işareti

commit varsayılan olarak true'dur. Örneğin bir adım doğrulama (step-up authentication) kararından önce, saklanan temel değeri hareket ettirmeden okuyan spekülatif bir ön kontrol için false yapın; böylece meşru bir kontrol, kullanıcının gerçek konum geçmişini bozmaz.

Eksik konumlar

ip bir enlem/boylama çözümlenemezse, uç nokta düşük güvenilirlikli bir tahmin yerine 422 döndürür.

Saklama ve silme

v1, (hesabınız, userId) çifti başına tam olarak bir konum — en son taahhüt edilen (committed) gözlem — saklar; otomatik süre sonu ve şu anda kullanılabilir bir silme uç noktası yoktur; bir sonraki taahhüt edilen kontrol onun üzerine yazana kadar kalıcıdır. userId ile bağlantılı bir konumu tek bir istek/yanıt döngüsünün ötesinde sakladığından, bu uç noktayı kullanmak Watch-IP'yi sizin adınıza bu verinin işleyicisi haline getirir — bkz. Veri İşleme Sözleşmesi (DPA).

Yanlış pozitifler

v1'de VPN veya veri merkezi farkındalıklı bir bastırma yoktur, bu yüzden hızlı VPN değiştirme veya sıradan mobil ağ IP değişimleri yüksek bir sonuç üretebilir. Her sınıflandırmayı kendi inceleme sürecinize ham bir sinyal olarak ele alın, kesin bir hüküm olarak değil.

Yanıt alanları

risk
Yukarıdaki ima edilen hız eşiklerinden low, medium veya high.
impossibleTravel
risk: "high" için boole kısayolu.
distanceKm, impliedSpeedKmh, elapsedSeconds
Önceki ve mevcut gözlem arasındaki mesafe ve süre ile bunun ima ettiği hız. Kullanıcının ilk kontrolünde null.
previousLocation
Bu çağrıdan önceki saklanan temel değer için country, latitude, longitude ve observedAt. Kullanıcının ilk kontrolünde null.
currentLocation
Bu çağrıda sağladığınız ip'den çözümlenen country, latitude ve longitude.

Önce ön kontrol yapın, sonra taahhüt edin

Sunucu tarafı cURL

# Speculative check ahead of your own auth decision — doesn't move the 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": false}'

# After your own password/2FA verification succeeds, commit the new 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 varsayılan olarak true'dur, bu yüzden yukarıdaki ikinci çağrı saklanan temel değeri günceller; commit: false olan birincisi güncellemez.

Sık sorulan sorular

İlk kontrolde ne olur?

Her zaman null bir previousLocation ile risk: "low" döndürür — mevcut konumu karşılaştıracak henüz hiçbir şey yoktur.

VPN sıçramalarını bastırıyor mu?

Hayır. v1'de VPN veya veri merkezi farkındalıklı bir bastırma yoktur, bu yüzden girişler arasında ağ veya VPN çıkışı değiştirmek tek başına orta veya yüksek bir sonuç üretebilir.

Yüksek bir sonuç ele geçirmenin kanıtı mıdır?

Hayır. Bu ham bir mesafe-üzeri-zaman hesaplamasıdır. Bunu tek başına bir hüküm olarak değil, kendi kimlik doğrulama kanıtınızla birleştirin.

Temel değeri güncellemekten kaçınabilir miyim?

Evet — commit: false geçirin. Kontrol yine de çalışır ve bir sonuç döndürür, ancak saklanan konum değiştirilmez.

Önceki konum ne kadar süre saklanır?

O userId için bir sonraki taahhüt edilen kontrol onun üzerine yazana kadar süresiz olarak — mevcut uygulamada otomatik süre sonu veya silme uç noktası yoktur.

İlgili sayfalar