Problemas Interfaz Guaraní - Sidcer

Hola Leonel.

Esta documentación que me pasás es para la 3.21, nosotros estamos en la 3.17.

Muchas gracias.
Besos. Vero

Hola Verónica,

No esta la documentación de SICer en 3.17.0, te paso la de 3.18.0 que debería ser lo mas similar posible.

Después revisa lo que te pregunte en el mensaje anterior:

Por lo que veo el problema es que SIDCER no se puede comunicar con Guaraní.

Preguntas:
¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/id/datosanalitico, GET /personas/id/datospersonales?

Revisa la URL y credenciales que le pasaste al equipo de SIDCER.

Veo que para acceder a autogestión la URL es la siguiente: SIU Guaraní - Acceso

Preguntas:
¿Gestión también lo tienen publico? ¿o no lo tienen publico y exponen la API REST con este modulo?

Primero probemos que funcione y responda bien la API REST de Guaraní Gestión, si vemos que responde bien luego deberíamos ver por que SICer no se puede comunicar con la misma.

Te voy a pedir que pruebes en SICer a que te vuelva a dar el error de la captura, y luego en Guaraní Gestión revisa si registra algo en el archivo instalacion/i__desarrollo/p__guarani/logs/web_services.log, si no registra nada es porque SICer no esta llegando a Guaraní.

saludos.
2

Hola Leonel.

La url no la cambiamos, es: https://guarani.usi.edu.ar/apisicer/
Respecto a si funciona la API, eso lo chequeamos y responde bien.

Muchas gracias.
Besos. Vero

Perfecto Verónica,

Veo que ingresando a https://guarani.usi.edu.ar/apisicer/rest/ me aparece el prompt para introducir username y password.

Preguntas:
¿el username y password que configuraron con el equipo de SICer es el mismo con el que accediste a la API?
¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario?

Reemplaza {persona} por el ID de alguna persona.

De ser así habría que ver con el equipo de SICer porque este ultimo no se puede conectar a Guaraní.

saludos.
2

Hola Leonel

A tu pregunta: ¿el username y password que configuraron con el equipo de SICer es el mismo con el que accediste a la API? La rpta es que es el mismo, no cambió.

La siguiente: ¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario? La rpta es que puedo acceder a https://guarani.usi.edu.ar/guarani/rest/ con el usuario y clave configurado para SIDCER, puede ser que falte en la API de Guaraní los ENDPOINTS GET /personas?

Los endpoints se definen en …/php/rest/recursos_usuarios.php, pero lo raro es que si hay que configurar esto antes no estaba configurado, nunca lo estuvo… esto es de versiones posteriores a la 3.17.

Muchas gracias.
Besos. Vero


imagen.doc (194 KB)

La siguiente: ¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario? La rpta es que puedo acceder a https://guarani.usi.edu.ar/guarani/rest/ con el usuario y clave configurado para SIDCER, puede ser que falte en la API de Guaraní los ENDPOINTS GET /personas?

Claro, ejemplo:

Archivo php/rest/recursos_usuarios.php:


