Ejemplo de uso en Python

En esta sección se muestran algunos ejemplos de código fuente en Python para interacturar con la API de LibreBOR.

Para los ejemplos se hace uso de la librería requests. Si usa una distribución de Linux basada en Debian, puede instalarlo de la siguiente manera:

# A través del gestor de paquetes
sudo apt install python3-requests

# A través del gestor de paquetes PIP
pip3 install requests --user

Para instalarla en otros sistemas operativos, consulte el manual correspondiente.

Buscar empresas y personas por nombre

El siguiente código usa la API para buscar todos los "Rajoy Brey" y muestra por pantalla los nombres así como otros datos devueltos:

En general, el flujo es el siguiente:

  1. Hacer una búsqueda por nombre mediante el endpoint /v2/person/search/
  2. Escoger el campo slug del resultado deseado
  3. Obtener los detalles mediante el slug y el endpoint /v2/person/by-slug/<slug>/
import requests

# Credenciales
AUTHENTICATION = requests.auth.HTTPBasicAuth("username", "password")

HOST = "api.librebor.me"
# HOST = "sandbox-api.librebor.me"


def buscar(nombre):
    params = {"query": nombre}
    url = f"https://{HOST}/v2/person/search/"
    req = requests.get(url, params=params, auth=AUTHENTICATION)
    req.raise_for_status()
    return req.json()


rajoy = buscar("Rajoy Brey")
for result in rajoy["people"]:
    print("Nombre:", result["name"])
    print("Slug:", result["slug"])
    print("Provincia:", result["province"])
    print("Última actualización:", result["last_update"])

print("\nNúmero de resultados:", rajoy["total_results"])

Obtener información mercantil de una persona

El siguiente código usa la API para obtener las empresas en las que figura una persona y la última fecha de aparición en el BORME:

import requests

# Credenciales
AUTHENTICATION = requests.auth.HTTPBasicAuth("username", "password")

HOST = "api.librebor.me"
# HOST = "sandbox-api.librebor.me"


def info_persona(slug):
    url = f"https://{HOST}/v2/person/by-slug/{}/".format(slug)
    req = requests.get(url, auth=AUTHENTICATION)
    req.raise_for_status()
    return req.json()

def print_position(position):
    print("Sociedad:", position["name_company"])
    print("Cargo:", position["role"])
    if "date_from" in position:
        print("Desde:", position["date_from"])
    if "date_to" in position:
        print("Hasta:", position["date_to"])
    print("")

rajoy = info_persona("rajoy-brey-enrique")
person = rajoy["person"]

print("--- Cargos activos: {} ---\n".format(person["total_active_positions"]))
for position in person["active_positions"]:
    print_position(position)

print("--- Cargos inactivos: {} ---\n".format(person["total_inactive_positions"]))
for position in person["inactive_positions"]:
    print_position(position)

print("Última aparición: " + person["last_update"])