Saltar al contingut principal
PATCH
curl

Suport de KYC i KYB

Aquest endpoint funciona de la mateixa manera per a les sessions de Verificació d’usuaris (KYC) i de Verificació d’empreses (KYB). Didit resol el session_id amb tots dos tipus de sessió; la validació de les transicions d’estat és la mateixa per a tots dos (s’aplica el mateix enum d’estats a tots dos). La resposta només inclou el session_id. Llegeix el session_kind de Retrieve Session quan la lògica posterior necessiti distingir el tipus de sessió.

Transicions permeses

Pots passar una sessió a Approved, Declined o Resubmitted. Qualsevol altre new_status, incloent In Review, retorna 400. L’estat actual de la sessió ha de ser un dels següents: Approved, Declined, In Review, Kyc Expired, Abandoned o Resubmitted; en cas contrari, l’API retorna 400. Establir Approved o Declined en una sessió que ja té aquest estat no fa res: l’API retorna 200, no canvia res, no envia cap webhook i no envia cap correu electrònic. Establir Resubmitted en una sessió que ja és Resubmitted retorna 400 (The new status is the same as the current status.). Un reenviament en què nodes_to_resubmit contingui només funcionalitats exclusives del backend (AML, DATABASE_VALIDATION, IP_ANALYSIS) s’executa automàticament i torna la sessió a un estat decidit, sense cap interacció de l’usuari. Repetir un reenviament d’aquest tipus en un termini de 30 segons retorna 429 Too Many Requests amb una capçalera Retry-After, ja que una repetició immediata no pot produir un resultat diferent. No reenviïs automàticament des d’un gestor de webhooks cada cop que rebis un estat In Review: revisa primer la troballa o canvia abans les dades subjacents.

Previsualitza primer el correu electrònic

Amb send_email: true, Approved i Declined envien a la persona el seu correu electrònic amb la decisió, i Resubmitted li envia un enllaç nou amb els motius. Pots veure aquest correu electrònic abans de canviar res:
  1. Crida Preview Decision Email per a Approved o Declined, o Preview Resubmission Email per a Resubmitted.
  2. Comprova el subject i el html generats, el recipient, i will_be_sent / not_sent_reason.
  3. Crida aquest endpoint amb el mateix new_status (i, en el cas d’una reenviada, el mateix nodes_to_resubmit), send_email: true, email_address amb el valor de recipient, el email_language que has previsualitzat, i email_preview_token amb el valor de preview_token.
Cap de les dues previsualitzacions canvia la sessió ni envia res. L’actualització envia aleshores exactament el correu electrònic que has previsualitzat. El justificant caduca als 15 minuts. Si el destinatari, l’idioma, l’estat de la sessió, el remitent o el correu electrònic han canviat des de la previsualització, l’actualització retorna 409 abans de canviar res; torna a previsualitzar i confirma amb el nou justificant. Enviar email_preview_token sense send_email: true retorna 400. El pas de previsualització és opcional: les integracions existents poden seguir cridant aquest endpoint sense ell.

Exemples

Permís

Requereix el privilegi write:sessions. El mateix privilegi cobreix els dos tipus.

Relacionats

Autoritzacions

x-api-key
string
header
requerit

La clau d'API de la teva aplicació, des de Developers -> API keys a la Business Console. La clau primària té accés complet. Una clau amb nom pot tenir l'abast limitat: cap, lectura o escriptura per recurs, limitada a determinats fluxos de treball o a sessions aprovades, a una llista d'adreces IP i a una data de caducitat. 401 significa que la clau és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap clau, que la clau no té accés a aquest recurs o acció, o que la sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una ruta de sessió significa que la sessió està fora dels fluxos de treball o estats de la clau. Una clau sense accés a fitxers multimèdia rep els URL d'imatge, vídeo i PDF com a null, i una clau sense permís d'escriptura de sessions rep els enllaços de sessió i els tokens com a null. Consulta https://docs.didit.me/console/api-keys.

Paràmetres de ruta

sessionId
string<uuid>
requerit

