Saltar al contingut principal
PATCH
curl

Què fa

Una sessió de verificació està formada per funcionalitats (passos) individuals: ID/OCR, Prova de vida, Coincidència facial, AML, Comprovant de domicili, Telèfon, etc. Aquest endpoint et permet establir l’estat d’un d’aquests passos a Approved, Declined o In Review. Fes servir update-status quan vulguis aprovar, rebutjar o reobrir la sessió completa. Fes servir aquest endpoint quan només vulguis registrar una decisió sobre un sol pas, per exemple per marcar el pas de Coincidència facial com a Declined en el teu propi flux de revisió. Una sessió que ja té una decisió la conserva: només canvia el pas. Si la sessió encara no té cap decisió i el seu flux de treball està esperant precisament aquest pas, aplicar la substitució completa el pas, igual que si s’acabés de manera normal. El flux de treball continua, s’executen els passos següents, i un node d’estat pot establir la decisió de la sessió i disparar un webhook status.updated.

Dirigir-se a un pas amb node_id

En els fluxos de treball basats en graf, cada pas té un node_id (per exemple feature_ocr_1, feature_liveness_1, feature_aml_1). Pots trobar-los a la decisió de la sessió: cada funcionalitat d’una decisió V3 porta el seu node_id. Per als fluxos de treball sense graf (d’un sol pas), la funcionalitat subjacent no té identificador de node. Passa el valor literal default com a nodeId per dirigir-te-hi. Com que cap pas d’aquest tipus de flux de treball té identificador de node, passa també feature_type (per exemple LIVENESS, AML o FACE_MATCH) per indicar quin pas vols. Un feature_type desconegut retorna 400.

Esperar que la persona acabi el flux

Per defecte, la substitució s’aplica de seguida. Si la persona encara està passant pel flux, això canvia un pas d’un flux que encara està en curs; la substitució es registra aleshores amb forced: true. Posa defer_until_flow_finishes: true per esperar. Mentre la sessió estigui Not Started, In Progress o Resubmitted i la persona no hagi acabat, la substitució s’emmagatzema com a pending_until_flow_finishes. S’aplica quan la persona acaba el flux, després que el flux arribi a la seva pròpia decisió. En una sessió el flux de la qual ja ha acabat, s’aplica de seguida en tots dos casos. Una substitució en espera es cancel·la en lloc d’aplicar-se quan:
  • la persona refà el pas abans d’acabar (check_changed),
  • una substitució més nova sobre el mateix pas la reemplaça (replaced),
  • la sessió surt del flux sense acabar-lo: abandonada, caducada o decidida a mig flux (session_closed),
  • la cancel·les amb Cancel Feature Override (cancelled_by_reviewer).
El camp override de la resposta indica què ha passat: state és applied o pending_until_flow_finishes, i applied_at s’omple quan s’ha aplicat. El new_status de nivell superior és l’estat emmagatzemat del pas, de manera que no canvia mentre la substitució espera. Fes servir List Feature Overrides per veure totes les substitucions d’una sessió i si la persona encara és dins del flux.

Suport de KYC i KYB

Funciona igual per a sessions de Verificació d’usuaris (KYC) i de Verificació d’empreses (KYB): Didit resol el sessionId en tots dos casos. Els tipus de pas admesos inclouen ID/OCR, Prova de vida, Coincidència facial, NFC, AML, Comprovant de domicili, Telèfon, Correu electrònic, Validació en bases de dades, Qüestionaris, i les comprovacions del registre KYB, dels documents i de les persones clau.
Les sessions API independents (les creades mitjançant les APIs de verificació independents, session_type = API) no poden tenir canviats els estats de funcionalitat individuals: l’endpoint retorna 400.

Exemples

