LibreAPI: Documentación

LibreAPI es una iniciativa de código abierto para entregar acceso universal y rápido a datos y servicios chilenos. Se ofrece libre de costo y sin limitaciones, y se financia con donaciones de la comunidad.

La una versión modificada de la especificación JSend de OmnitiLabs es utilizada como base para las interacciones y resquestas de la API.

Un agradecimiento al usuario de GitHub "laurencee9" por la plantilla utilizada para crear esta documentación

Precaución: LibreAPI solo acepta conexiones por HTTPS. Las conexionexions HTTP serán redirecionadas.


RUT

El endpoint /rut ofrece herramientas para el manejo y validación de RUTs.

  • Validar números de RUT
  • Dar formato a RUTs
  • Ver el nombre o razón social asociado a un RUT
  • Identificar las actividades económicas activas para un RUT

Ver nombre y actividades

GET /rut/activities

Utiliza la base de datos del Servicio de Impuestos Internos (SII) para determinar el nombre y actividades de un RUT. De no haber datos asociados el nombre será un string vacío y las actividades serán null.

Parámetros

rut: Número de RUT con dígito verificador, con o sin guiónes o separadores

Respuesta

{
    "data": {
        "activities": [
            {
                "name": "Otras Actividades Profesionales, Cientificas Y Tecnicas N.C.P.",
                "code": 749009,
                "category": "Segunda",
                "subject_to_vat": false,
                "date": "2018-03-29T00:00:00Z"
            }
        ],
        "name": "Juán Gómez Godoy",
        "rut": "12.345.678-5"
    },
    "status": "success"
}

Validar

GET /rut/validate

Utiliza el “método módulo 11” para verificar que los dígitos del RUT sean válidos en relación al número verificador.

Precaución: Que un RUT sea valido no garantiza que el RUT exista o esté vigente (vease Ver nombre y actividades para este fin).

Parámetros

rut: Número de RUT con dígito verificador, con o sin guiónes o separadores

Respuesta

{
    "data": {
        "rut": "12.345.678-5",
        "valid": true
    },
    "status": "success"
}

Calcular el dígito verificador

GET /rut/digit

Utiliza el “método módulo 11” para calcular el dígito verificador de un RUT.

Parámetros

rut: Número de RUT sin dígito verificador, con o sin guiónes o separadores

Respuesta

{
    "data": {
        "digit": "5",
        "rut": "12.345.678-5"
    },
    "status": "success"
}

Economía

El endpoint /economy ofrece herramientas para el monitoreo de divisas, critpomonedas e indicadores económicos.

  • Revisar el valor de divisas reportadas por el Banco Central
  • Ver el reporte de indicadores económicos del Banco Central
  • Monitorear el valor de criptomonedas en pesos

Listar criptomendas

GET /economy/crypto

Utiliza la base de datos de CoinMarketCap para entregar información sobre variaciones en precio de criptomonedas, el valor actual en pesos y dolares, el límite de circulación de la moneda y el volumen de transacciones.

Opcionalmente se puede utilizar un párametro name para filtrar los resultados por nombre o por abreviación.

Parámetros

name: Opcional. Nombre o abreviación para utilizar como fitro de fuzzy-search.

Respuesta

{
    "data": [
        {
            "name": "Bitcoin",
            "symbol": "BTC",
            "market_cap_usd": 737913344755,
            "price_usd": 39685.7,
            "price_clp": 27628390.625999995,
            "supply": 18593937,
            "volume_usd": 84677658651,
            "hourly_change": 2,
            "daily_change": 10.06,
            "weekley_change": 36.57
        },
        {
            "name": "Ethereum",
            "symbol": "ETH",
            "market_cap_usd": 143123923761,
            "price_usd": 1253.73,
            "price_clp": 872821.7514,
            "supply": 114158693,
            "volume_usd": 40524775118,
            "hourly_change": 1.08,
            "daily_change": 5.77,
            "weekley_change": 69.74
        },
        (....)
    ],
    "status": "success"
}

Ver la conversión de divisas

GET /economy/currencies

Utiliza el Banco Central como fuente para la mostrar conversión actual entre el peso y otras divisas.

Puede utilizarse el parámetro opcional name para realizar busqueda por una divisa específica. Puede indicarse el nombre o abreviación ISO 4217.

Parámetros

name: Opcional. Nombre o abreviación ISO 4217 de la divisa a buscar.

Respuesta

{
    "data": [
        {
            "Name": "Baht tailandés",
            "ISO4217": "THB",
            "ExchangeRate": 29.93
        },
        {
            "Name": "Bolívar fuerte venezolano",
            "ISO4217": "VEF",
            "ExchangeRate": 1172055.1331
        },
        (...)
    ],
    "status": "success"
}

Indicadores económicos

GET /economy/indicators

Genera un reporte de indicadores económicos de acuerdo a los datos del Banco Central. Incluye el valor del dolar, cobre, la UF entre otros.

Parámetros

Respuesta

{
    "data": {
        "uf": 29063.76,
        "ivp": 30244.83,
        "dolar": 696.18,
        "euro": 856.2,
        "itcnm": 856.2,
        "ozt_silver": 26.92,
        "ozt_gold": 1903.54,
        "lb_copper": 3.63
    },
    "status": "success"
}

Clima

El endpoint /weather ofrece acceso a los datos actuales del tiempo proveidos por la Dirección Meteorológica de Chile.

  • Revisar máximas y mínimas en los últimos dos días
  • Ver información de precipitación de los últimos dos días
  • Ver información actual de temperatura, presión y preciptación de las estaciones meteorológicas de Chile.

Listar estaciones meteorológicas

GET /weather/stations

Utiliza la información en tiempo real de la Dirección Meteorológica de Chile sobre las estaciones meteorológicas de Chile.

Opcionalmente se puede utilizar un parámetro name para filtrar los resultados por nombre o el parámetro code para filtrar por código. Estos dos parámetros no se pueden usar al mismo tiempo.

Parámetros

name: Opcional. Nombre de la estación para utilizar como filtro. No se puede utilizar junto a `code`.
code: Opcional. Código de la estación para utilizar como filtro. No se puede utilizar junto a `name`.

Respuesta

{
    "data": [
        {
            "code": 180017,
            "name": "Putre",
            "operational": true,
            "last_report": "2021-01-07T20:00:00-03:00",
            "temperature": 6.3,
            "humidity": 1,
            "presure_hpas": 669.6,
            "today": {
                "maximum": {
                    "time": "2021-01-07T11:34:00-03:00",
                    "temperature": 10.6
                },
                "minimum": {
                    "time": "2021-01-07T05:55:00-03:00",
                    "temperature": 3.8
                },
                "precipitations": {
                    "sum": 0,
                    "ema": 0
                }
            },
            "yesterday": {
                "maximum": {
                    "time": "2021-01-06T13:31:00-03:00",
                    "temperature": 10.6
                },
                "minimum": {
                    "time": "2021-01-06T06:53:00-03:00",
                    "temperature": 2.5
                },
                "precipitations": {
                    "sum": 0,
                    "ema": 0
                }
            }
        },
        (...)
    ],
    "status": "success"
}

Errores

Si se generara un error durante una solicitud el código de respuesta indicara el problema general, y el cuerpo de la respuesta contendrá un detalle explicando lo sucedido en el campo errors. El status de la solicitud será fail si ha habido un problema con la solicitud, y error si la solicitud fue correcta pero el servidor generó un error.

400 Bad Request
{
    "errors": {
        "rut": "no rut was provided"
    },
    "status": "fail"
}