SIU-Guarani/Version3.21.0/API REST GUARANI

De SIU
Revisión del 15:48 23 dic 2021 de Lleonardis (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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


< Volver