Saltar al contenido principal
POST
Python
Previsualizar no modifica la sesión ni envía ningún correo. Después de revisar la respuesta, confirma con Actualizar estado de la sesión y pasa el preview_token devuelto como email_preview_token. El comprobante expira a los 15 minutos. Un comprobante modificado o expirado devuelve 409 antes de que se modifique la sesión o se envíe un correo. Genera una nueva previsualización después de un conflicto. Las integraciones de API existentes pueden omitir el comprobante; la consola lo proporciona al confirmar una previsualización. El remitente y la imagen de marca siguen tu configuración de marca blanca actual. El contenido del mensaje proviene de la plantilla de verificación traducida; no se aceptan asuntos, cuerpos de mensaje ni URL de acción arbitrarios como entradas de la plantilla.

Quién recibe el correo

email_address es opcional. Si no lo indicas, el correo se envía a la dirección de la propia persona: la que verificó en un paso de verificación de correo electrónico del flujo o, en su defecto, la indicada en contact_details al crear la sesión. Una dirección que pases en email_address tiene prioridad. recipient_source te indica qué dirección se aplica:

Si se envía el correo

will_be_sent es true cuando, al confirmar el reenvío con send_email: true, se envía el correo. Cuando es false, not_sent_reason indica el motivo:

Confirmar el reenvío

Invoca Actualizar estado de la sesión con estos campos: El language de la respuesta es el idioma en el que está redactado el correo: inglés cuando el que solicitaste no está disponible.

Reenvíos repetidos solo de backend

Cuando todos los pasos para reenviar se ejecutan sin la persona (AML, Validación de base de datos o Análisis de IP), una sesión solo se puede reenviar para ella una vez cada 30 segundos. Dentro de ese intervalo, la previsualización devuelve 429, igual que lo haría Actualizar estado de la sesión, con el tiempo de espera en el encabezado Retry-After.

Relacionado

Autorizaciones

x-api-key
string
header
requerido

La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.

Parámetros de ruta

sessionId
string<uuid>
requerido

UUID de la sesión de verificación que se va a actualizar. Acepta ID de sesión tanto de usuario (KYC) como de empresa (KYB): el servicio resuelve el ID en ambos tipos de sesión.

Ejemplo:

"11111111-2222-3333-4444-555555555555"

Cuerpo

application/json
nodes_to_resubmit
object[]

Pasos que se previsualizan, con la misma validación, selección y orden del flujo que un reenvío. Omítelo para seleccionar automáticamente los intentos registrados que necesitan reenvío.

email_address
string<email>

Opcional. Envía el correo electrónico a esta dirección en lugar de a la de la propia persona. Sin él, el destinatario es la dirección que la persona verificó en el flujo o, si no, la indicada en contact_details. Esta llamada no envía ningún correo electrónico.

Ejemplo:

"user@example.com"

email_language
string
predeterminado:en

Idioma del correo electrónico de notificación. El esquema acepta cualquier cadena; los códigos no admitidos pasan a inglés (en) sin avisar.

Ejemplo:

"en"

Respuesta

Solo vista previa. La sesión no cambia y no se envía ningún correo electrónico.

recipient
string
requerido

La dirección a la que va el correo electrónico. Es una cadena vacía cuando no se conoce ninguna dirección de la persona: en ese caso no se puede enviar ningún correo y preview_token también está vacío. Pásala como email_address al confirmar.

Ejemplo:

"person@example.com"

recipient_source
enum<string>
requerido

De dónde procede recipient. request: el email_address que enviaste. email_verification: la dirección que la persona verificó en un paso de verificación de correo electrónico del flujo. contact_details: la dirección indicada en contact_details al crear la sesión. Una cadena vacía cuando no hay dirección.

Opciones disponibles:
email_verification,
contact_details,
request,
Ejemplo:

"email_verification"

sender
string
requerido

El encabezado From con el que se envía el correo electrónico.

Ejemplo:

"Example App <no-reply@mail.example.com>"

sender_name
string
requerido

La parte del nombre visible de sender.

Ejemplo:

"Example App"

sender_email
string<email>
requerido

La parte de dirección de sender.

Ejemplo:

"no-reply@mail.example.com"

sender_kind
enum<string>
requerido

customer: el correo electrónico se envía desde el dominio de remitente verificado de tu aplicación (marca blanca). didit: se envía desde el remitente propio de Didit.

Opciones disponibles:
customer,
didit
Ejemplo:

"customer"

subject
string
requerido

La línea de asunto exactamente como se envía.

Ejemplo:

"Action Required: Complete your verification in Example App"

html
string
requerido

El HTML del correo electrónico exactamente como se envía, con su logotipo incrustado como data URL. Renderízalo en un frame aislado (sandbox), nunca directamente en el DOM de tu aplicación.

Ejemplo:

"<!DOCTYPE html><html><body>...</body></html>"

text
string
requerido

El texto del correo electrónico en texto plano, tal como lo conserva el hilo de Mensajes de la persona, para una vista previa compacta (el HTML sigue siendo el correo electrónico que recibe la persona).

Ejemplo:

"Almost there\n\nSome steps need to be completed again.\nHere’s what to fix:\n\nhttps://verify.didit.me/session/abc123"

language
string
requerido

El idioma en el que está escrito el correo. Inglés (en) cuando el email_language que pediste no está disponible.

Ejemplo:

"en"

will_be_sent
boolean
requerido

Indica si confirmar el cambio con send_email: true envía este correo electrónico. false cuando not_sent_reason está definido.

Ejemplo:

true

not_sent_reason
enum<string> | null
requerido

Por qué la confirmación no enviaría ningún correo electrónico, o null cuando se enviará. no_user_action: todos los pasos seleccionados se ejecutan sin la persona, así que el reenvío termina por sí solo y no se envía ningún correo. no_recipient: no se conoce ninguna dirección de la persona y no indicaste ninguna. sandbox: una sesión de sandbox cuyo destinatario no ha aceptado la entrega de correos en sandbox, así que el envío solo se simula.

Opciones disponibles:
no_user_action,
no_recipient,
sandbox,
null
Ejemplo:

null

nodes_to_resubmit
object[]
requerido
requires_user_action
boolean
requerido

Indica si al menos una de las comprobaciones seleccionadas requiere interacción del usuario. No predice el resultado final del flujo de verificación (workflow).

preview_token
string
requerido

Recibo firmado para este correo electrónico exacto, válido durante 15 minutos. Pásalo como email_preview_token a Actualizar el estado de la sesión. Una cadena vacía cuando no hay destinatario.

Ejemplo:

"eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000"

Última modificación el 1 de noviembre de 2026