UUID de la sessió de verificació que s'ha d'actualitzar. Accepta tant IDs de sessió d'usuari (KYC) com d'empresa (KYB); el servei resol l'ID entre tots dos tipus de sessió.

Exemple:

"11111111-2222-3333-4444-555555555555"

Cos

application/json
new_status
enum<string>
requerit

Estat de destinació. Approved i Declined registren una decisió manual definitiva (cadascuna també pot revocar l'altra). Resubmitted neteja els passos seleccionats i torna a enviar la sessió a l'usuari. Qualsevol altre valor retorna 400.

Opcions disponibles:
Approved,
Declined,
Resubmitted
Exemple:

"Approved"

comment
string

Motiu de text lliure del canvi, desat al registre de revisió de la sessió i retornat a la matriu reviews d'Obtenir la decisió. Per exemple, Duplicated user.

Exemple:

"All checks passed manual review"

nodes_to_resubmit
object[]

Passos del flux de treball que l'usuari ha de refer. Només s'hi actua quan new_status és Resubmitted. Per a Approved/Declined, es continua validant l'esquema de les entrades (un valor de feature no vàlid retorna 400), però les entrades vàlides segons l'esquema s'ignoren semànticament. Si s'omet, el servidor selecciona automàticament els intents existents d'OCR, prova de vida, coincidència facial, comprovant de domicili, telèfon, correu electrònic, AML, validació en bases de dades i qüestionari l'estat dels quals sigui Declined, In Review, Not Finished o Expired (els intents d'NFC, anàlisi d'IP, estimació d'edat, cerca facial i documents de KYB mai no se seleccionen automàticament; els intents facials que no són de coincidència facial se seleccionen com a LIVENESS); les funcionalitats que l'usuari mai no ha intentat (cap intent registrat) NO se seleccionen, de manera que una sessió amb zero intents retorna 400 ("No features found that need resubmission") encara que no s'hagi aprovat res; passa nodes_to_resubmit explícitament en aquest cas. Els passos s'executen en l'ordre del graf del flux de treball, independentment de l'ordre en què els enviïs. KYB_REGISTRY, KYB_KEY_PEOPLE i l'àlies KYB es rebutgen amb 400; aquestes comprovacions pare es tornen a calcular a partir de les seves sessions de KYC filles.

send_email
boolean
predeterminat:false

Indica si s'ha d'enviar un correu electrònic a l'usuari sobre el canvi. Requereix email_address. Per a Approved/Declined, l'usuari rep un avís d'estat; per a Resubmitted, el correu electrònic inclou l'enllaç de verificació i els motius de reenviament per a cada pas.

Exemple:

false

email_address
string<email>

Destinatari del correu electrònic de notificació. Obligatori quan send_email és true; si s'omet, es retorna 400.

Exemple:

"user@example.com"

email_language
string
predeterminat:en

Idioma per al correu electrònic de notificació. Accepta qualsevol cadena a nivell d'esquema; els codis no admesos tornen silenciosament a l'anglès (en).

Exemple:

"en"

email_preview_token
string
write-only

Rebut opcional de Preview Decision Email (per a Approved i Declined) o de Preview Resubmission Email (per a Resubmitted): el seu preview_token. Només és vàlid amb send_email: true; sense aquest, la sol·licitud retorna 400. El destinatari, l'idioma, l'estat de la sessió, el remitent i el correu electrònic (i, per a un reenviament, els passos seleccionats) encara han de coincidir amb la previsualització, i el rebut caduca al cap de 15 minuts. En cas contrari, la sol·licitud retorna 409 abans que la sessió canviï o s'enviï un correu electrònic. Les integracions existents poden ometre aquest camp.

Required string length: 1 - 512

Resposta

Estat actualitzat. La resposta només conté el session_id; obtén la sessió actualitzada mitjançant Get Decision. El webhook status.updated s'activa un cop aplicat el canvi. Repetir Approved o Declined retorna el mateix cos i no canvia res.

session_id
string<uuid>

UUID de la sessió actualitzada.

Darrera modificació el 7 de novembre del 2026