> ## 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.

# API de sessions: verificació KYC i KYB unificada

> Didit: API de sessions unificada per a KYC i KYB. Pagament per ús, 220+ països, 14,000+ documents, $10 de crèdit gratuït al mes.

Les sessions són la unitat de verificació a Didit. Quan inicies una verificació, es crea una **sessió**; quan la verificació acaba, la sessió conté el payload complet de la decisió. La mateixa API de sessions gestiona els dos tipus:

| Tipus | Què verifica | El payload de la decisió inclou |
| - | - | - |
| **Sessió de verificació d'usuaris (KYC)** | Una persona física | Verificació d'identitat, prova de vida, coincidència facial, comprovant de domicili (POA), NFC, validació en bases de dades, telèfon, correu electrònic, AML, qüestionaris, Anàlisi de dispositiu i IP |
| **Sessió de verificació d'empreses (KYB)** | Una empresa o entitat legal | Comprovació del registre mercantil, persones clau (administradors i titulars reals), verificacions de documents, telèfon, correu electrònic, AML, qüestionaris, Anàlisi de dispositiu i IP |

En la lliçó de l'Academy sobre el que veuen els usuaris, el capítol de 5:34 compara el flux allotjat amb la construcció de les teves pròpies pantalles, que és exactament la decisió que aquesta API pren per tu.

[El flux allotjat vs. crear les teves pròpies pantalles - Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?start=334\&rel=0\&playsinline=1)

## El tipus el determina el flux de treball

