Skip to content

Instantly share code, notes, and snippets.

@alvaaz
Last active August 25, 2022 20:56
Show Gist options
  • Select an option

  • Save alvaaz/41653bf55917afe74547d9e8bc3853ee to your computer and use it in GitHub Desktop.

Select an option

Save alvaaz/41653bf55917afe74547d9e8bc3853ee to your computer and use it in GitHub Desktop.
Próximas horas del Registro Civil en JS
/*
Créditos a Sebastian Wilson
https://codepen.io/swilsont/pen/poLGxZe
Ayuda a buscar la próxima hora disponible en el Registro Civil.
Genera un archivo de texto plano donde las columnas son separadas usando $separator .
Este archivo puede ser cargado posteriormente en Excel, y al ordenar por la columna 'fecha_hora'
se podrá saber dónde conseguir la primera hora.
Trámites ( tipo / código ): (lista actualizada en https://agenda.qa.registrocivil.cl/api/backend/getTiposTramite)
2/4 = Identificación -> Primera Obtención - Chileno
2/5 = Identificación -> Primera Obtención - Extranjero
2/22 = Identificación -> Reimpresión de cédula
2/6 = Identificación -> Renovación cédula - Chileno
2/23 = Identificación -> Renovación cédula - Extranjero
2/8 = Identificación -> Solicitud de Pasaporte
3/11 = Matrimonio -> Ceremonia Matrimonio Civil
3/12 = Matrimonio -> Inscripción Ceremonia Religiosa
5/20 = Vehículos -> Cambio de Modalidad
5/18 = Vehículos -> Duplicado Placa Patente
5/16 = Vehículos -> Inscripción de Vehículo
5/21 = Vehículos -> Otros
5/19 = Vehículos -> Retiro Placa Patente
5/17 = Vehículos -> Transferencia Vehículo
6/2 = Rectificación -> Orden de Apellido - Hijos Inscritos
6/3 = Rectificación -> Orden de Apellido - Mayor de Edad
7/24 = Apostilla -> Solicitud de Apostilla
*/
const baseUrl = 'https://agenda.qa.registrocivil.cl/api/backend/';
const region = 5; // You can set the region id, RM is 13
const serviceId = 8; // Tipo de trámite ( 2 = Identificación)
const serviceType = 2 // Código del trámite ( 6 = Renovación cédula - Chileno )
async function fetchComunas() {
// Buscamos todas las comunas de la región
const response = await fetch(`${baseUrl}comunas/${region}`);
const comunas = await response.json();
comunas.forEach(async comuna => {
// Buscamos las oficinas dentro de la comuna donde se puede realizar el trámite
const response = await fetch(`${baseUrl}oficinas/${comuna.codigo_comuna}/${serviceId}`);
const oficinas = await response.json();
oficinas.oficinas.forEach(async oficina => {
// Revisamos las horas disponibles
const response = await fetch(`${baseUrl}horas/${oficina.codigo_oficina}/${serviceType}/${serviceId}`);
const horas = await response.json();
if(horas.horas.length > 0) {
// Obtener los primeros 15 para no matar al pobre navegador :()
console.table(horas.horas.slice(0, 15))
}
})
})
}
fetchComunas()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment