API para la gestión de turnos¶
La app provee una interfaz para interactuar con el módulo de gestión de turnos del hospital.
La API se encuentra en la URL grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos
.
Métodos de la API¶
A continuación se muestran los métodos disponibles en la API así como
las consultas a ejecutar para probar el correcto funcionamiento de los
mismos utilizando el comando curl
o wget
.
- Obtener turnos para la fecha actual
Permite obtener los turnos disponibles para la fecha actual.
GET /
Respuesta correcta con turnos disponibles,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos
HTTP/1.1 200 OK
{
"appointments": [
"10:00:00",
"13:30:00",
"14:00:00",
"15:30:00"
]
}
- Obtener turnos para la fecha dada
Permite obtener los turnos disponibles para la fecha dada.
GET /:date
Respuesta correcta con turnos disponibles,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/YYYY-MM-DD
HTTP/1.1 200 OK
{
"appointments": [
"10:00:00",
"13:30:00",
"14:00:00",
"15:30:00"
]
}
Respuesta erronea por fecha vencida,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/2017-MM-DD
HTTP/1.1 204 NO CONTENT
Respuesta erronea por error genérico,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/una-frase
HTTP/1.1 500 Internal Server Error
- Reservar un turno
Permite reservar un turno para una fecha y hora dada, para un nro de documento dado.
GET /turnos/:documentNumber/fecha/:date/hora/:time
- Donde:
- documentNumber: número de documento del paciente a atender.
- date: fecha del turno (se puede comprobar existencia en la ruta de
turnos disponibles
) - time: hora del turno (se puede comprobar existencia en la ruta de
turnos disponibles
)
Respuesta correcta con turno reservado,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/40000000/fecah/YYYY-MM-DD/hora/HH:mm
HTTP/1.1 201 Created
{
"appointment": {
"documentNumber": 40000000,
"date": "DD MM YYYY HH:mm:ss TZ"
}
}
Respuesta erronea por falta de parámetros, o fecha/hora inválida
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/no-doc/fecah/una-frase/hora/
HTTP/1.1 400 BAD REQUEST
Respuesta erronea por turno ya tomado
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/40000000/fecah/YYYY-MM-DD/hora/HH:mm
HTTP/1.1 422 UNPROCESSABLE ENTITY
Respuesta erronea por error genérico,
$ curl grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/una-frase
HTTP/1.1 500 Internal Server Error
- Eliminar un turno dado un id
Permite eliminar un turno dado su id
DELETE /turnos/:id
Respuesta correcta con un turno eliminado,
$ curl -XDELETE grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/id
HTTP/1.1 200 OK
Respuesta erronea por error genérico,
$ curl -XDELETE grupo74.proyecto2017.linti.unlp.edu.ar/api/turnos/id
HTTP/1.1 500 Internal Server Error