@roaloch/siiau.js

Librería de Nodejs para obtener información de SIIAU

Usage no npm install needed!

<script type="module">
  import roalochSiiauJs from 'https://cdn.skypack.dev/@roaloch/siiau.js';
</script>

README

npm NPM

siiau.js

Librería de Nodejs para obtener información de SIIAU

Tabla de Contenido

Descripción

Proyecto personal para desarrollar una librería que permite consultar los contenidos de la plataforma SIIAU y transformarlos en información que puede ser consumida de manera rápida y sencilla.

Funcionalidades

El objetivo del proyecto es desarrollar una librería completa, que permita consultar la mayor cantidad de información posible de la plataforma SIIAU. Para ver las funcionalidades actualmente soportadas, en desarrollo y planeadas a futuro, por favor consultar el ROADMAP del repositorio.

Instalación

Usando npm

npm install @roaloch/siiau.js

Importación común de JS

const siiau = require('@roaloch/siiau.js')

API

getTerms()

Obtiene ciclos escolares

const res = await siiau.getAcademicTerms();

=> res {
    data: [
        {
            value: 202120,
            name: '202120 - Calendario 21 B'
        }
    ],
    error: null
}

getCampus()

Obtiene centros universitarios

const res = await siiau.getCampus();

=> res {
    data: [
        {
            value: 'D',
            name: 'D - C.U. DE CS. EXACTAS E ING.'
        }
    ],
    error: null
}

getAcademicOffer(queryParams)

Obtiene la oferta academica según los parametros de búsqueda


const queryParams = {
    term: '202120',                 // OBLIGATORIO
    campus: 'D',                    // OBLIGATORIO
    major: 'INNI',
    course: 'I5911',
    time: {
        start: '00:00',             // HH:mm (Formato 24 Horas)
        end: '23:59'
    },
    days: ['MONDAY', 'WEDNESDAY'],
    showOnlyAvailable: false        // DEFAULT = false
    orderBy: 'NAME',                // NAME (DEFAULT), NRC, CODE
    limit: 100                      // 100 (DEFAULT), 200, 500
}

const res = await siiau.getAcademicOffer({
    term: '202120',
    campus: 'D',
    major: 'INNI',
    course: 'I5911'
});

=> res {
    data: [
        {
            nrc: '103864',
            code: 'I5911',
            name: 'MINERIA DE DATOS',
            section: 'D01',
            credits: '8',
            totalSlots: '30',
            availableSlots: '0',
            schedule: [
                {
                    sessions: '01',
                    time: {
                        start: '11:00',
                        end: '12:55'
                    },
                    days: [
                        'LUNES',
                        'MIERCOLES'
                    ],
                    building: 'DEDX',
                    room: 'A004',
                    period: {
                        start: '10/08/21',
                        end: '15/12/21'
                    }
                }
            ],
            teacher: 'ROMAN GODINEZ, ISRAEL'
        }
    ],
    error: null
}

getStudentInfo({code, nip})

Obtiene información relacionada con el estudiante

const res = await siiau.getStudentInfo({
    code: '123456789',
    nip: 'secretpassword'
});

=> res {
    data: {
        basicInfo: {
            code,
            name,
            birthDate,
            curp,
            email,
            phoneNumber,
            signatureUrl,
            photoUrl
        },
        academicInfo: {
            schedule: [
                {
                    term,
                    courses: [
                        {
                            nrc,
                            code,
                            name,
                            section,
                            credits,
                            schedule: [
                                {
                                    time: {
                                        start,
                                        end
                                    },
                                    days,
                                    building,
                                    room,
                                    teacher,
                                    period: {
                                        start,
                                        end
                                    }
                                }
                            ]
                        }
                    ]
                }
            ],
            majors: [
                {
                    code,
                    name,
                    status,
                    degree,
                    firstTerm,
                    lastTerm,
                    campus,
                    campusNode,
                    gpa
                }
            ],
            lastGradesReport: {
                term,
                grades: [
                    {
                        nrc,
                        code,
                        name,
                        gradeOrdinary,
                        onOrdinaryKardex,
                        gradeExtraordinary,
                        onExtraordinaryKardex
                    }
                ]
            }
        },
        administrativeInfo: {
            payOrder: {
                total,
                items: [
                    {
                        account,
                        code,
                        name,
                        date,
                        expirationDate,
                        total
                    }
                ]
                pdfUrl
            }
        }
    },
    error: null
}

Licencia

MIT

Avisos

Si deseas colaborar en el proyecto envíame un correo electrónico :)

Proyecto sin ninguna relación oficial con la Universidad de Guadalajara. Las peticiones web se realizan a los dominios http://consulta.siiau.udg.mx/, http://siiauescolar.siiau.udg.mx/ y http://siau4.siiau.udg.mx/

La librería NO almacena información de ningun tipo, toda la comunicación se realiza directamente con los servidores de SIIAU

El autor de esta librería no se responsabiliza por el mal uso que se le pueda dar. Toda responsabilidad es del usuario que la utiliza.