Web Service
La BCN ofrece un servicio web para desarrolladores donde permite descargar datos con distintas aplicaciones mediante XML, entre los servicios que son mas utiles se encuentran:
- Obtiene los metadatos de una norma y el texto de encabezado
- Obtiene el XML completo de la version actualizada de una norma. (Norma completa)
- Normas seleccionadas por una institucion en convenio con la BCN. (Normas por institucion)
Metadatos De una Norma
Consulta por los metadatos de una norma (tipo de norma, palabras claves, organismo, materia) más su encabezado.
https://www.leychile.cl/Consulta/obtxml?opt=4546&idNorma={id} Como parámetro deberá colocar el número del identificador único de la norma. Para obtener este identificador deberá obtenerlo buscando por el número de la ley (en la búsqueda simple) o de algun otro servicio de consulta de normas.
Norma Completa
Última versión de cualquier norma (leyes, decretos, tratados, DL, DFL, resoluciones, etc.)
https://www.leychile.cl/Consulta/obtxml?opt=7&idNorma={id} Como parámetro deberá colocar el número del identificador único de la norma.
Normas por institución
Consulta por las normas seleccionadas por una determinada institución
https://www.leychile.cl/Consulta/obtxml?opt=6&idCategoria={id_institucion} En el parámetro idCategoria o id_institucion deberá colocar el número del convenio, el que puede obtener siguiendo los siguientes pasos:
- Visitar la siguiente página
- Buscar la institución a consultar y descargar el XML del convenio
- Obtener el valor del atributo id_categoria desde el elemento NORMAS_CONVENIO
Tipos de normas
En el Web Service de la BCN existen distinciones entre los tipos de normas que hay (decretos, leyes, decretos con fuerza de ley, etc.), estos se encuentra en el XML de las normas guardado como:
<Grupo id_grupo="153">Decretos</Grupo> Sin embargo, también existe otra clasificación o
forma de clasificación de las normas en el Web Service,
específicamente el <Tipos_Numeros>:
<TIPOS_NUMEROS>
<TIPO_NUMERO>
<TIPO>XX2</TIPO>
<NUMERO>179</NUMERO>
<DESCRIPCION>Decreto</DESCRIPCION>
<ABREVIACION>DTO</ABREVIACION>
<COMPUESTO>DTO-179</COMPUESTO>
</TIPO_NUMERO>
</TIPOS_NUMEROS>
La primera forma de clasificación (de ahora en adelante
<Grupo>), solo se encuentra en las respuestas
al endpoint de Normas por institución y el
id_grupo no atiende a ningún otro endpoint e incluso el
id_grupo cambia por institución para los mismos tipos de
norma, es decir que los ids de un tipo de norma pueden ser diferentes
dependiendo de la institución.
La segunda forma de clasificación (de ahora en adelante <TIPO_NUMERO>) , se encuentra tanto en las respuestas al endpoint de Norma completa como en el endpoint de Normas por institución, y es la forma de clasificación que se utiliza para identificar un tipo de norma de manera única en el Web Service. Pero esta forma no es consistente con el endpoint de Norma Completa.
Norma Completa
<TiposNumeros>
<TipoNumero>
<Tipo>Ley</Tipo>
<Numero>19846</Numero>
</TipoNumero>
</TiposNumeros> Normas por institución
<TIPOS_NUMEROS>
<TIPO_NUMERO>
<TIPO>XX2</TIPO>
<NUMERO>179</NUMERO>
<DESCRIPCION>Decreto</DESCRIPCION>
<ABREVIACION>DTO</ABREVIACION>
<COMPUESTO>DTO-179</COMPUESTO>
</TIPO_NUMERO>
</TIPOS_NUMEROS> Problema-Solución
En resumen el Web Service de la BCN no posee una forma de clasificación de normas consistentes en todos los endpoints, por lo que es necesario utilizar la forma de clasificación <TIPO_NUMERO> para identificar un tipo de norma de manera única en el Web Service.
Es por esto que se creó el TiposNormasManager para manejar
la forma de clasificación <TIPO_NUMERO>
y poder identificar un tipo de norma de manera única en el Web Service.
Instituciones
La BCN, a partir de su Base de Datos Legal, provee a instituciones públicas y privadas acceso, vía digital, a la normativa siempre actualizada de su ámbito de acción.