$usuarios_sidcer = array('sidcer_prueba_1', 'sidcer_prueba_2);

Archivo instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini:


[sidcer_prueba_1]
password = "123456789*-a"

[sidcer_prueba_2]
password = "0303456"

También revisa en instalacion/i__desarrollo/p__guarani/rest/servidor.ini si es autenticacion = digest o autenticacion = basic, en SICER debería estar configurado con ese mismo tipo de autenticación.

Documentación: https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.17.0/interfaces/api-guarani-perfil-funcional

Luego deberías poder acceder a los siguientes ENDPOINTS:

https://guarani.usi.edu.ar/guarani/rest/personas?pais=54&tipo_documento=0&numero_documento=
País 54 (Argentina)
Tipo de documento de la persona 0 (DNI)
Reemplaza por el DNI de la persona sin puntos ni espacios.

https://guarani.usi.edu.ar/guarani/rest/personas/{persona}/datosanalitico
https://guarani.usi.edu.ar/guarani/rest/personas/{persona}/datospersonales

Reemplaza {persona} por el ID de la persona en la tabla mdp_personas.

saludos.
2

Hola Leonel

Pruebo https://guarani.usi.edu.ar/guarani/rest/personas?pais=54&tipo_documento=0&numero_documento=37538211
y da este error:
{
“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: No se encuentra el recurso para personas en el directorio /usr/local/proyectos/guarani/php/rest. \u00bfRuta mal formada?”
}

El endpoint de personas responde bien desde guarani.usi.edu.ar/apisicer/guarani/rest/personas, y no funciona el de datos analítico.
Te mando capturas con los errores y con lo que funciona bien:

Muchas gracias.
Besos. Vero


imagen.doc (194 KB)

Hola Verónica,

Claro, no recordaba que en la versión 3.17.0 de Guaraní los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales no existen en la API nativa, recién se agregan en la versión 3.18.0.

Van a tener que utilizar la api_externa.

Guaraní 3.17.0 usa api_externa 1.2.0.

Guaraní 3.17.1 usa api_externa 1.2.1.

Ver Correspondencia entre versiones.

Entiendo que SICER debería apuntar a esta API: https://guarani.usi.edu.ar/apisicer/rest/ ¿es así?

El endpoint de personas responde bien desde guarani.usi.edu.ar/apisicer/guarani/rest/personas, y no funciona el de datos analítico.
¿que error te da?

saludos.
2

¿la persona en cuestión tiene historia académica?

¿que te devuelve la siguiente query?

SELECT * FROM ws_datos_analitico(<persona>, null, true);

Reemplaza por el ID de persona de la tabla mdp_personas.

saludos.
2

Hola Leonel.

Estamos usando la api externa, tal cual lo que se menciona en los instructivos.
El problema creo que es la url, debe incluir el r/est y antes no lo incluia…

Muchas gracias.
Besos. Vero

Hola Verónica,

El problema creo que es la url, debe incluir el /rest y antes no lo incluia...
Revisa la URL que le pasaste a SICER con la de la API, si no coinciden podes reconfigurarla. En el archivo [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/usi/api_externa/trunk/1.2.0/README.md]README.md[/url] te explica que podes modificar los archivos [b]parametros.ini[/b] directiva [b]alias[/b] y [b]alias_api.conf[/b], luego vas a tener que reiniciar Apache.

En cuanto al error que muestra SICER: “No se encontró el historial académico para la persona encontrada”
¿que te devuelve GET /personas//datosanalitico?
¿la persona en cuestión tiene registros en la tabla sga_certificados_otorg?

SELECT * FROM sga_certificados_otorg WHERE persona = <persona>;

¿que te devuelve la siguiente query?

SELECT * FROM ws_datos_analitico(<persona>, null, true);

Reemplaza por el ID de persona de la tabla mdp_personas.

Revisa en la operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico.

saludos.
3

Hola Leonel.

Esta consulta: SELECT * FROM sga_certificados_otorg WHERE persona = ; devuelve registros
Esta consulta también devuelve registros: SELECT * FROM ws_datos_analitico(, null, true);

Respecto a esto: operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico: Esto no existe en esta versión de Guaraní.

La url pasada en su momento al equipo Sidcer es: https://guarani.usi.edu.ar/apisicer/ y no la cambiamos.

Muchas gracias.
Besos. Vero

Hola Verónica!

En qué institución les está sucediendo esto?

Lo primero que deberían hacer es actualizar la versión del sistema de Guaraní. La versión de 3.17 es muy vieja y no podemos dar soporte a la misma.
Es probable que con la actualización de la versión este tema quede solucionado ya que han habido varios cambios al respecto en los últimos años.
En caso de continuar el inconveniente, ya estando en una versión más reciente podemos analizarlo de mejor manera.

Saludos!

2

Hola Leonel.

Esto es en USI, y no creo que vayan a migrar a la nueva version, por lo menos no por ahora.
Lamentablenente no depende de mi, por lo que hay que encontrar una solucion alternativa.

Muchas gracias.
Besos. Vero

Hola Verónica, agrego a lo de Martín:

Esta consulta: SELECT * FROM sga_certificados_otorg WHERE persona = ; devuelve registros Esta consulta también devuelve registros: SELECT * FROM ws_datos_analitico(, null, true);

Perfecto, entonces https://guarani.usi.edu.ar/apisicer/rest/personas//datosanalitico debería devolver datos, ¿no?

Respecto a esto: operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico: Esto no existe en esta versión de Guaraní.
Ok, igual lo importante es que las queries de arriba devuelvan registros. De ultima podes modificar a mano en la tabla [b]sga_certificados[/b] columna [b]informar_sidcer[/b] = 'S' para que tenga en cuenta dicho titulo, ya que [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/usi/gestion/trunk/3.17.0/BD/Ddl/_nucleo/Funciones/ws_datos_analitico.sql#L166]la función ws_datos_analitico aplica dicho filtro en la linea 166[/url].
La url pasada en su momento al equipo Sidcer es: https://guarani.usi.edu.ar/apisicer/ y no la cambiamos.
Creo que debería ser https://guarani.usi.edu.ar/apisicer/rest/, al menos que SICER le concatene el "/rest", les voy a consultar al equipo de SICER.

saludos.
4

Hola Verónica,

El equipo de SICER me dice que la configuraciones es la siguiente:

Institución: 2851 - Universidad de San Isidro “Plácido Marín”
URL: https://guarani.usi.edu.ar/apisicer/rest/
Auth usuario: usi
Auth tipo: basic
Producción: Si

Parece ser que los datos están bien!!!

¿el servicio https://guarani.usi.edu.ar/apisicer/rest/personas/{persona}/datosanalitico no te da error?
Porque desde el equipo de Sicer me dicen que el mensaje “No se encontró el historial académico para la persona encontrada” se suele deber a que dicho servicio falla o no devuelve datos.

saludos.
4

saludos.

Tene en cuenta lo que te puse en la respuesta #9:

Si tenes Guaraní 3.17.0 vas a tener que usar API Sidcer/api_externa versión 1.2.0, si tenes Guaraní 3.17.1 vas a tener que usar API Sidcer/api_externa versión 1.2.1, ver correspondencia entre versiones.

Si usas Guaraní 3.17.0 con API Sidcer/api_externa versión 1.2.1 va a pasar que la función ws_datos_analitico no devuelve la columna es_optativa que se agrega en Guaraní 3.17.1, y esto hace que se rompa el ENDPOINT https://guarani.usi.edu.ar/apisicer/rest/personas/{persona}/datosanalitico

Ver diferencial BD/Diferenciales/3.17.1/001327.sql.

Por favor confirmame eso.

saludos.
2

Hola Verónica,

Por favor lee las respuestas #16, #17 y #18 que te escribí hoy.

saludos.
2

Hola Leonel.

Claro, esta url (https://guarani.usi.edu.ar/apisicer/rest/) es la que suponíamos que había cambiado, porque la original era https://guarani.usi.edu.ar/apisicer, ya la modificamos y funciona ok.
Respecto a los datos del analítico, el error está justamente en el stored procedure ws_datos_analítico porque busca un campo que no existe, ya lo actualizo y queda todo funcionando.
Lamentablemente, nos vamos quedando atrás en las versiones, pero trataremos de reflotar el tema de la migración.

Muchas gracias.
Besos. Vero

Perfecto Verónica,

Osea, estaban usando Guaraní 3.17.0 con api_externa versión 1.2.1, en ese caso daba un error como el siguiente:

https://guarani.usi.edu.ar/apisicer/rest/personas/8/datosanalitico


{
    "error": 500,
    "mensaje": "500 Internal Server Error",
    "descripcion": "Error Interno en el servidor: SQL ERROR: SQLSTATE[42703]: Undefined column: 7 ERROR:  column \"es_optativa\" does not exist\nLINE 35:                         es_optativa\n                                 ^\nSELECT\ttitulo_araucano,\n\t\t\t\t\t\ttitulo_nombre,\n\t\t\t\t\t\tresponsable_academica,\n\t\t\t\t\t\tpropuesta,\n\t\t\t\t\t\tpropuesta_nombre,\n\t\t\t\t\t\tplan_codigo AS plan_alumno,\n\t\t\t\t\t\ttitulo_esta_cumplido,\n\t\t\t\t\t\tnro_resolucion_ministerial,\n\t\t\t\t\t\tnro_resolucion_coneau,\n\t\t\t\t\t\tnro_resolucion_institucion,\n\t\t\t\t\t\tfecha_ingreso,\n\t\t\t\t\t\tfecha_egreso,\n\t\t\t\t\t\ttiene_sanciones,\n\t\t\t\t\t\ttitulo_anterior_nivel,\n\t\t\t\t\t\ttitulo_anterior_origen,\n\t\t\t\t\t\ttitulo_anterior_nacionalidad,\n\t\t\t\t\t\ttitulo_anterior_institucion,\n\t\t\t\t\t\ttitulo_anterior_denominacion,\n\t\t\t\t\t\ttitulo_anterior_revalidado,\n\t\t\t\t\t\ttitulo_anterior_nro_resolucion,\n\t\t\t\t\t\ttitulo_apto_ejercicio,\n\t\t\t\t\t\tplan_vigente,\n\t\t\t\t\t\ttipo,\n\t\t\t\t\t\tactividad_nombre,\n\t\t\t\t\t\tactividad_codigo,\n\t\t\t\t\t\tcreditos,\n\t\t\t\t\t\tfecha,\n\t\t\t\t\t\tnota,\n\t\t\t\t\t\tresultado,\n\t\t\t\t\t\tfolio_fisico,\n\t\t\t\t\t\tacta_resolucion,\n\t\t\t\t\t\tpromedio,\n\t\t\t\t\t\tpromedio_sin_aplazos,\n\t\t\t\t\t\tforma_aprobacion,\n                        es_optativa\n\t\t\t\tFROM\tws_datos_analitico (8, null, true)"
}

Con api_externa versión 1.2.0 dicho error debería desaparecer.

¿como lo solucionaron? ¿actualizaron a Guaraní 3.17.1 o mantuvieron Guaraní 3.17.0 e hicieron un downgrade a api_externa versión 1.2.0?

Me alegro que lo pudieron solucionar.

saludos.
2