Saltar al contenido principal
POST
curl

Muestra el nombre de tu marca en el SMS

Los códigos por SMS llevan el nombre del remitente de SMS de tu aplicación, que se configura en la Business Console, sin coste adicional:
123456 es tu código de verificación para Acme Bank
Para firmar un código concreto con otro nombre, envía options.sms_sender_name (de 1 a 30 caracteres: solo letras, dígitos, espacios y ’ & - !, y no puede estar formado solo por dígitos):
Un nombre que no cumpla estas reglas devuelve 400 y no se envía ningún código. Los códigos por WhatsApp usan un mensaje fijo y no llevan tu marca; conecta tu propio número de WhatsApp Business en la Business Console para enviarlos con el nombre de tu empresa. Consulta Envía códigos por WhatsApp desde tu propio número. Consulta Mensajes de verificación con tu marca para saber qué nombre lleva un código y cuál es el límite diario de nombres nuevos.

Gestiona las caídas del proveedor

Si el proveedor de telefonía no está disponible temporalmente, este endpoint devuelve 502 con un código estable y legible por máquina:
Considera que puedes reintentar la solicitud. Usa un backoff corto y muestra al usuario un mensaje de indisponibilidad temporal del servicio en lugar de pedirle que cambie un número de teléfono o un código válidos.

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.

Cuerpo

application/json
phone_number
string
requerido

Número de teléfono del destinatario en formato E.164: + inicial y código de país (p. ej., +14155552671). Los números se validan y se normalizan a E.164; los números que no se pueden analizar o que no son válidos devuelven 400 con un error en el campo phone_number.

Maximum string length: 20
Ejemplo:

"+14155552671"

options
object

Opciones de entrega del OTP. Todos los campos son opcionales.

signals
object

Señales opcionales de dispositivo y red sobre el usuario final, que se envían a la capa antifraude para mejorar la detección de tráfico abusivo o automatizado. Todos los campos son opcionales.

vendor_data
string

Identificador opcional controlado por quien llama (tu id interno de usuario, un correo electrónico, un UUID, etc.) que se guarda en la sesión y se devuelve en la respuesta del envío, en la respuesta de la comprobación correspondiente, en los webhooks y en la Business Console. Úsalo para relacionar el request_id de Didit con tu registro de usuario.

metadata
object | null

Objeto JSON opcional de formato libre que se guarda en la sesión y se devuelve en la respuesta del envío, en la respuesta de la comprobación correspondiente, en los webhooks y en la Business Console.

Respuesta

Envío confirmado. Revisa status: Success y Retry significan que hay un código en camino; Blocked significa que la capa antifraude lo rechazó y la verificación ya se ha finalizado como Declined. request_id es el id de sesión persistido (el mismo id en un Retry).

request_id
string<uuid>

ID de sesión de la verificación. Un envío Retry devuelve el mismo request_id que el envío original. Este ID aparece en la Business Console, lo vuelve a devolver un POST /v3/phone/check/ finalizado y se puede pasar a GET /v3/session/{sessionId}/decision/.

status
enum<string>

Success: OTP enviado a una nueva verificación. Retry: OTP reenviado para la verificación pendiente creada por un envío anterior. Blocked: la capa antifraude se negó a enviarlo; la verificación se finaliza de inmediato como Declined y no se factura nada.

Opciones disponibles:
Success,
Retry,
Blocked
reason
string | null

Por qué un envío quedó en Blocked (por ejemplo, repeated_attempts, suspicious, spam). null en Success y Retry.

vendor_data
string | null

Devuelve el vendor_data almacenado en la sesión (del primer envío).

metadata
object | null

Devuelve el metadata almacenado en la sesión (del primer envío).

Última modificación el 1 de noviembre de 2026