Diferencia entre revisiones de «SIU-Guarani/Version3.20.0/API REST GUARANI»
m |
m |
||
(No se muestran 3 ediciones intermedias de 2 usuarios) | |||
Línea 32: | Línea 32: | ||
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
</Directory> | </Directory> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Se debe configurar la directiva '''https''' en el archivo <code><path_gestion>/instalacion/web_server.ini</code>, si es https poner en "on" sino en "off", ej usando https: | ||
+ | |||
+ | <syntaxhighlight lang="bash" enclose="div" highlight="4"> | ||
+ | [server_config] | ||
+ | https = "on" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Línea 39: | Línea 46: | ||
; Método de autenticación, puede ser basic o digest | ; Método de autenticación, puede ser basic o digest | ||
autenticacion = digest | autenticacion = digest | ||
+ | |||
+ | [settings] | ||
+ | formato_respuesta = json | ||
+ | url_protegida = /.*/ | ||
; Configuración de paths para las versiones de la api | ; Configuración de paths para las versiones de la api | ||
Línea 52: | Línea 63: | ||
<syntaxhighlight lang="bash" enclose="div" highlight="4"> | <syntaxhighlight lang="bash" enclose="div" highlight="4"> | ||
[<usuario_externo>] | [<usuario_externo>] | ||
− | password = <pass_usuario_externo> | + | password = "<pass_usuario_externo>" |
</syntaxhighlight> | </syntaxhighlight> | ||
'''<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í. | '''<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í. | ||
Línea 83: | Línea 94: | ||
Así mismo, se deberá crear el archivo <code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php</code> a partir de su respectivo template <code><path_gestion>/php/rest/recursos_usuarios_template.php</code> (el mismo es un archivo autodocumentado).<br /> | Así mismo, se deberá crear el archivo <code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php</code> a partir de su respectivo template <code><path_gestion>/php/rest/recursos_usuarios_template.php</code> (el mismo es un archivo autodocumentado).<br /> | ||
+ | <syntaxhighlight lang="bash" enclose="div" highlight="4"> | ||
+ | cp php/rest/recursos_usuarios_template.php instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php | ||
+ | </syntaxhighlight> | ||
Y se deben agregar los usuarios que se configuraron en el paso anterior (<code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini</code>). | Y se deben agregar los usuarios que se configuraron en el paso anterior (<code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini</code>). | ||
Revisión actual del 15:48 23 dic 2021
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.20.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í:
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 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.