> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Flux de verificació d'usuaris: procés de KYC i UX

> UX de verificació integral amb Didit: captura d'ID, prova de vida, reintents i retorn en temps real optimitzats per maximitzar la conversió.



Prompt del cicle de vida de la sessió
        Copia el prompt al porta-retalls



      
      

\<pre>

\````# Goal — drive a user through a full verification session

The session is the unit you build against. One `POST /v3/session/` returns a hosted URL; your user opens it; Didit runs the workflow; you receive a webhook with the decision.

For the complete recipe (SDK pick per platform, HMAC signature pipeline, decision parsing, every status), copy the canonical prompt at:

https://docs.didit.me/integration/integration-prompt

\## Session lifecycle at a glance

\| Phase | Trigger | What happens |
\|---|---|---|
\| Create | `POST https://verification.didit.me/v3/session/` | Returns `session_id`, `url`, `session_token`. Status = `Not Started`. |
\| User opens `url` | SDK / iframe / redirect | Status flips to `In Progress`. The hosted flow handles country, ID capture, liveness, retries. |
\| Processing | Didit backend | OCR, liveness, face match, AML, etc. run; per-feature plural arrays populate on the decision. |
\| Decision | `status.updated` webhook | One of `Approved`, `Declined`, `In Review`, `Awaiting User` (KYB resub), `Resubmitted`, `Abandoned`, `Expired`, `Kyc Expired`. |

\## Create a session

\```bash
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "$WORKFLOW_ID",
"vendor_data": "user-42",
"callback": "https://myapp.com/kyc/return"
}'
\```

Always pass `vendor_data` — it is the linking key that binds the session to the persistent [User entity](/entities/users/overview). Without it the session is orphaned.

\## Receive the decision

Webhook (recommended) — register a destination with `webhook_version: "v3"` subscribed to `status.updated` and `data.updated`. Verify the `X-Signature-V2` header (HMAC-SHA256 of canonical JSON).

Polling fallback —
\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

The V3 decision returns plural arrays for every feature: `id_verifications[]`, `liveness_checks[]`, `face_matches[]`, `aml_screenings[]`, `nfc_verifications[]`, `proof_of_address_checks[]`, etc. Never assume V2 singular fields.

\## Failure modes

\- Missing API key → `403 {"detail": "You do not have permission to perform this action."}`. Wrong, revoked or expired key → `401`.
\- Invalid `workflow_id` → `400`.
\- User abandons the flow → status becomes `Abandoned`.
\- Workflow asks for resubmit → status `Resubmitted`, payload includes `resubmit_info`; re-deliver the same `url`.

\## Sources of truth

\- /sessions-api/create-session — request body schema
\- /sessions-api/retrieve-session — V3 decision schema
\- /integration/verification-statuses — literal status strings
\- /integration/webhooks — signature verification, retries
\- /reference/data-models — per-feature decision shape
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Enganxa a

Aquesta guia explica l'experiència típica d'un usuari final durant una sessió de **Comprovació de document d'identitat + Prova de vida**, i destaca les optimitzacions d'UX que impulsen taxes de finalització elevades.Aquesta lliçó de Didit Academy segueix el flux allotjat exactament tal com el veu un usuari: la primera pantalla, la captura del document, el selfie de prova de vida i cada pantalla de resultat, des d'aprovada fins a rebutjada.[El que realment veuen els teus usuaris — Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?rel=0\&playsinline=1)## Visió general del flux![Recorregut de l'usuari en la verificació d'identitat de Didit des de la pantalla inicial passant per la captura del document d'identitat i del selfie fins al resultat](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/user-verification-flow.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=cc77846e25a476c7e91281295f079e80)**1. Pantalla inicial**L'usuari arriba a una pantalla neta i personalitzada amb la marca que estableix les expectatives (per exemple, «Necessitaràs el teu document d'identitat i la teva cara»). Això redueix l'abandonament en eliminar la incertesa.**2. Selecció de país i document**L'usuari selecciona el seu país i el tipus de document (passaport, document d'identitat, etc.).> [!NOTE]
>
> Si el teu flux de treball està configurat per a un **únic tipus de document**, aquesta pantalla s'**omet automàticament** —i porta l'usuari directament a la captura.**3. Captura del document d'identitat amb reintents intel·ligents**L'usuari fotografia l'anvers del seu document.
**Comprovació de qualitat al dispositiu** — Abans d'enviar, l'SDK comprova si hi ha reflexos, desenfocament i vores tallades. Si es detecta algun problema, se sol·licita a l'usuari que repeteixi la foto.**Validació al backend amb reintent guiat** — Un cop enviat:- **Supera la validació** → continua cap a la prova de vida
- **No supera la validació** → l'usuari veu instruccions específiques (per exemple, «Document caducat», «MRZ il·legible — repeteix amb més llum») en lloc d'un error genèricAquest bucle de reintent autoservei augmenta significativament les taxes d'èxit del procés. Consulta la llista completa de resultats de validació a [Advertències de verificació d'identitat](https://docs.didit.me/ca/core-technology/id-verification/warnings-id-verification.md).**4. Prova de vida + coincidència facial**Una prova de vida amb selfie garanteix que l'usuari és físicament present i evita atacs de reproducció o deepfakes. Si l'usuari no respon a temps, el procés es **reintenta un cop automàticament** en lloc de fallar definitivament.**5. Resultat final**Un cop completades totes les comprovacions, l'usuari veu un dels tres resultats:| Resultat | Descripció |
| - | - |
| **Aprovat** | Totes les comprovacions han superat la validació. Les dades s'extreuen i estan disponibles mitjançant API/webhook. |
| **Rebutjat** | El sistema ha determinat que la verificació no es pot aprovar. |
| **En revisió** | Les comprovacions automatitzades no han estat concloents — requereix revisió manual. |El teu flux de treball decideix quins passos addicionals veu l'usuari, en l'ordre que estableixis.
Per exemple:- [Verificació de telèfon](https://docs.didit.me/ca/core-technology/phone-verification/overview.md) i [verificació de correu electrònic](https://docs.didit.me/ca/core-technology/email-verification/overview.md)
- [Qüestionaris](https://docs.didit.me/ca/core-technology/questionnaires/overview.md)
- [Comprovant de domicili](https://docs.didit.me/ca/core-technology/proof-of-address/overview.md)
- [Consentiment biomètric](https://docs.didit.me/ca/getting-started/biometric-consent.md)
- [Signatura de documents](https://docs.didit.me/ca/core-technology/electronic-signature/overview.md)En combinar una UX intel·ligent, validació progressiva, indicacions útils i reintents gestionats adequadament, el recorregut de verificació de Didit fa avançar els usuaris legítims i deixa fora els actors maliciosos — sense intervenció manual.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.