SIU-Guarani/Version3.21.0/API REST GUARANI
Sumario
API-REST Guaraní
La API REST de SIU-Guaraní engloba un conjunto de servicios que utiliza el módulo para comunicarse (transferir o consumir datos) con otros sistemas.
Durante el proceso de instalación y configuración del módulo será necesario configurar qué usuarios se conectarán con el módulo a través de la API
NOTA: A partir de la versión 3.21.0 la API REST pasa a versionarse, y sera accedida a través de la URL http://<url_gestion>/rest/v2/.
Configuración de la API-REST
La configuración de la API es uno de los pasos detallados en el proceso de instalación del sistema. Más precisamente ocupa el paso n° 12 del mismo. Link a los pasos del proceso de instalación del sistemas.
Configuración Técnica
Verificar que en el archivo <path_gestion>/instalacion/toba.conf
las RewriteRule estén configuradas de la siguiente manera para el proyecto Guaraní:
Alias /gestion/trunk "/usr/local/app/www/"
<Directory "/usr/local/app/www/">
........
#API REST
RewriteEngine On
RewriteBase /gestion/trunk
Options FollowSymLinks SymLinksIfOwnerMatch
RewriteRule ^rest\/(v[\d\.]+)?\/(.*)$ rest.php/$1/$2 [PT,L,QSA,E=API_NOMBRE:$1]
RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
RewriteRule ^rest$ rest.php/ [PT,L,QSA]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</Directory>
Se debe configurar la directiva https en el archivo <path_gestion>/instalacion/web_server.ini
, si es https poner en "on" sino en "off", ej usando https:
https = "on"
Se debe configurar el archivo <path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor.ini
para la definición de las rutas de las versiones de la API REST:
autenticacion = digest
[settings]
formato_respuesta = json
url_protegida = /.*/
; Configuración de paths para las versiones de la api
[v1]
path_api=<path_gestion>/php/rest/v1
path_api_pers=<path_gestion>/personalizacion/php/rest/v1
; Se debe agregar la siguiente configuración para hacer uso de la api v2
[v2]
path_api=<path_gestion>/php/rest/v2
path_api_pers=<path_gestion>/personalizacion/php/rest/v2
Se debe configurar el archivo <path_gestion>proyecto.ini
agregando dentro de la variable proyecto las sub-variables api_major y api_minor (Obligatorias).
Luego agregamos la variables api_v1 y api_v2 con sus respectivos api_major y api_minor.
api_major = 2
api_minor = 0
;Versión de API Rest, debe ser formato x.y
[api_v1]
api_major = 1
api_minor = 0
[api_v2]
api_major = 2
api_minor = 0
Configuración de Usuarios y Perfil Funcional
Se debe configurar el archivo <path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini
para la definición de usuarios que consumirán la API REST SIU-Guaraní.
Se recomienda tener diferentes usuarios para los sistemas Tehuelche, Sanaviron-Quilmes, 3W y SICer.
El formato es:
password = "<pass_usuario_externo>"
<usuario_externo>: Usuario para consumir la API REST SIU-Guaraní, ej: sq para un usuario de Sanaviron-Quilmes que quiera consumir la API REST SIU-Guaraní. <pass_usuario_externo>: Password del usuario <usuario_externo>.
Por ejemplo:
password = "123456789*-a"
[tehuelche]
password = "123456789*-a"
[sq]
password = "123456789*-a"
[3w]
password = "123456789*-a"
[sidcer]
password = "123456789*-a"
[verificador]
password = "123456789*-a"
[preinscriptos]
password = "123456789*-a"
Así mismo, se deberá crear el archivo <path_gestion>/instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php
a partir de su respectivo template <path_gestion>/php/rest/recursos_usuarios_template.php
(el mismo es un archivo autodocumentado).
Y se deben agregar los usuarios que se configuraron en el paso anterior (<path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini
).
Siguiendo el ejemplo anterior:
/*
* Agregar los usuarios correspondientes
* que coincidan con los configurados en el archivo "instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini"
*/
$usuarios_admin = ['admin'];
$usuarios_tehuelche = ['tehuelche'];
$usuarios_sq = ['sq'];
$usuarios_3w = ['3w'];
$usuarios_sidcer = ['sidcer'];
$usuarios_verificador = ['verificador'];
$usuarios_preinscriptos = ['preinscriptos'];
...............
También será necesario configurar la API para poder comunicar los módulos de gestión y autogestión. Para realizar esta configuración consultar este link.
Servicios contenidos en la API
El listado completo de los webservices de la API pueden verlos en este link: https://documentacion.siu.edu.ar/apis/?spec=guarani_v1.
Personalización de la API
¿Necesitás crear nuevos servicios REST? Mira esta documentación para saber cómo hacer esta personalización.
Changelog
v2
- Se modifica fecha_evaluacion_ha por fecha_evaluacion_ha_hasta en los servicios
PUT /v2/convocatorias/{id_convocatoria}
yGET /v2/convocatorias/{id_convocatoria}/definicion
. - Se agregan fecha_inicio_tramite y nro_expediente al servicio
GET /v2/personas/{persona}/datosanalitico
.