Diferencia entre revisiones de «SIU-Guarani/Version3.21.0/API REST GUARANI»

De SIU
Saltar a: navegación, buscar
Línea 156: Línea 156:
 
¿Necesitás crear nuevos servicios REST? Mira [[SIU-Guarani/Version3.21.0/personalizaciones/rest| esta documentación]] para saber cómo hacer esta personalización.<br>
 
¿Necesitás crear nuevos servicios REST? Mira [[SIU-Guarani/Version3.21.0/personalizaciones/rest| esta documentación]] para saber cómo hacer esta personalización.<br>
  
== Changelog ==
+
== [[#changelog|Changelog]] ==
 
=== v2 ===
 
=== v2 ===
 
* Se modifica ''fecha_evaluacion_ha'' por ''fecha_evaluacion_ha_hasta'' en los servicios <code>PUT /v2/convocatorias/{id_convocatoria}</code> y <code>GET /v2/convocatorias/{id_convocatoria}/definicion</code>.
 
* Se modifica ''fecha_evaluacion_ha'' por ''fecha_evaluacion_ha_hasta'' en los servicios <code>PUT /v2/convocatorias/{id_convocatoria}</code> y <code>GET /v2/convocatorias/{id_convocatoria}/definicion</code>.

Revisión del 12:20 2 dic 2022

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/v1/.

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 de la API

Verificar que en el archivo <path_gestion>/instalacion/toba.conf las RewriteRule estén configuradas de la siguiente manera para el proyecto Guaraní:

        #Proyecto: guarani
        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:

[server_config]
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:

; Método de autenticación, puede ser basic o digest
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.

[proyecto]
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 la API (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:

[<usuario_externo>]
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:

[admin]
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).

cp php/rest/recursos_usuarios_template.php instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php

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:

<?php

/*
 * 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} y GET /v2/convocatorias/{id_convocatoria}/definicion.
  • Se agregan fecha_inicio_tramite y nro_expediente al servicio GET ​/personas​/{persona}​/datosanalitico.

< Volver