Què passa després d’una actualització

  • Webhook: s’envia un esdeveniment data.updated quan la substitució s’aplica, de seguida o quan acaba el flux. No s’envia res mentre espera ni quan es cancel·la.
  • Activitat: cada substitució es registra a l’activitat de la sessió com a FEATURE_OVERRIDE_PENDING, FEATURE_OVERRIDE_APPLIED o FEATURE_OVERRIDE_CANCELLED, amb l’actor (clau d’API, usuari o el sistema quan s’aplica una substitució en espera). L’entrada de la sol·licitud porta el teu comment com a motiu. A l’array reviews de la decisió de la sessió aquestes entrades apareixen amb new_status: null, i l’entrada de la sol·licitud té el teu motiu a comment.
  • Decisió de la sessió: una sessió que ja té decisió la conserva. Per canviar la decisió final, crida update-status per separat.

Permís

Cal el privilegi write:sessions, amb una clau d’API de client (x-api-key) o una capçalera d’autorització d’usuari. Una clau d’API amb àmbit limitat necessita accés d’escriptura a les decisions.

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ó. 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"

nodeId
string
requerit

ID del node del graf del flux de treball de la funcionalitat que cal actualitzar (per exemple feature_ocr_1). Utilitza el valor literal default per a fluxos de treball que no siguin de tipus graf (d'un sol pas) on la funcionalitat no tingui cap ID de node.

Exemple:

"feature_ocr_1"

Cos

application/json
new_status
enum<string>
requerit

Estat de destinació per a aquesta funcionalitat. Ha de ser diferent del valor actual.

Opcions disponibles:
Approved,
Declined,
In Review
Exemple:

"Approved"

comment
string

Nota opcional en text lliure registrada al registre de revisió de la sessió per a aquest canvi de funcionalitat.

Exemple:

"Document manually verified by compliance."

feature_type
enum<string>

A quin tipus de pas s'adreça. Necessari en fluxos de treball que no són de graf (nodeId = default), on cap pas comparteix node; opcional en cas contrari. Un valor desconegut retorna 400.

Opcions disponibles:
ID_VERIFICATION,
OCR,
OCR_BACK,
NFC,
LIVENESS,
FACE,
AGE_ESTIMATION,
AGE_VERIFICATION,
FACE_SEARCH,
FACE_MATCH,
IP_ANALYSIS,
AML,
PHONE,
PHONE_VERIFICATION,
EMAIL,
EMAIL_VERIFICATION,
POA,
PROOF_OF_ADDRESS,
DATABASE_VALIDATION,
DATA_VALIDATION,
QUESTIONNAIRE,
DOCUMENT_AI,
KYB_REGISTRY,
KYB_DOCUMENTS,
KYB_KEY_PEOPLE,
BANK_VERIFICATION,
GEOLOCATION
Exemple:

"LIVENESS"

defer_until_flow_finishes
boolean
predeterminat:false

Mentre la persona encara estigui al flux, desa l'anul·lació com a pending_until_flow_finishes i aplica-la quan finalitzi el flux, en lloc de fer-ho immediatament. Si s'omet o és false, l'anul·lació s'aplica immediatament. En una sessió el flux de la qual ja ha acabat, s'aplica immediatament en qualsevol dels dos casos.

Exemple:

false

Resposta

La substitució s'ha registrat. new_status és l'estat de la comprovació tal com s'ha desat: el sol·licitat un cop aplicada la substitució, el no modificat mentre s'espera que acabi el flux. override indica què ha passat.

session_id
string<uuid>
requerit
node_id
string | null
requerit

El node del flux de treball del pas actualitzat, o null per a un pas sense node (el camí default en un flux de treball sense graf).

Exemple:

"feature_ocr_1"

feature_type
string
requerit

Nom del model de la funcionalitat actualitzada (p. ex., KYC, Face, FaceMatch, AML, POA).

Exemple:

"KYC"

new_status
string
requerit

L'estat emmagatzemat de la comprovació: el sol·licitat un cop aplicada la sobreescriptura, o el que no ha canviat mentre la sobreescriptura espera que acabi el flux.

Exemple:

"Approved"

override
object
requerit

Una sobreescriptura de l'estat d'una comprovació (funcionalitat) feta amb PATCH /v3/session/{sessionId}/features/{nodeId}/update-status/: què canvia, si s'ha aplicat o encara espera que la persona finalitzi el flux, qui ho ha sol·licitat i per què.

Darrera modificació el 7 de novembre del 2026