Dashboard
Últimos códigos emitidos
| Destino | Canal | Estado | Emitido |
|---|
API Keys
Mis claves de integración
| Nombre | Prefijo | Último uso | Creada |
|---|
Códigos TPM
Historial de emisiones
| Destino | Canal | Estado | Intentos | Emitido |
|---|
Paquetes
🧮 Cotizador anual
Estime cuántos códigos de verificación necesitará y le recomendamos la compra óptima. Los créditos tienen vigencia de 12 meses, así que puede comprar su consumo anual completo al mejor precio unitario.
| Paquete | Cantidad | TPMs | Subtotal (COP) |
|---|
Paquetes disponibles
Los créditos comprados tienen vigencia de 12 meses a partir de la compra.
| Paquete | TPMs | Precio (COP) | Descripción |
|---|
Documentación de la API
Introducción
API TPM emite códigos de verificación de 6 dígitos de un solo uso para validar accesos en su aplicación. Usted decide en cada llamada por qué canal se entrega el código: WhatsApp, SMS, correo, o entregarlo usted mismo. Cada emisión consume 1 crédito de su saldo.
URL base:
Autenticación: todas las peticiones llevan el encabezado
X-API-Key con una clave creada en la sección API Keys de este panel.
Formato JSON en cuerpo y respuestas.
POST/api/tpm/generate — Emitir un código
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
destino | string | Sí | Teléfono con código de país (+573001234567) para wapi/sms, o correo para email |
canal | string | Sí | wapi (WhatsApp) · sms · email · none (el código se devuelve en la respuesta y usted lo entrega) |
ttl | int | No | Vigencia en segundos (60–3600). Por defecto 300 (5 min) |
referencia | string | No | Etiqueta libre para su trazabilidad (ej. login-app) |
Respuesta 201:
Guarde el tpm_id: lo necesita para validar. Sin saldo la API responde 402.
POST/api/tpm/validate — Validar el código
Envíe el tpm_id y el código que ingresó su usuario:
Reglas: máximo 5 intentos (luego queda bloqueado, HTTP 423) ·
un solo uso (reuso → 409) · expirado → 410.
GET/api/tpm/{tpm_id} — Consultar estado
Devuelve el estado actual del código: pendiente, verificado,
expirado o bloqueado, con intentos y fechas.
Códigos de error
| HTTP | Significado |
|---|---|
| 401 | API Key faltante, inválida o revocada |
| 402 | Sin créditos disponibles — adquiera un paquete |
| 404 | TPM no encontrado |
| 409 | El código ya fue utilizado |
| 410 | El código expiró |
| 422 | Datos inválidos (canal o destino con formato incorrecto) |
| 423 | Código bloqueado por exceso de intentos |
| 429 | Demasiadas peticiones — reintente con espera |
Ejemplos de integración
🧪 Consola de pruebas
Pruebe la API con su clave real (consume créditos de su saldo). Con canal
none el código aparece en la respuesta para validar aquí mismo.
La respuesta de la API aparecerá aquí…
Usuarios
Crear usuario
Se genera una clave temporal automáticamente y se envía por correo con los datos de acceso. El usuario deberá definir su propia contraseña en el primer inicio de sesión.
Editar usuario
Asignar paquete
Listado de usuarios
| ID | Nombre | Teléfono | Rol | Saldo | Estado | Acciones |
|---|