KYC SDK
Müşterinin kimlik doğrulamasını sizin sayfanızda tamamlatır. İki şekilde kullanılır: ekranı biz çizeriz, ya da yalnız veri katmanını alıp kendi arayüzünüzü yazarsınız.
<script src="https://cdn.lunixi.com/lunixi-loader.min.js"></script>// Tüm rehberli akışı bir DOM hedefine çizer
const handle = await Lunixi.kyc.mount('#kyc-container', {
externalCustomerId: 'cus_8f2a9c',
});
// Sonradan kaldırmak isterseniz
// handle.unmount();Ağır UI (React + akış ekranları) ilk mount anında indirilir; öncesinde bundle'ınıza girmez.
Oturum nasıl kurulur
SDK açılışta POST /api/v1/kyc/sdk/init çağırır ve imzalı bir oturum alır. Sonraki her çağrı bu oturumla yapılır.
Tarayıcıda secret key bulunmaz. Kimlik doğrulama publishable key + Origin eşleşmesiyle yapılır; Origin'i tarayıcı koyar, sayfadaki kod sahteleyemez. → Genel Bakış
Akış adımları
| Adım | Metot |
|---|---|
| Yargı bölgesi seç | setJurisdiction(kod) |
| Birincil belge tipini seç | setPrimaryDocumentType(tip) |
| Profil alanlarını gönder | submitProfileData({ fields }) |
| Rıza kaydet | submitConsent({ consentType, noticeLocale }) |
| Belge yükle | uploadDocument({ file, documentType, side, metadata }) |
| Canlılık videosu yükle | uploadLivenessVideo({ chunkSource, nonceId, challengeSequence }) |
| Doğrulamayı gönder | submitVerification() |
| Sonucu izle | watchStatus({ onStatusChange }) |
| İnsan incelemesi iste | requestManualReview({ reasonCode, reasonDetail }) |
Belgenin iki yüzü varsa side ile front ve back ayrı ayrı yüklenir.
Ortam ön kontrolü
Oturum başlamadan önce cihazın ve ortamın uygun olup olmadığını ölçebilirsiniz: ışık, gürültü, bağlantı ve verilen kamera çözünürlüğü.
const preflight = await Lunixi.kyc.runEnvironmentPreflight({ facingMode: 'user' });Bu ölçümdür, kapı değildir. Ön kontrol akışı hiçbir zaman bloklamaz ve açtığı kamera akışını serbest bırakır — kararı sunucu verir. Sonucu kullanıcıya "ışığı artırın" gibi bir uyarı göstermek için kullanın; kendi başına "geçemez" hükmü vermeyin.
Sonucu oturuma iliştirmek için recordEnvironmentPreflight(result), okumak için getEnvironmentPreflight().
Durum izleme
await client.watchStatus({
intervalMs: 3000,
onStatusChange: (status) => render(status),
});timeoutMs ve signal ile süre sınırı koyabilir, terminalStatuses ile hangi durumlarda duracağını belirleyebilirsiniz.
Canlı görüntülü doğrulama
Akış insan operatörle görüntülü doğrulamaya düşerse:
| İş | Metot |
|---|---|
| Erişim bilgisini al | getLiveVerificationAccess({ forceRefresh }) |
| Odaya katıl | joinLiveVerification({ deviceFingerprintRef }) |
| Odadan ayrıl | leaveLiveVerification({ deviceFingerprintRef }) |
| Oturumu aç | openLiveVerificationSession(options) |
Yapılandırma
| Alan | Ne işe yarar |
|---|---|
externalCustomerId | Kendi müşteri referansınız |
linkedObjectType / linkedObjectId | Doğrulamayı kendi kaydınıza bağlar |
evidenceContext / evidencePurpose | Kanıtın hangi amaçla toplandığı — denetim izine yazılır |
identitySessionBootstrapUrl | Identity oturumunu kendi ucunuzdan basmak isterseniz |
apiBaseUrl | Varsayılan dışında bir tabana konuşmak için |
allowedOrigin | Oturum token'ının origin bağı |
Bilmeniz gerekenler
SDK fail-open değildir. init(), yükleme ve gönderim çağrıları başarısız olduğunda hata fırlatır — sessizce "doğrulandı" dönmez. try/catch ile sarmalayın ve doğrulama tamamlanamadığında akışınızın ne yapacağına siz karar verin.
Canlılık videosu uçları oturum kapsamlıdır — gerçek sessionId sunucu tarafından yola gömülür. İmzalı oturum bu uçları taşımıyorsa uploadLivenessVideo fail-closed davranır, tahmini bir adrese düşmez.
İlgili
- Web SDK Genel Bakış — loader, modlar, kimlik doğrulama modelleri
- Identity Web SDK — cihaz ve davranış telemetrisi