Normativa (v1)
Normativa
Section titled “Normativa”La normativa como dato: el catálogo, las versiones de cada norma, su índice y el texto de cada sección, artículo a artículo. No consume cuota (grupo de datos). Para preguntar sobre la normativa en lenguaje natural, ask.
| Endpoint | Qué devuelve |
|---|---|
GET /v1/regulations | El catálogo, con la versión vigente de cada norma |
GET /v1/regulations/{slug} | Una norma, sus versiones y sus documentos relacionados |
GET /v1/regulations/{slug}/contents | El índice de secciones de una versión |
GET /v1/regulations/{slug}/sections/{section} | El texto de una sección |
Los identificadores son estables: la norma es su slug (cte-db-he), la versión el suyo (2022), la sección el suyo dentro de la versión y cada bloque (un artículo, un apartado) el suyo dentro de la sección.
El catálogo
Section titled “El catálogo”GET /v1/regulations?q=energía&scope=national&limit=20
| Parámetro | Descripción |
|---|---|
q | Texto en el título |
scope | national, regional o municipal |
tag | Una etiqueta |
place | ES- y el código INE: las normas que aplican a ese municipio, de la estatal a la municipal |
curated | true: solo las de texto curado a mano. false: las de texto automático o sin texto |
limit | Hasta 100 (20 por defecto) |
cursor | El next_cursor de la respuesta anterior |
{ "object": "list", "data": [ { "object": "regulation", "slug": "cte-db-he", "title": "Documento Básico HE - Ahorro de Energía", "short_title": "CTE DB-HE", "scope": "national", "tags": [], "current_version": { "version": "2022", "title": "Documento Básico HE - Ahorro de Energía", "status": "active", "published_date": null, "effective_date": null, "has_text": true, "curated": true, "source_url": "https://www.codigotecnico.org/pdf/Documentos/HE/DBHE.pdf" } } ], "has_more": true, "next_cursor": "eyJvIjogMjB9"}Una norma
Section titled “Una norma”GET /v1/regulations/cte-db-he añade la descripción, todas las versiones (versions, la vigente primero) y los documentos relacionados (related_documents: comentarios, guías, documentos de apoyo), que no tienen texto en la API pero sí el enlace a su original.
Solo las versiones que Normatia ha procesado tienen texto: lo dice has_text. De las demás, source_url lleva al documento original.
Texto curado y texto automático
Section titled “Texto curado y texto automático”El texto de cada versión es de una de dos clases, y curated dice cuál:
curated | Qué quiere decir |
|---|---|
true | Revisado a mano por Normatia: artículos, numeración, tablas y listas contrastados con el original |
false | Convertido de forma automática desde el documento original y sin revisar: puede tener errores de lectura, numeración o estructura |
La mayor parte de la normativa estatal y autonómica está curada; buena parte del planeamiento municipal es automático. Si un dato va a sostener una decisión, contrasta el texto automático con source_url.
El índice y el texto
Section titled “El índice y el texto”GET /v1/regulations/cte-db-he/contents devuelve las secciones de la versión vigente; con version=2019, las de esa.
GET /v1/regulations/cte-db-he/sections/seccion-he-0-limitacion-del-consumo-energetico devuelve sus bloques en orden:
{ "object": "section", "regulation": "cte-db-he", "version": { "version": "2022", "status": "active", "has_text": true, "curated": true, "...": "..." }, "slug": "seccion-he-0-limitacion-del-consumo-energetico", "title": "Sección HE 0 Limitación del consumo energético", "blocks": [ { "slug": "1-ambito-de-aplicacion", "parent": null, "type": "article", "level": 3, "title": "1 Ámbito de aplicación", "text": "1 Ámbito de aplicación. Esta sección es de aplicación a: edificios de nueva construcción; ...", "html": null } ]}parent es el slug del bloque que lo contiene. Con format=html, cada bloque trae también su texto con formato (tablas, listas).
Errores
Section titled “Errores”| Estado | code | Cuándo |
|---|---|---|
| 404 | regulation_not_found | No hay ninguna norma con ese slug |
| 404 | version_not_found | La norma no tiene esa versión (o es un documento relacionado, sin texto) |
| 404 | section_not_found | La versión no tiene esa sección. El índice está en /contents |
| 404 | place_not_found | El place no existe |
| 422 | invalid_cursor | El cursor no es uno de los que da la API |