Comunas y Regiones
Comunas y Regiones
Sección titulada «Comunas y Regiones»Estos endpoints permiten obtener el catálogo completo de división político-administrativa de Chile. Los datos incluyen códigos SII, códigos BHE y relaciones entre comunas y regiones.
Son útiles para poblar selectores en formularios, validar datos de entrada, o sincronizar catálogos con tu sistema.
Requisitos Previos
Sección titulada «Requisitos Previos»Antes de usar estos endpoints necesitas:
- Una API Key con rol
FULL-API
Endpoints
Sección titulada «Endpoints»GET /regiones
Sección titulada «GET /regiones»Retorna las 16 regiones de Chile.
Request
Sección titulada «Request»GET /regionesHeaders
Sección titulada «Headers»Authorization: Bearer {api_key}Ejemplo con curl
Sección titulada «Ejemplo con curl»curl -X GET "https://api.redcumbre.cl/regiones" \ -H "Authorization: Bearer {api_key}"Respuesta Exitosa (200)
Sección titulada «Respuesta Exitosa (200)»{ "success": true, "data": [ { "id": 1, "nombre": "Tarapacá" }, { "id": 2, "nombre": "Antofagasta" }, { "id": 3, "nombre": "Atacama" }, { "id": 4, "nombre": "Coquimbo" }, { "id": 5, "nombre": "Valparaíso" }, { "id": 6, "nombre": "O'Higgins" }, { "id": 7, "nombre": "Maule" }, { "id": 8, "nombre": "Biobío" }, { "id": 9, "nombre": "La Araucanía" }, { "id": 10, "nombre": "Los Lagos" }, { "id": 11, "nombre": "Aysén" }, { "id": 12, "nombre": "Magallanes" }, { "id": 13, "nombre": "Metropolitana" }, { "id": 14, "nombre": "Los Ríos" }, { "id": 15, "nombre": "Arica y Parinacota" }, { "id": 16, "nombre": "Ñuble" } ]}Campos de Región
Sección titulada «Campos de Región»| Campo | Tipo | Descripción |
|---|---|---|
id | number | ID de la región (1-16) |
nombre | string | Nombre oficial de la región |
GET /comunas
Sección titulada «GET /comunas»Retorna las 346 comunas de Chile con información detallada.
Request
Sección titulada «Request»GET /comunasHeaders
Sección titulada «Headers»Authorization: Bearer {api_key}Ejemplo con curl
Sección titulada «Ejemplo con curl»curl -X GET "https://api.redcumbre.cl/comunas" \ -H "Authorization: Bearer {api_key}"Respuesta Exitosa (200)
Sección titulada «Respuesta Exitosa (200)»{ "success": true, "data": [ { "id": 1, "nombre": "Arica", "numero": 1101, "codigoSii": "15101", "regionId": 15, "regionNombre": "Arica y Parinacota", "bheCodigo": 15101, "bheNombre": "ARICA", "bheRegionCodigo": 15, "bheRegionNombre": "ARICA Y PARINACOTA", "unidadSii": { "direccionRegional": "Dirección Regional de Arica y Parinacota", "nombreCorto": "DR Arica y Parinacota", "codigoRegion": "15", "unidad": "Unidad de Arica" } } ]}Campos de Comuna
Sección titulada «Campos de Comuna»| Campo | Tipo | Descripción |
|---|---|---|
id | number | ID secuencial de la comuna |
nombre | string | Nombre oficial de la comuna |
numero | number | Código numérico de la comuna |
codigoSii | string | Código SII de la comuna (5 dígitos) |
regionId | number | ID de la región a la que pertenece |
regionNombre | string | Nombre de la región |
bheCodigo | number | Código BHE de la comuna |
bheNombre | string | Nombre de la comuna según BHE |
bheRegionCodigo | number | Código de región según BHE |
bheRegionNombre | string | Nombre de región según BHE |
unidadSii | object | null | Información de la unidad SII correspondiente |
Estructura de Unidad SII
Sección titulada «Estructura de Unidad SII»| Campo | Tipo | Descripción |
|---|---|---|
direccionRegional | string | Nombre de la Dirección Regional |
nombreCorto | string | Nombre corto de la DR |
codigoRegion | string | Código de la región |
unidad | string | Nombre de la unidad SII |
GET /comunas-regiones
Sección titulada «GET /comunas-regiones»Retorna ambos listados en una sola llamada. Útil para cargar todos los datos de una vez.
Request
Sección titulada «Request»GET /comunas-regionesHeaders
Sección titulada «Headers»Authorization: Bearer {api_key}Ejemplo con curl
Sección titulada «Ejemplo con curl»curl -X GET "https://api.redcumbre.cl/comunas-regiones" \ -H "Authorization: Bearer {api_key}"Respuesta Exitosa (200)
Sección titulada «Respuesta Exitosa (200)»{ "success": true, "data": { "regiones": [ { "id": 1, "nombre": "Tarapacá" }, { "id": 2, "nombre": "Antofagasta" } ], "comunas": [ { "id": 1, "nombre": "Arica", "regionId": 15, "codigoSii": "15101" } ] }}Casos de Uso
Sección titulada «Casos de Uso»Poblar Selectores en Formularios
Sección titulada «Poblar Selectores en Formularios»Usa /comunas-regiones para cargar ambos catálogos y crear selectores dependientes:
const response = await fetch('https://api.redcumbre.cl/comunas-regiones', { headers: { 'Authorization': `Bearer ${apiKey}` }});
const { data } = await response.json();
// Poblar selector de regionesconst regionSelect = document.getElementById('region');data.regiones.forEach(region => { const option = new Option(region.nombre, region.id); regionSelect.add(option);});
// Filtrar comunas por región seleccionadaregionSelect.addEventListener('change', (e) => { const comunaSelect = document.getElementById('comuna'); comunaSelect.innerHTML = '';
const comunasFiltradas = data.comunas.filter(c => c.regionId === parseInt(e.target.value)); comunasFiltradas.forEach(comuna => { const option = new Option(comuna.nombre, comuna.codigoSii); comunaSelect.add(option); });});Obtener Código SII de una Comuna
Sección titulada «Obtener Código SII de una Comuna»Para enviar datos al SII necesitas el codigoSii de la comuna:
const comunas = await fetch('https://api.redcumbre.cl/comunas', { headers: { 'Authorization': `Bearer ${apiKey}` }}).then(r => r.json());
const santiago = comunas.data.find(c => c.nombre === 'Santiago');console.log(santiago.codigoSii); // "13101"Validar Código de Comuna
Sección titulada «Validar Código de Comuna»Verifica que un código de comuna sea válido antes de enviar datos:
function validarCodigoComuna(codigo, comunas) { return comunas.some(c => c.codigoSii === codigo);}Códigos de Error
Sección titulada «Códigos de Error»| Código | Descripción | Causa |
|---|---|---|
| 401 | No autorizado | API Key inválida o no proporcionada |
| 403 | Acceso denegado | API Key no tiene rol FULL-API |