HU‐B‐07 - shiomar-salazar/MISW-PF-Grupo1-Backend GitHub Wiki

HU-B-07

ID HU-B-07
Nombre Generar Alerta/Notificacion Backend
Descripción Como usuario/proveedor de SportApp quiero que la aplicación tenga la capacidad de enviar notificaciones de alerta (emergencia de usuario) y notificaciones masivas (eventos/servicios creados por un proveedor) Para que el usuario pueda recibir asistencia de forma inmediatamente en caso de presentarse una situación de riesgo mientras realiza su sesión de entrenamiento, y para que los proveedores puedan informar u ofertar sus eventos/servicios a todos los usuarios registrados.
Puntos 3
Criterios de aceptación El servicio debe recibir el ID del usuario o el ID del evento previamente validado desde la capa de interfaz grafica.
El servicio debe recibir el Token JWT del usuario previamente validado desde la capa de interfaz grafica.
El servicio debe recibir la informacion de posicion geografica previamente validado desde la capa de interfaz grafica.
El servicio debe recibir un texto predefino previamente validado desde la capa de interfaz grafica.
En caso de que la operacion sea exitosa, el servicio debe responder con un HTTP Codigo 200.
En caso de que la información recibida este incompleta o no cumpla con el formato indicado, el servicio debe responder con un HTTP Codigo 400.
En caso de que la peticion venga sin el token de Autorizacion JWT, el servicio debe responder con un HTTP Codigo 401.
En caso de que el servicio falle por un error interno, el servicio debe responder con un HTTP Codigo 500.
De manera transitoria y hasta que esta Historia de Usuario este terminada, el servicio debe responder HTTP Codigo 501.

Actividades

  • Creacion del servicio alerta de accidente.
  • Creacion de pruebas Unitarias que prueben el correcto funcionaiento del servicio.
  • Creacion de pruebas Unitarias que prueben el el correcto manejo de errores y condiciones limites del servicio.

MockUp de Interfaz Grafica

Dado a este es un servicio de Backend que no esta en contacto con el usuario no posee una interfaz de usuario, por esta razon la seccion esta vacia.

Ejemplo de Request y Response del servicio - Enviar Alerta Emergencia

Endpoint https://misw-pf-grupo1-backend-gestor-entrenamientos-klme3r4qta-uc.a.run.app/entrenamientos/alerta
Método HTTP POST
Headers 'Authorization': 'Bearer ' + token
Request
					
{
    "latitud": "232.98972",
    "longitud": "-799.675",
    "descripcion": "Prueba desde el API"
}
                
				
Response
					
Envio de notificación de alarma exitoso
HTTP ResponseCode: 200
{
    "descripcion": "Prueba desde el API",
    "emails": [
        "[email protected]",
        "[email protected]"
    ],
    "latitud": "232.98972",
    "longitud": "-799.675",
    "tipo": "notificacion_alarma_emergencia",
    "usuario": "Usuario Prueba"
}
----------------------------------------------------------------------------------------------------------------------------------------
Párametros de entrada invalidos
HTTP ResponseCode: 400
{
    "msg": "Párametros de entrada invalidos, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Token no suministrado
HTTP ResponseCode: 401
{
	"msg": "El token es obligatorio, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No autorizado
HTTP ResponseCode: 401
{
	"msg": "El token proporcionado no es valido o esta vencido, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No tiene permisos para realizar la operación
HTTP ResponseCode: 403
{
	"msg": "No esta autorizado para ralizar esta operación, por favor valide con el administrador del sistema."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error consumiendo el servicio de gestor de usuarios
HTTP ResponseCode: 500
{
	"msg": "Error al consumir servicio externo, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error interno
HTTP ResponseCode: 500
{
	"msg": "Error interno, por favor revise los logs."
}
                
				

Ejemplo de Request y Response del servicio - Enviar Notificación Masiva

Endpoint https://misw-pf-grupo1-backend-gestor-servicios-klme3r4qta-uc.a.run.app/servicios/notificacion
Método HTTP POST
Headers 'Authorization': 'Bearer ' + token
Request
					
{
    "id_servicio": "98f2a2e9-e396-412b-a4ca-0c0cab729c27",
    "descripcion":"Carrera benefica a favor de los niños de cancer, se iniciara en el Parque Campella atravesando diversas calles. La hora de inicio es a las 8:00 a.m, no faltes, te esperamos."
}
                
				
Response
					
Envio de notificación masiva exitosa
HTTP ResponseCode: 200
{
    "descripcion": "Carrera benefica a favor de los niños de cancer, se iniciara en el Parque Campella atravesando diversas calles. La hora de inicio es a las 8:00 a.m, no faltes, te esperamos.",
    "emails": [
        "[email protected]",
        "[email protected]"
    ],
    "tipo": "notificacion_masiva_eventos",
    "usuario": "Prestador Prueba Servicios"
}
----------------------------------------------------------------------------------------------------------------------------------------
Párametros de entrada invalidos
HTTP ResponseCode: 400
{
    "msg": "Párametros de entrada invalidos, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Token no suministrado
HTTP ResponseCode: 401
{
	"msg": "El token es obligatorio, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No autorizado
HTTP ResponseCode: 401
{
	"msg": "El token proporcionado no es valido o esta vencido, por favor valide e intente nuevamente."
}
----------------------------------------------------------------------------------------------------------------------------------------
No tiene permisos para realizar la operación
HTTP ResponseCode: 403
{
	"msg": "No esta autorizado para ralizar esta operación, por favor valide con el administrador del sistema."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error consumiendo el servicio de gestor de usuarios
HTTP ResponseCode: 500
{
	"msg": "Error al consumir servicio externo, por favor revise los logs."
}
----------------------------------------------------------------------------------------------------------------------------------------
Error interno
HTTP ResponseCode: 500
{
	"msg": "Error interno, por favor revise los logs."
}
                
				
⚠️ **GitHub.com Fallback** ⚠️