Sunucu API & Sorgular
Bu sayfadaki her şey sunucudan-sunucuya, erişim token'ının altında çalışır: Authorization: Bearer <at_live_…>. Tenant, token'ın merchant'ından türetilir — hiçbir zaman bir merchant id göndermezsiniz ve yalnız kendi verinizi görürsünüz. Bu yüzeyi; tarayıcı SDK'sının uygun olmadığı yerlerde oturum analiz etmek, event ingest etmek ve analizleri inceleme/mutabakat için geri okumak için kullanın.
Identity bir kanıt sağlayıcıdır: her analyze çağrısı bir risk snapshot'ı (skorlar, sinyaller ve bir identityRiskLevel verdict'i) döndürür — bloklamaz. Verdict'le ne yapacağınıza siz karar verirsiniz.
Sunucu tarafı vs Web SDK
| Web SDK'yı ne zaman… | Sunucu API'sini ne zaman… |
|---|---|
| Subject, kontrol ettiğiniz bir tarayıcıda ve headless SDK'yı çalıştırabiliyorsanız | Sinyal sunucu tarafında doğuyorsa — bir backend işi, bir mobil backend, API'den-API'ye akış |
| Tarayıcının cihaz/davranışsal telemetriyi doğrudan toplamasını istiyorsanız | Bağlamı zaten elinizde tutuyorsanız ve yalnız snapshot, ingest ya da sorgu istiyorsanız |
| Oturum çağrıları kısa-ömürlü bir SDK session token ile doğrulanır | Çağrılar secret key'inizle Bearer JWT olarak doğrulanır |
İkisi tamamlayıcıdır: SDK zengin tarayıcı telemetrisi toplar, sunucu API'si ise okuduğunuz kayıt sistemi ve tarayıcı olmadığındaki giriş noktasıdır.
Bir oturumu analiz edin
İki biçim, aynı snapshot:
Senkron — analyze-sync
POST /identity/live-sessions/analyze-sync hesaplanan snapshot'ı yanıtta döndürür. Bir karar sonucu beklerken satır-içi (inline) kullanın.
Asenkron — analyze
POST /identity/live-sessions/analyze anında bir traceId döndürür ve snapshot'ı arka planda hesaplar. Denetim izi ve sonucu sıcak yolda beklemeyen yüksek-hacimli ingest için kullanın; sonra GET /identity/live-sessions/:traceId ile okuyun.
curl https://api-gateway.lunixi.com/api/v1/identity/live-sessions/analyze-sync \
-H "Authorization: Bearer at_live_5f3e2b1a..." \
-H "Content-Type: application/json" \
-d '{
"subjectType": "customer",
"subjectId": "cus_8f2a9c",
"productContext": "checkout",
"paymentId": "9c6f2b1a-4e8d-4a3f-b5e6-2d7c1a9b8e30",
"session": { "token": "<sdk-session-token>" }
}'Asenkron varyant yalnız trace'i döndürür:
curl https://api-gateway.lunixi.com/api/v1/identity/live-sessions/analyze \
-H "Authorization: Bearer at_live_5f3e2b1a..." \
-H "Content-Type: application/json" \
-d '{ "subjectType": "customer", "subjectId": "cus_8f2a9c", "productContext": "signup" }'
# → { "data": { "traceId": "trc_01HV3K9X..." } }Dönen data'nın tam alan referansı için bkz. Risk Snapshot.
Event ingest
Etkileşim event'lerini akıtarak davranışsal sinyali zenginleştirin:
POST /identity/live-sessions/event— tek bir event.POST /identity/live-sessions/events/batch— tek çağrıda bir event demeti.
curl https://api-gateway.lunixi.com/api/v1/identity/live-sessions/events/batch \
-H "Authorization: Bearer at_live_5f3e2b1a..." \
-H "Content-Type: application/json" \
-d '{
"traceId": "trc_01HV3K9X...",
"events": [
{ "type": "wallet_transfer_click", "at": "2026-07-09T12:00:01.000Z" }
]
}'Event type serbest bir string'tir — sabit bir enum yoktur.
Analizleri sorgulayın
Her analiz saklanır, merchant-scoped'tur ve redakte edilir. Geri okuyun:
| Method | Path | Döndürür |
|---|---|---|
GET | /identity/live-sessions | Son analizler. paymentId, checkoutSessionId, fingerprintId, deviceId, limit ile filtreleyin |
GET | /identity/live-sessions/top-sources | En riskli kaynaklar, sıralı. days, limit ile ayarlayın |
GET | /identity/live-sessions/:traceId | Tek bir analizin tamamı |
GET | /identity/live-sessions/:traceId/timeline | Tek bir oturumun yaşam döngüsü |
GET | /identity/live-sessions/:traceId/related-sessions | Aynı cihaz cluster'ındaki diğer oturumlar |
GET | /identity/live-sessions/:traceId/account-links | Bu oturuma bağlı hesaplar / aktörler |
Listeleme ve filtreleme
# Tek bir ödemeye bağlı her analiz
curl "https://api-gateway.lunixi.com/api/v1/identity/live-sessions?paymentId=9c6f2b1a-4e8d-4a3f-b5e6-2d7c1a9b8e30" \
-H "Authorization: Bearer at_live_5f3e2b1a..."
# Son 7 gündeki en riskli 10 kaynak
curl "https://api-gateway.lunixi.com/api/v1/identity/live-sessions/top-sources?days=7&limit=10" \
-H "Authorization: Bearer at_live_5f3e2b1a..."İlişkili oturumlar & hesap bağları
Bu iki sorgu tek bir analizi bir grafiğe dönüştürür — fark, neyi birbirine bağladıklarıdır:
related-sessionscihaz cluster'ında yürür: Identity'nin aynı fiziksel cihaza ya da cihaz ailesine atfettiği diğer oturumlar. Tek bir cihazın birçok "ayrı" oturumu sürdüğünü — cihaz çiftlikleri ve çok-oturumlu suistimali — böyle yüzeye çıkarırsınız.account-linkshesaplar arasında aktörü izler: bu oturumun arkasındaki aynı aktöre bağlı hesaplar ya da kimlikler. Trial-actor ve çok-hesap örüntülerini — tek bir kişinin birçok hesaba yayılması — böyle yüzeye çıkarırsınız.
curl "https://api-gateway.lunixi.com/api/v1/identity/live-sessions/trc_01HV3K9X.../related-sessions" \
-H "Authorization: Bearer at_live_5f3e2b1a..."
curl "https://api-gateway.lunixi.com/api/v1/identity/live-sessions/trc_01HV3K9X.../account-links" \
-H "Authorization: Bearer at_live_5f3e2b1a..."Cluster ve aktör bağları geçmişe-görelidir: yepyeni bir cihaz ya da aktörün az sayıda bağı vardır ya da hiç yoktur; aynı cihaz/aktör tekrar görüldükçe grafik daha bağlantılı hâle gelir. İlişkili oturumlar snapshot'taki matchedClusterId'i, hesap bağları ise aynı-aktör atfını yansıtır.
Notlar
- Yalnız Bearer. Buradaki tüm çağrılar
Authorization: Bearer <at_live_…>kullanır; tenant token'ınızın merchant'ıdır. Ayrıca bir merchant id göndermeyin. - Okuma redakte edilir. Sorgu yanıtları merchant-scoped'tur ve iç metadata'dan arındırılmıştır — public snapshot yüzeyini alırsınız.
Sonraki adımlar
- Risk Snapshot — tam alan referansı
- Web SDK — tarayıcı tarafı toplama ve session token'lar
- Identity Assertion & JWKS — bir analizin non-repudiable doğrulaması
- Mobil Tehdit · POS / Terminal Tehdit