Quan [crees una sessió](https://docs.didit.me/ca/sessions-api/create-session.md), passes un `workflow_id`. El tipus del flux de treball determina si la sessió és de verificació d'usuaris o d'empreses; qui fa les crides no ho tria per separat. Els fluxos KYB creen sessions de verificació d'empreses (KYB); els fluxos KYC creen sessions de verificació d'usuaris (KYC).

## Discriminador `session_kind`

Cada resposta de sessió (de creació, consulta, llistat, actualització d'estat, compartició i importació) inclou un camp de primer nivell:

```json theme={null}
{
  "session_id": "...",
  "session_kind": "user",
  ...
}
```

* `"user"`: la sessió és una **sessió de verificació d'usuaris (KYC)**. La resposta conté matrius de funcionalitats específiques per a usuaris.
* `"business"`: la sessió és una **sessió de verificació d'empreses (KYB)**. La resposta conté matrius de funcionalitats específiques per a empreses.

Utilitza aquest camp per determinar l'estructura de la resposta al teu costat.

> [!NOTE]
>
> Els valors de l'enumeració són els identificadors curts `"user"` i `"business"`; els mantenim curts per a l'ergonomia de l'API. Els noms complets **Verificació d'usuaris (KYC)** i **Verificació d'empreses (KYB)** s'utilitzen a tota la documentació per claredat.

## Matrius de funcionalitats segons el tipus

Les matrius de funcionalitats que hi ha en una decisió depenen del tipus. Els camps que no corresponen a un tipus no apareixen en aquella resposta (no hi ha valors nuls ni marcadors de posició):

| Matriu de funcionalitats | Verificació d'usuaris (KYC) | Verificació d'empreses (KYB) |
| - | :-: | :-: |
| `id_verifications` | ✅ | — |
| `liveness_checks` | ✅ | — |
| `face_matches` | ✅ | — |
| `nfc_verifications` | ✅ | — |
| `poa_verifications` | ✅ | — |
| `database_validations` | ✅ | — |
| `registry_checks` | — | ✅ |
| `document_verifications` | — | ✅ |
| `key_people_checks` | — | ✅ |
| `aml_screenings` | ✅ | ✅ |
| `phone_verifications` | ✅ | ✅ |
| `email_verifications` | ✅ | ✅ |
| `questionnaire_responses` | ✅ | ✅ |
| `ip_analyses` | ✅ | ✅ |
| `reviews` | ✅ | ✅ |
| `contact_details` | ✅ | ✅ |

## Camps de primer nivell compartits

Totes les sessions (dels dos tipus) porten aquests camps:

| Camp | Descripció |
| - | - |
| `session_id` | UUID de la sessió |
| `session_kind` | `"user"` (Verificació d'usuaris / KYC) o `"business"` (Verificació d'empreses / KYB) |
| `session_number` | Número seqüencial dins de l'aplicació |
| `session_url` | URL de la verificació allotjada |
| `status` | Estat general de la sessió: `APPROVED`, `DECLINED`, `IN_REVIEW`, `IN_PROGRESS`, etc. |
| `workflow_id` | UUID del flux de treball utilitzat |
| `vendor_data` | El teu identificador de l'entitat. [Més informació](https://docs.didit.me/ca/entities/vendor-data-linking.md) |
| `metadata` | JSON lliure que vas adjuntar en crear la sessió |
| `callback` | URL de callback opcional |
| `features` | Llista de funcionalitats separades per comes que executa el flux de treball |
| `expected_details` | Payload opcional amb les dades esperades per a la validació creuada |
| `created_at`, `expires_at` | Marques de temps |

## Endpoints coberts

Els endpoints següents accepten qualsevol dels dos tipus. No hi ha rutes `/v3/business-session/*` separades.

| Endpoint | Funciona per a |
| - | - |
| [`POST /v3/session/`](https://docs.didit.me/ca/sessions-api/create-session) | Crea una sessió de verificació d'usuaris o d'empreses segons el tipus de flux de treball |
| [`GET /v3/session/{id}/decision/`](https://docs.didit.me/ca/sessions-api/retrieve-session) | Recupera qualsevol dels dos tipus; determina el tipus a partir del `session_id` |
| [`GET /v3/sessions/`](https://docs.didit.me/ca/sessions-api/list-sessions) | Llista qualsevol dels dos tipus. Usa el paràmetre de consulta `session_kind` per filtrar |
| [`PATCH /v3/session/{id}/update-status/`](https://docs.didit.me/ca/sessions-api/update-status) | Actualitza qualsevol dels dos tipus |
| [`DELETE /v3/session/{id}/delete/`](https://docs.didit.me/ca/sessions-api/delete-session) | Elimina qualsevol dels dos tipus |
| [`GET /v3/session/{id}/generate-pdf/`](https://docs.didit.me/ca/sessions-api/generate-pdf) | Genera un PDF de qualsevol dels dos tipus; utilitza la plantilla de verificació d'usuaris o d'empreses |
| [`POST /v3/session/{id}/share/`](https://docs.didit.me/ca/sessions-api/share-session/share) | El token de compartició inclou `session_kind` |
| [`POST /v3/session/import-shared/`](https://docs.didit.me/ca/sessions-api/share-session/import) | Importa qualsevol dels dos tipus; conserva `session_kind` del token |

## Com funcionen les cerques

Les sessions de verificació d'usuaris i d'empreses són dos tipus diferents. Els IDs són UUID, de manera que les col·lisions són impossibles. Quan crides un endpoint amb un `session_id`, Didit:

1. Busca l'id primer a la taula de verificació d'usuaris (cobreix la major part del trànsit).
2. Si no el troba, busca a la taula de verificació d'empreses.
3. Retorna 404 si cap de les dues taules conté una coincidència.

No cal que indiquis a l'API quin tipus busques.

## Els estats són idèntics

Els valors d'estat són els mateixos per als dos tipus, i l'API els retorna exactament tal com s'escriuen aquí: `"Not Started"`, `"In Progress"`, `"Approved"`, `"Declined"`, `"In Review"`, `"Abandoned"`, `"Expired"`, `"Kyc Expired"`, `"Resubmitted"`, `"Awaiting User"`. La comparació és exacta i distingeix majúscules de minúscules. Consulta [estats de verificació](https://docs.didit.me/ca/integration/verification-statuses.md) per a la referència completa.

## Webhooks

Els esdeveniments de webhook ja inclouen un camp `session_kind`, perquè els teus gestors de webhooks puguin distribuir-los segons el tipus:

| Esdeveniment | Tipus | S'activa quan |
| - | - | - |
| `status.updated` | Ambdós | Ha canviat l'estat d'una sessió. El payload inclou `session_kind: "user"` o `"business"`. |
| `data.updated` | Ambdós | Han canviat les dades d'una sessió (resultats de funcionalitats, actualització del registre, monitoratge AML continu). El payload inclou `session_kind`. |
| `business.status.updated` / `business.data.updated` | Entitat d'empresa | Ha canviat l'entitat d'empresa enllaçada. |
| `user.status.updated` / `user.data.updated` | Entitat d'usuari | Ha canviat l'entitat d'usuari enllaçada. |

Consulta [webhooks](https://docs.didit.me/ca/integration/webhooks.md) per a la verificació de la signatura i la semàntica de reintents, i [webhooks de KYB](https://docs.didit.me/ca/business-verification/webhooks.md) per al catàleg d'esdeveniments de la Verificació d'empreses (KYB).

## Propers passos

> [card] [Crear sessió](https://docs.didit.me/ca/sessions-api/create-session.md)
>
> Inicia una verificació: Verificació d'usuaris o Verificació d'empreses (KYB).

> [card] [Recuperar sessió](https://docs.didit.me/ca/sessions-api/retrieve-session.md)
>
> Obté la decisió. Funciona per als dos tipus.

> [card] [Llistar sessions](https://docs.didit.me/ca/sessions-api/list-sessions.md)
>
> Filtra per `session_kind`.

> [card] [Actualitzar estat](https://docs.didit.me/ca/sessions-api/update-status.md)
>
> Aprova, rebutja, revisa o torna a enviar.

> [card] [Generar PDF](https://docs.didit.me/ca/sessions-api/generate-pdf.md)
>
> Informes PDF per tipus.

> [card] [Compartir i importar](https://docs.didit.me/ca/sessions-api/share-session/overview.md)
>
> Mou sessions entre aplicacions.


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