SDK
Web
KYC SDK

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ımMetot
Yargı bölgesi seçsetJurisdiction(kod)
Birincil belge tipini seçsetPrimaryDocumentType(tip)
Profil alanlarını göndersubmitProfileData({ fields })
Rıza kaydetsubmitConsent({ consentType, noticeLocale })
Belge yükleuploadDocument({ file, documentType, side, metadata })
Canlılık videosu yükleuploadLivenessVideo({ chunkSource, nonceId, challengeSequence })
Doğrulamayı göndersubmitVerification()
Sonucu izlewatchStatus({ onStatusChange })
İnsan incelemesi isterequestManualReview({ 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 algetLiveVerificationAccess({ forceRefresh })
Odaya katıljoinLiveVerification({ deviceFingerprintRef })
Odadan ayrılleaveLiveVerification({ deviceFingerprintRef })
Oturumu açopenLiveVerificationSession(options)

Yapılandırma

AlanNe işe yarar
externalCustomerIdKendi müşteri referansınız
linkedObjectType / linkedObjectIdDoğrulamayı kendi kaydınıza bağlar
evidenceContext / evidencePurposeKanıtın hangi amaçla toplandığı — denetim izine yazılır
identitySessionBootstrapUrlIdentity oturumunu kendi ucunuzdan basmak isterseniz
apiBaseUrlVarsayılan dışında bir tabana konuşmak için
allowedOriginOturum 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