apisika
v1.2.0
Published
Wrapper API tidak resmi untuk SIKA Unindra. Memudahkan interaksi dengan data akademik, keuangan, dan chat.
Maintainers
Readme
apisika
Sebuah wrapper API tidak resmi dalam bentuk library JavaScript/Node.js untuk berinteraksi dengan Sistem Informasi Akademik (SIKA) Universitas Indraprasta PGRI (Unindra).
Library ini menyederhanakan proses otentikasi dan pengambilan data dari API SIKA, termasuk data akademik, keuangan, jadwal, hingga fungsionalitas chat.
Creator: dandisubhani_
Instalasi
Gunakan NPM untuk menginstal paket ini:
npm install apisikaPenggunaan Dasar
Berikut adalah contoh cara menggunakan library ini. Anda perlu mengimpor kelas SikaApi dan membuat instance-nya.
// Gunakan require untuk CommonJS
const SikaApi = require('apisika');
// Buat instance baru dari SikaApi
const api = new SikaApi();
// Buat fungsi async untuk menjalankan proses
async function main() {
try {
// 1. Lakukan login dengan NPM dan password Anda
const loginData = await api.login('NPM_ANDA', 'PASSWORD_ANDA');
console.log('Login berhasil untuk:', loginData.userInfo.name);
// Setelah login berhasil, token akan disimpan dan digunakan secara otomatis
// untuk semua permintaan selanjutnya.
// 2. Contoh mengambil biodata singkat
const biodata = await api.getBiodataSingkat();
console.log('--- Biodata Singkat ---');
console.log(biodata);
// 3. Contoh mengambil jadwal kuliah untuk semester tertentu
const jadwalKuliah = await api.getJadwalKuliah({ tahun: '2023', semester: '1' });
console.log('\n--- Jadwal Kuliah (2023/1) ---');
console.log(jadwalKuliah);
// 4. Contoh mengambil riwayat pembayaran
const riwayatBayar = await api.getRiwayatPembayaran();
console.log('\n--- Riwayat Pembayaran ---');
console.log(riwayatBayar);
} catch (error) {
// Tangani error jika terjadi
console.error('Terjadi kesalahan:', error.message);
}
}
// Jalankan fungsi utama
main();Daftar Metode yang Tersedia
Setelah login, Anda dapat menggunakan metode-metode berikut:
Informasi Pengguna
getUserInfo()getBiodataSingkat()getBiodataLengkap()
Akademik
getAkademikDashboard()getTranskrip()getPresensiUjian({ tahun, semester })
Jadwal
getJadwalKuliah({ tahun, semester })getJadwalUjian({ tahun, semester, jenis })(jenis: 'UAS' atau 'UPM')
Keuangan
getRiwayatPembayaran()getRekapPembayaran()getBiayaKuliah()
Download
downloadKartuUjian({ tahun, semester, jenis }): Mengembalikan stream PDF.
Chat (WebSocket)
getConversations()getChatHistoryByNpm(npm)searchChatUser(searchQuery)sendMessageByNpm(npm, messageText)uploadFileToChat(npm, fileBuffer, fileName, caption)
Disclaimer
Ini adalah proyek tidak resmi dan tidak berafiliasi dengan Unindra. Gunakan dengan risiko Anda sendiri.
