Funcionalitats
- API simple - Patró singleton amb mètodes fàcils d’utilitzar
- Integració flexible - Usa directament l’URL d’UniLink o crea sessions des del backend
- Adaptable - Funciona en navegadors d’escriptori i mòbils
- Personalitzable - Opcions de configuració per a l’estil i el comportament
- Múltiples formats - Compilacions ESM, CommonJS i UMD
- Suport de TypeScript - Definicions de tipus completes incloses
- Modes modal i en línia - Tria entre una superposició modal o una integració en línia
- Callbacks d’esdeveniments - Esdeveniments en temps real del progrés de la verificació (iniciada, pas completat, finalitzada)
- Gestió d’estat - Observa l’estat del SDK per a una interfície personalitzada
Instal·lació
NPM/Yarn
CDN (UMD)
La versió publicada més recent a npm és
0.5.1.
0.5.0 va afegir DiditSdk.shared.submitEvent() (vegeu Enviament d’esdeveniments), i 0.5.1 permet que el flux allotjat demani a una cartera d’identitat digital l’ID de l’usuari dins del SDK, i manté un inici fallit en l’estat error amb el seu errorMessage.
0.4.0 va afegir les opcions de càmera que ja ofereixen els SDK natius, incloent defaultLivenessCamera, que obre la captura facial amb la càmera posterior (vegeu Opcions de la càmera).Comprova la versió instal·lada
El teu gestor de paquets continua sent la font d’autoritat per determinar la versió instal·lada:0.3.1, aquesta exportació es genera a partir de la versió del paquet en tots els formats JavaScript (ESM, CommonJS, UMD, UMD minificat) i en la declaració de TypeScript, de manera que sempre coincideix amb la versió instal·lada.
0.3.0 i anteriors informen de 0.2.1 des d’aquesta exportació, independentment de la versió instal·lada. En aquestes versions, usa npm list o el teu fitxer de bloqueig.
JavaScript pur
Mòduls ES / TypeScript
Etiqueta script (UMD)
Exemples de frameworks
Exemples del SDK web
React, Angular, Svelte, Next.js, Nuxt, Vue i més, amb exemples i documentació per a cada framework.
Mètodes d’integració
Hi ha dues maneres d’integrar el SDK:Mètode 1: URL de UniLink (la més senzilla)
Usa directament l’URL d’UniLink del teu flux des de la Didit Console. No cal backend.Mètode 2: sessió des del backend (recomanat per a producció)
El teu backend crea una sessió mitjançant l’API de Didit i retorna la URL de verificació allotjada. Això et dona control sobrevendor_data, callback per sessió i metadata, i et permet crear sessions abans que l’usuari arribi al frontend.
Llegeix més a la referència de l’API Create Session.
Backend (Node.js / Express)
El camp de resposta en crear la sessió es diu
url (vegeu l’esquema OpenAPI de Create Session). Passa’l directament a startVerification({ url }).Configuració
Opcions de càmera
Les opcions de càmera requereixen
@didit-protocol/sdk-web 0.4.0 o posterior.defaultLivenessCamera: 'back' per obrir la captura facial amb la càmera posterior, per exemple en un quiosc o quan un operador sosté el dispositiu i l’apunta cap a la persona que es verifica.
- Els valors d’objectiu acceptats són
'front'i'back'. Qualsevol altre valor s’ignora, igual que un indicador del selector que no sigui booleà. - Si un dispositiu no té la càmera sol·licitada, conserva la que té: un portàtil al qual se li demana
'back'continuarà utilitzant la seva webcam. El selector s’amaga en els dispositius amb una sola càmera, independentment dels indicadors. - Les opcions de prova de vida s’apliquen a la comprovació de prova de vida passiva. La prova de vida activa no es veu afectada.
- L’SDK reenvia les opcions a la pàgina de verificació com a paràmetres de consulta de la URL de verificació:
document_camera,liveness_camera,document_camera_switchiliveness_camera_switch. Si obres la URL de verificació directament en lloc de fer-ho a través de l’SDK, configura-les tu mateix: afegeix?liveness_camera=backa una URL sense cadena de consulta,&liveness_camera=backa una que ja tingui paràmetres, o estableix-les amb l’APIURLperquè es cobreixin tots dos casos:
Enviament d’esdeveniments
DiditSdk.shared.submitEvent() posa en cua esdeveniments d’usuari final (registre, inici de sessió, inici de sessió fallit, tancament de sessió, restabliment de contrasenya, MFA, canvi de dispositiu) per al monitoratge d’esdeveniments de Didit.
El teu backend genera un token de monitoratge per a la persona, i l’SDK envia els esdeveniments per lots juntament amb l’empremta digital del dispositiu.
Mai enviïs una clau d’API al navegador.
Mida i desplaçament del modal
El comportament de mida que es descriu a continuació requereix la versió 0.3.1 o posterior. Les versions 0.3.0 i anteriors poden retallar el flux de verificació en pantalles d’escriptori i en orientació horitzontal d’alçada reduïda.
dvh en els navegadors que admeten unitats de finestra gràfica dinàmiques i recorre a vh en els navegadors compatibles més antics. Amb amplades de 540px o menys, el modal ocupa tota la finestra visible. El botó de tancament i la confirmació de sortida romanen dins del modal.
Flux de verificació redissenyat
Tot el que apareix en aquesta secció s’aplica des de la versió 0.5.0, que encara no està publicada. Fins que actualitzis, el modal conserva la mida descrita anteriorment.
didit:layout:
- Mida inicial, des de la versió 0.5.0: fins que la pàgina informi del seu disseny, i per a les pàgines que mai ho facin, el modal conserva la mida màxima existent de 500px per 700px. Continua ajustant-se a les finestres curtes i ocupa tota la pantalla a 540px o menys.
- Botó de tancament, des de la versió 0.5.0: un cercle de 44px sobre la barra superior de la pàgina. Segueix el tema clar o fosc de la pàgina i es mou a l’esquerra en els idiomes d’escriptura de dreta a esquerra.
- Mode incrustat, des de la versió 0.5.0: continua ocupant el seu element amfitrió, com abans (consulta Mode incrustat).
- URL de verificació, des de la versió 0.5.0: l’SDK afegeix
sdk_presentation(modaloembedded) i, en un modal,sdk_close_button(trueofalse, segonsshowCloseButton), perquè la pàgina sàpiga com es mostra. - Esdeveniments, des de la versió 0.5.0: l’SDK gestiona
didit:layoutper si mateix i no el passa aonEvent.
Mode incrustat
El mode incrustat no utilitza el límit de 500px per 700px del modal. L’SDK ocupa el contingut de caixa de l’element amfitrió, així que assigna a aquest element una alçada explícita o resolta d’una altra manera:Resultats de la verificació
L’SDK retorna tres tipus de resultats:Completat
El flux de verificació ha finalitzat (aprovada, pendent o rebutjada).El tipus TypeScript declara
'Approved' | 'Pending' | 'Declined', però el valor es passa tal com el retorna l’estat de la sessió del flux allotjat. També pots rebre altres estats, com ara In Review. Pending és el valor de reserva de l’SDK quan el flux no ha informat cap estat. Tracta status com una pista i fes servir el webhook com a decisió canònica.Cancel·lat
L’usuari ha tancat la modal de verificació.session s’inclou quan ja es coneixia un sessionId (pot ser undefined si l’usuari ha cancel·lat abans que l’iframe n’informés cap).
Fallat
S’ha produït un error durant la verificació.Gestió de l’estat
Pots observar l’estat de l’SDK per a una interfície personalitzada:Referència de l’API
DiditSdk.shared
La instància única de l’SDK.Mètodes
Propietats
Callbacks
Esdeveniments granulars
Fes el seguiment del progrés de la verificació amb el callbackonEvent:
Referència d’esdeveniments
Connexió perduda
Si la connexió de l’usuari es perd, la pàgina de verificació cobreix el flux amb una pantalla «Sense connexió a internet» en lloc de deixar un pas carregant. Continua comprovant-ho en segon pla i tanca la pantalla automàticament tan aviat com Didit torni a ser accessible, i l’usuari continua des del pas on era. Dins del modal del SDK o d’un iframe, la pantalla també ofereix Exit Verification: la pàgina envia aleshoresdidit:error amb error: "network_error", seguit de didit:cancelled, i el SDK tanca el modal i crida onComplete amb type: "cancelled".
A partir de la versió 0.5.0, el missatge didit:layout de la pàgina dimensiona el modal i no arriba a onEvent. Si en canvi incrustes la pàgina amb el teu propi iframe, consulta Dimensiona l’iframe amb didit:layout.
Valors de pas
El campstep pot ser un dels següents:
document_selection- Selecció del tipus de documentdocument_front- Cara frontal del documentdocument_back- Cara posterior del documentface- Verificació facial/prova de vidaemail- Verificació de correu electrònicphone- Verificació de telèfonpoa- Comprovant de domiciliquestionnaire- Pas de qüestionari
Valors de canal
El campchannel de code_sent pot ser:
email- Codi enviat per correu electrònicsms- Codi enviat per SMSwhatsapp- Codi enviat per WhatsApp
Mida del codi
El campcodeSize de code_sent indica la longitud del codi d’un sol ús (per exemple, 4 o 6 dígits).