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

De SIU
Saltar a: navegación, buscar
m
m
 
(No se muestran 6 ediciones intermedias de 2 usuarios)
Línea 12: Línea 12:
 
=== Configuración Técnica de la API ===
 
=== Configuración Técnica de la API ===
  
 +
Verificar que en el archivo <code><path_gestion>/instalacion/toba.conf</code> las '''RewriteRule''' estén configuradas de la siguiente manera para el proyecto Guaraní:
 +
 +
<syntaxhighlight lang="bash" enclose="div" highlight="4">
 +
#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>
 +
</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>
  
 
Se debe configurar el archivo <code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor.ini</code> para la definición de las rutas de las versiones de la API REST:
 
Se debe configurar el archivo <code><path_gestion>/instalacion/i__desarrollo/p__guarani/rest/servidor.ini</code> para la definición de las rutas de las versiones de la API REST:
Línea 18: 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 31: 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 62: 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>).
 +
 +
Siguiendo el ejemplo anterior:
  
 
<syntaxhighlight lang="bash" enclose="div" highlight="4">
 
<syntaxhighlight lang="bash" enclose="div" highlight="4">

Revisión actual del 15:48 23 dic 2021

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í:

        #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