colav / impactu

Colav Impactu Issues and Documentation
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Problemas con el API: diseño de url y paginación #59

Closed restrepo closed 1 month ago

restrepo commented 2 months ago

1) Para obtener el api desde un URL de la plataforma se había diseñado de manera que sólo tocará cambiar app por api en url. Sin embargo, ahora parece que también hay que poner un "apis" después del https:// →

https://apis.impactu.colav.co/api/search/person?keywords="diego+alejandro+restrepo+quintero"

2) Cualquier solicitud al API directamente o desde el frontend debe entregar un número máximo de resultados con la correspondiente paginación. El número máximo que habíamos escogido era de 250 resultados por página, sin embargo la paginación no ésta funcionando como se puede comprobar con el siguiente url donde max y page son ignorados

https://apis.impactu.colav.co/api/person/660b049efe99b8857e88123b/research/products&max=10&page=1. La paginación podría coincidir con la usada en frontend, la cual en este momento no se está exponiendo en el url

3) En la versión anterior había una documentación automática del API al estilo https://apis.colav.co en el url: https://impactu.colav.co/apidoc ¿Donde estará la documentación del API en ésta versión?

Muchas gracias

luismvargasg commented 2 months ago

@restrepo El punto 1 ya se encuentra resuelto siguiendo el diseño de OpenAlex:

En el navegador se verá por ejemplo la siguiente URL: https://impactu.colav.co/affiliation/institution/660b03f5fe99b8857e8658bd/research/products

El usuario que desee acceder a la API de experto tendrá dos opciones, en la primera opción deberá anteponer la palabra "api" antes de "impactu.colav.co...": --------↓↓↓---------- https://api.impactu.colav.co/affiliation/institution/660b03f5fe99b8857e8658bd/research/products

En la segunda opción podrá acceder directamente a través del botón dispuesto en la parte superior de la lista de productos: image

Observación: La paginación no es visible para el usuario de front debido a que es una información innecesaria y que al exponerla en la URL del navegador detonaría múltiples re-renderizados cada vez que un usuario use cualquiera de las opciones de paginación; sin embargo @Simon3640 ya configuró la respuesta por defecto cuando esos datos no aparezcan en el query de la URL y también queda activa la navegación adicionando los parámetros directamente. Igualmente ya se encuentra trabajando en entregar en la respuesta de la API los cursores que ayudan a la navegación de de esta a través del navegador.

omazapa commented 2 months ago

hola @restrepo lo mismo para la plataforma de pruebas, sería https://api.dev.impactu.colav.co/ todos los nuevos dominios quedaron también con certificados ssl.

Simon3640 commented 2 months ago

@restrepo image Actualmente se habilita la paginación de los resultados por api, queda limitado a un máximo de 250 productos por petición, además se agrega el cursor para facilitar la consulta por la api. https://github.com/colav-playground/impactu-backend-service/commit/a72426732c75879ca986216526a14595f75772e2

omazapa commented 2 months ago

@Simon3640 aún falta el punto 3. de la documentación. re abro el issue

restrepo commented 1 month ago

@Simon3640: Esta parte no es crítica pero falta. Hay búsquedas que aún no se reflejan en API...

Search works

añadiendo api no funciona:

https://**api.**impactu.colav.co/search/works....

Simon3640 commented 1 month ago

@restrepo En la primera versión del backend no existía la búsqueda de api por productos, se agregó al diseño, se debe definir cuáles campos son los necesarios para este tipo de consulta. search Quedo atento al esquema requerido para la respuesta.

restrepo commented 1 month ago

@Simon3640: Cómo se están buscando productos, el esquema es el mismo del listado de productos de un perfil ya implementado

Simon3640 commented 1 month ago

Documentación