Identity
Sunucu API

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ızSinyal 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ızBağ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:

MethodPathDöndürür
GET/identity/live-sessionsSon analizler. paymentId, checkoutSessionId, fingerprintId, deviceId, limit ile filtreleyin
GET/identity/live-sessions/top-sourcesEn riskli kaynaklar, sıralı. days, limit ile ayarlayın
GET/identity/live-sessions/:traceIdTek bir analizin tamamı
GET/identity/live-sessions/:traceId/timelineTek bir oturumun yaşam döngüsü
GET/identity/live-sessions/:traceId/related-sessionsAynı cihaz cluster'ındaki diğer oturumlar
GET/identity/live-sessions/:traceId/account-linksBu 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-sessions cihaz 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-links hesaplar 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