Introducción

Bienvenido a la documentación de la API de BigOpenApi (BOA).

Esta guía se encuentra dividida en los siguientes contenidos:

BigOpenApi (BOA)
Introducción y explicación de lo que es BOA.
Objeto de Respuesta
Información sobre el objeto de respuesta devuelto por los servicios de la API.
Descripción de los servicios
Descripción y uso de los servicios que ofrece BOA.

BigOpenApi (BOA)

BigOpenApi ofrece una serie de servicios REST y Servlets que proveen información de los recursos alojados en el entorno BigData de la plataforma DATUNE.

Los servicios que se ofrecen son los siguientes:

  • mostrarRecursos
  • describirRecurso
  • probarRecurso
  • contarResultados
  • filtrarResultados
  • buscarEnUnRadio
  • buscarEnUnPoligono
  • buscarEnUnRectangulo

Objeto de Respuesta

El resultado de la petición será en un objeto en formato JSON (http://www.json.org)

Este objeto de respuesta seguirá la siguiente estructura:

{
        “Result”:[{
                        “col1”:”valor1”
                },{
                        “col2”:”valor2”
                }
                ...
        ],
        “NumResult”:”0”,
        “Error”:{
                “Código”:”xx”,
                “Descripcion”:”Descripción del error”
        }
}
  • El elemento Result contendrá un array de objetos JSON con los resultados de la consulta. En caso de que no se hayan encontrado resultados, o surja algún error, el Array no contendrá ningún elemento.
  • El elemento NumResult tendrá como valor la longitud del array contenido en el elemento Result.
  • El elemento Error contiene un objeto en formato JSON con otros dos elementos, Código y Descripción. Estos valores podrán ser consultados en éste documento en la sección de catálogos. Si la ejecución del servicio fuera satisfactoria, el elemento Error estará vacío.

Descripción de los servicios

A continuación se describen los servicios implementados

mostrarRecursos
Descripción
Servicio que devuelve una lista con los nombres de los recursos disponibles.
Tipo servicio
REST
Parámetros  
Resultado
Devuelve un array con los diferentes recursos disponibles.

Formato:

  • tab_name : Nombre del recurso
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/mostrarRecursos
describirRecursos
Descripción
Servicio que devuelve la estructura del recurso solicitado.
Tipo servicio
REST
Parámetros

  • dsTabla: Nombre del recurso
Resultado
Devuelve un array con los diferentes recursos disponibles.

Formato:

  • tab_name : Nombre del recurso
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/describirRecurso?dsTabla=<nombreRecurso>
probarRecursos
Descripción
Servicio que devuelve 100 elementos del recurso solicitado de forma rápida,
para poder comprobar el tipo de información contenida en el recurso.

Si la ejecución es correcta, la respuesta se realizará mediante un archivo de
texto plano con el objeto Resultado en formato JSON. En cambio, en caso
de error se devolverá, en forma de mensaje, el objeto JSON de respuesta
informando del error.
Tipo servicio
Servlet
Parámetros

  • dsTabla: Nombre del recurso
  • comprimir: No obligatorio. Si viene indicado con valor true se devolverá el resultado en formato ZIP
Resultado
Array en formato JSON con los registros contenidos en el recurso.

Formato:

  • claveRecurso : valor
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/probarRecurso?dsTabla=<nombreRecurso>&comprimir=true
contarResultados
Descripción
Devuelve el número de registros coincidentes para los campos y expresiones
regulares enviadas como parámetros para un recurso. Este servicio permite
prever la cantidad de información que sería devuelta por el método
filtrarResultados para un mismo filtro.
Tipo servicio
REST
Parámetros
Permite enviar una lista de campos y expresiones regulares a cumplir. Los
campos y expresiones regulares se validarán en orden, es decir, el primer
parámetro campo se validará con la primera expresión regular enviada. Por
tanto, deberá existir el mismo número de campos como de expresiones
regulares.

  • dsTabla: nombre del recurso
  • dsCampo: nombre del campo del recurso por el que se desea filtrar
  • regex: expresión regular que se desea validar para un campo específico
Resultado
Array en formato JSON con el número de registros coincidentes con el filtro.

Formato:

  • claveRecurso : valor
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/contarResultados?dsTabla=<nombreRecurso>&dsCampo=<campo1>&regex=<regex1>&dsCampo=<campo2>&regex=<regex2>
filtrarResultados
Descripción
Devuelve los registros coincidentes para los campos y expresiones regulares
enviadas como parámetros para un recurso.

Si la ejecución es correcta, la respuesta se realizará mediante un archivo de
texto plano con el objeto Resultado en formato JSON. En cambio, en caso
de error se devolverá, en forma de mensaje, el objeto JSON de respuesta
informando del error.
Tipo servicio
Servlet
Parámetros
Permite enviar una lista de campos y expresiones regulares a cumplir. Los
campos y expresiones regulares se validarán en orden, es decir, el primer
parámetro campo se validará con la primera expresión regular enviada. Por
tanto, deberá existir el mismo número de campos como de expresiones
regulares.

  • dsTabla: nombre del recurso
  • dsCampo: nombre del campo del recurso por el que se desea filtrar
  • regex: expresión regular que se desea validar para un campo específico
  • comprimir: No obligatorio. Si viene indicado con valor true se devolverá el resultado en formato ZIP
Resultado
Array en formato JSON con los registros coincidentes con el filtro

Formato:

  • claveRecurso : valor
Ejemplo de llamada `http://<servidor>:9090/BigOpenApi/filtrarResultados?dsTabla=<nombreRecurso>&dsCampo=<campo1>&regex=<regex1>&dsCampo=<campo2>&regex=<regex2>&comprimir=true
buscarEnUnRadio
Descripción
Este servicio permite geolocalizar registros contenidos en un radio para
aquellos recursos que tengan disponible campos de coordenadas geográficas
(latitud y longitud).

Si la ejecución es correcta, la respuesta se realizará mediante un archivo de
texto plano con el objeto Resultado en formato JSON. En cambio, en caso
de error se devolverá, en forma de mensaje, el objeto JSON de respuesta
informando del error.
Tipo servicio
Servlet
Parámetros

  • dsTabla: nombre del recurso.
  • centro: punto central del área a filtrar. Debe ser expresado con formato “latitud,longitud”.
  • metros: distancia a buscar desde el centro solicitado.
  • fecha: fecha de los registros solicitados en formato yyyyMMdd. Éste campo no es obligatorio, pero permite agilizar las búsquedas.
  • comprimir: No obligatorio. Si viene indicado con valor true se devolverá el resultado en formato ZIP
Resultado
Array en formato JSON con los registros contenidos en el área solicitada.

Formato:

  • claveRecurso : valor
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/buscarEnUnRadio?dsTabla=<nombreRecurso>&centro=<latitud1>,<longitud1>&metros=<númeroMetros>&fecha=<yyyyMMdd>&comprimir=true
buscarEnUnPoligono
Descripción
Este servicio permite geolocalizar registros contenidos en un polígono para
aquellos recursos que tengan disponible campos de coordenadas geográficas
(latitud y longitud).

Si la ejecución es correcta, la respuesta se realizará mediante un archivo de
texto plano con el objeto Resultado en formato JSON. En cambio, en caso
de error se devolverá, en forma de mensaje, el objeto JSON de respuesta
informando del error.
Tipo servicio
Servlet
Parámetros
Permite enviar una lista de coordenadas que marcarán los vértices del polígono
solicitado. Las coordenadas deberán ser enviadas en el orden en el que se
quiere que se unan los puntos.

  • dsTabla: Nombre del recurso
  • coordenadas: punto geográfico del polígono a filtrar. Debe ser expresado con formato “latitud,longitud”.
  • fecha: fecha de los registros solicitados en formato yyyyMMdd. Éste campo no es obligatorio, pero permite agilizar las búsquedas.
  • comprimir: No obligatorio. Si viene indicado con valor true se devolverá el resultado en formato ZIP
Resultado
Array en formato JSON con los registros contenidos en el polígono solicitado.

Formato:

  • claveRecurso : valor
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/buscarEnUnPoligono?dsTabla=<nombreRecurso>&coordenadas=<latitud1>,<longitud1>&coordenadas=<latitud2>,<longitud3>&coordenadas=<latitud2>,<longitud3>&fecha=<yyyyMMdd>&comprimir=true
buscarEnUnRectangulo
Descripción
Este servicio permite geolocalizar registros contenidos en un rectángulo para
aquellos recursos que tengan disponible campos de coordenadas geográficas
(latitud y longitud).

Si la ejecución es correcta, la respuesta se realizará mediante un archivo de
texto plano con el objeto Resultado en formato JSON. En cambio, en caso
de error se devolverá, en forma de mensaje, el objeto JSON de respuesta
informando del error.
Para búsquedas geoespaciales se recomienda hacer uso de este servicio por su
agilidad frente a buscarEnUnRadio y buscarEnUnPoligono
Tipo servicio
Servlet
Parámetros
Permite enviar dos coordenadas que marcarán los vértices opuestos del rectángulo
solicitado. No es necesario enviar las coordenadas en un orden concreto

  • dsTabla: Nombre del recurso
  • puntoUno: Primer punto geográfico del rectángulo a filtrar. Debe ser expresado con formato “latitud,longitud”.
  • puntoDos: Segundo punto geográfico del rectángulo a filtrar. Debe ser expresado con formato “latitud,longitud”.
  • fecha: fecha de los registros solicitados en formato yyyyMMdd. Éste campo no es obligatorio, pero permite agilizar las búsquedas.
  • comprimir: No obligatorio. Si viene indicado con valor true se devolverá el resultado en formato ZIP
Resultado
Array en formato JSON con los registros contenidos en el polígono solicitado.

Formato:

  • claveRecurso : valor
Ejemplo de llamada http://<servidor>:9090/BigOpenApi/buscarEnUnRectangulo?dsTabla=<nombreRecurso>&puntoUno=<latitud1>,<longitud1>&puntoDos=<latitud2>,<longitud2>&fecha=<yyyyMMdd>&comprimir=true