Servicio para acceder a las entradas y documentos del dossier.
Si se accede sin autenticación, sólo se tendrá acceso a la información pública.
Para acceder a información no pública se pueden utilizar dos vías:
Si se utiliza autenticación HTTP básica, se enviará
el nombre y contraseña de un usuario con el rol adecuado. La autenticación
debe ser anticipada (preemptive), es decir, debe incluirse la cabecera
Authorization
en las peticiones sin esperar a que el servidor la
solicite con un HTTP 401. Si no se incluye la autenticación anticipadamente,
el servidor considerará que se desea acceder sin autenticar a información
pública y nunca devolverá el estado HTTP 401. Este sistema se usará
preferiblemente en llamadas donde el cliente es otra aplicación.
Además, los servicios GET pueden usarse como enlaces accesibles por un usuario desde un navegador.
En este caso conviene sustituir en la ruta api
por ui
.
De esta forma se creará una sesión de usuario usando el servicio de Single-Sign-On,
o se le solicitarán las credenciales, y se aplicarán entonces los privilegios de dicho usuario.
El rol xxxconsulta
, donde xxx
es un tipo de expediente,
concede privilegio de consulta sobre los expedientes del tipo xxx
.
El privilegio de consulta permite consultar todas las entradas del dossier
de un expediente, pero no permite hacer modificaciones. Tampoco
permite descargar los documentos que no estén marcados como visibles en consulta.
El rol xxxgestion
concede el privilegio de gestión sobre los
expedientes del tipo xxx
. Este privilegio permite el acceso total
a todas las operaciones sobre el dossier del expediente, incluyendo las modificaciones
y las descargas de todos los documentos.
El rol comgestion
concede privilegios de gestión sobre todos
los expedientes, sean del tipo que sean.
En el caso de utilizar clave OTP (One Time Password), hay que crear en
la base de datos compartida una clave OTP, y después incluirla en la
petición en el valor del parámetro otp
.
El valor de la clave OTP en la base de datos debe coincidir con la
ruta de la petición, a partir de /entrada
, por ejemplo:
/entrada/299384
.
GET /dossier-web/api/entrada/{tipo}/{anualidad}/{expediente}
Accept: application/json
Obtiene el listado de entradas de un expediente, identificado con su tipo, anualidad y número de expediente. Si se accede sin privilegios, sólo muestra las entradas públicas. Con privilegio de consulta muestra todas las entradas.
GET /dossier-web/api/entrada/{id}
Accept: application/json
Obtiene los datos de una entrada, identificada por su identificador único. Si se accede sin privilegios, la entrada debe ser pública.
GET /dossier-web/api/entrada/{id}/documento?otp={otp}
Accept: */*
Obtiene el documento asociado a una entrada, identificada por su identificador único. Si se accede sin privilegios, la entrada debe ser pública. Si se accede con privilegio de consulta, la entrada debe ser visible en consulta.
POST /dossier-web/api/entrada/{tipo}/{anualidad}/{expediente}
Content-Type: application/json
Crea una nueva entrada en el dossier del expediente identificado por su tipo, anualidad y número. Es necesario el privilegio de gestión.
PUT /dossier-web/api/entrada/{id}
Content-Type: application/json
Modifica los datos de la entrada identificado por su identificador único. Es necesario el privilegio de gestión.
PUT /dossier-web/api/entrada/{id}/documento?otp={otp}
Content-Type: */*
Modifica el documento asociado a la entrada identificado por su identificador único. Es necesario el privilegio de gestión.