Reenviar Código de Registro
Endpoint para solicitar el reenvío de un nuevo código de verificación de 6 dígitos durante el registro v1. Incluye cooldown de 30 segundos para prevenir abuso.
Contexto de Uso
Este endpoint se usa en el flujo Registro v1 cuando:
- El usuario no recibió el correo con el código
- El código expiró (TTL 5 minutos)
- El usuario necesita que se envíe un nuevo código sin reiniciar todo el registro
/auth/register/resend?token={token}Genera y envía un nuevo código de verificación al email del usuario (Registro v1) y activa cooldown anti-spam
📋 Parámetros
tokenstringrequeridoToken de sesión UUID obtenido en el Paso 1 del registro
📤 Respuesta
{
"code": 1010,
"message": "Verification code sent successfully.",
"data": {
"cooldown": 30
}
}Validaciones
Token de sesión (token)
- Debe existir (query param).
- Debe corresponder a una sesión activa en Redis:
session:${token}debe existir.
Si no existe, el backend responde con 4015 (token inválido).
Qué hace internamente (Redis + Email)
1) Verifica sesión
- Lee
session:${token}para obtener el email asociado al registro.
2) Aplica cooldown (anti-spam)
- Usa:
resend_cooldown:register:${token} - Si existe, devuelve error 4030 con HTTP 429.
3) Genera y guarda un nuevo código (6 dígitos)
- Genera
newCode - Guarda en Redis:
code:${token}con TTL 5 minutos- Esto reemplaza el valor anterior si existía (el código anterior queda inválido).
4) Envía email
- Envía plantilla:
account_verification_code
5) Activa cooldown por 30s
- Guarda
resend_cooldown:register:${token} = "true"con TTL 30 segundos
Respuestas
✅ Código reenviado exitosamente
Código reenviado
Código 1010 - Se envió un nuevo código de verificación.
{
"code": 1010,
"message": "Verification code sent successfully.",
"data": {
"cooldown": 30
}
}
Notas:
- El código nuevo expira en 5 minutos.
- Se activa un cooldown de 30s antes de permitir otro reenvío.
⏳ Cooldown activo
Cooldown activo
Código 4030 - Debes esperar 30 segundos antes de solicitar otro código.
{
"code": 4030,
"message": "Please wait 30 seconds before requesting another code"
}
HTTP: 429 Too Many Requests
❌ Token inválido o sesión no encontrada
Token inválido
Código 4015 - No existe session:{token} en Redis (token inválido o expirado).
{
"code": 4015,
"message": "Invalid token."
}
HTTP: 400 Bad Request
Acción sugerida:
- Reiniciar registro desde
POST /auth/register.
❌ Datos faltantes
Datos faltantes
Código 4006 - Falta el parámetro token.
{
"code": 4006,
"message": "Missing required data."
}
HTTP: 400 Bad Request
Ejemplos
cURL
curl -X POST \
'https://api.swapbits.co/auth/register/resend?token=550e8400-e29b-41d4-a716-446655440000' \
-H 'Content-Type: application/json'
JavaScript/TypeScript (Fetch)
async function resendRegisterCode(token) {
const res = await fetch(
`https://api.swapbits.co/auth/register/resend?token=${token}`,
{ method: 'POST', headers: { 'Content-Type': 'application/json' } }
);
return res.json();
}
Notas Importantes
Recomendación Frontend
Cuando recibas code: 1010, deshabilita el botón de reenvío por 30 segundos para evitar llegar a 4030.
Registro v1
Este endpoint aplica al flujo Registro v1 (legacy). Si el token ya expiró o no existe, el usuario debe reiniciar el proceso desde el Paso 1.