Contactar al soporte técnico
Endpoint para que un usuario contacte al equipo de soporte técnico, con validación de formulario y autenticación mediante JWT personalizado firmado con CONTACT_KEY.
🎧 Envío de ticket a soporte
Este endpoint valida los campos del formulario y verifica un JWT personalizado firmado con una clave secreta
(process.env.CONTACT_KEY).
Para prevenir spam, limita los envíos a uno cada 10 minutos por email.
/users/contact-supportEnvía un mensaje al equipo de soporte con validación y JWT personalizado
📋 Parámetros
firstnamestringrequeridoNombre del usuario
lastnamestringApellido del usuario
emailstringrequeridoEmail del usuario (debe coincidir con el email dentro del token)
MessagestringrequeridoContenido del mensaje
tokenstringrequeridoJWT firmado con CONTACT_KEY
📤 Respuesta
{
"status": "success",
"message": "Message sent successfully"
}Autenticación
JWT personalizado
- Tipo: JWT personalizado (no es el JWT estándar de acceso)
- Clave secreta:
process.env.CONTACT_KEY - Regla: el email dentro del token debe coincidir con el campo
emaildel body
Si el token es inválido o el email no coincide, la API responderá 401 Unauthorized.
Request Body
{
"firstname": "Juan",
"lastname": "Pérez",
"email": "juan@example.com",
"Message": "Necesito ayuda con mi cuenta.",
"token": "<JWT firmado con CONTACT_KEY>"
}
Validaciones
Validación de campos
- Campos obligatorios:
firstname,email,Message,token lastnamepuede ser opcional (si el backend lo permite)- El email debe ser válido (formato) y coincidir con el email del token
Prevención de spam
Para prevenir spam:
- Se rechazan solicitudes repetidas desde el mismo email dentro de los últimos 10 minutos
Tipos de respuesta
Respuesta exitosa
Mensaje enviado
200 OK — Mensaje enviado correctamente.
Errores
Solicitud inválida
400 Bad Request — Faltan campos requeridos o se envió el mensaje recientemente.
No autorizado
401 Unauthorized — Token inválido o el email no coincide con el token.
Notas
Evolución futura
Actualmente se utiliza un JWT personalizado para validar autenticidad. En el futuro se planea migrar a un sistema basado en captcha para mejorar UX y protección anti-spam.
Enlaces relacionados
- Perfil del usuario - GET /users/me
- Seguridad de la cuenta