> ## 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 verificación telefónica: OTP por SMS y riesgo

> Didit verifica teléfonos con OTP por SMS en dos pasos y detecta operador, números virtuales y desechables. Precio del operador + $0.02, sin contratos.

La API de verificación de teléfono ofrece un flujo en dos pasos: envía un código de un solo uso a un número de teléfono y, después, verifica dicho código. El sistema detecta el tipo de operador, los números virtuales y los números de teléfono desechables.

## Endpoints

> [card] [Enviar código al teléfono](https://docs.didit.me/es/standalone-apis/phone-send.md)
>
> `POST /v3/phone/send/`: envía un código de verificación de un solo uso por SMS.

> [card] [Comprobar código del teléfono](https://docs.didit.me/es/standalone-apis/phone-check.md)
>
> `POST /v3/phone/check/`: verifica el código y obtiene los datos de riesgo del teléfono.

> [card] [Evaluar riesgo telefónico](https://docs.didit.me/es/standalone-apis/phone-risk.md)
>
> `POST /v3/phone/risk/`: puntúa el riesgo de operador, tipo de línea, portabilidad y fraude sin enviar un OTP.

## Cómo funciona

1. Llama al endpoint **Send Phone Code** con el número de teléfono en formato E.164 (por ejemplo, `+14155552671`)
2. El usuario recibe un código por SMS (válido durante 5 minutos)
3. Llama al endpoint **Check Phone Code** con el número de teléfono y el código
4. Recibe el resultado de la verificación junto con las señales de riesgo (tipo de operador, detección de números virtuales)

## Canales de entrega

Didit admite varios canales según la disponibilidad en cada país:

| Canal | Descripción |
| - | - |
| SMS | Mensaje de texto estándar |
| WhatsApp | Mensajería de WhatsApp |
| Telegram | Mensajería de Telegram |
| RCS | Rich Communication Services |
| Viber | Mensajería de Viber |

## Señales de riesgo

| Señal | Descripción |
| - | - |
| `is_disposable` | Número de teléfono temporal o desechable |
| `is_virtual` | Número VoIP o virtual |
| `carrier.type` | `mobile`, `landline` o `voip` |

Para ver la estructura completa de la respuesta, consulta el [informe de verificación de teléfono](https://docs.didit.me/es/core-technology/phone-verification/overview.md).

## Caídas del proveedor

Si el proveedor telefónico externo no responde a una solicitud de envío o de comprobación, ambos endpoints devuelven `502` con `code: "phone_provider_unavailable"` en lugar de un error genérico. Puedes reintentar la solicitud sin riesgo: no se factura y no consume ningún intento del límite por hora de cada número. Basa la lógica en `code` en lugar de analizar el mensaje de `detail`, ya que el texto del mensaje no es un contrato estable.


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