Saltar al contenido principal

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.

POST/users/contact-support

Envía un mensaje al equipo de soporte con validación y JWT personalizado

📋 Parámetros

firstnamestringrequerido

Nombre del usuario

lastnamestring

Apellido del usuario

emailstringrequerido

Email del usuario (debe coincidir con el email dentro del token)

Messagestringrequerido

Contenido del mensaje

tokenstringrequerido

JWT 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 email del 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
  • lastname puede 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