codernewbie04/my-telu

非官方 My Tel-U API 封装器

V1.0.0 2023-02-22 18:34 UTC

This package is auto-updated.

Last update: 2024-09-22 22:25:37 UTC


README

不知是否合法,但请对 Tel-U 官员保密 XD

其他库

Python

  • 即将推出

JavaScript / nodejs

  • 即将推出

安装

composer require codernewbie04/my-telu:dev-main

登录

require 'vendor/autoload.php';
use Codernewbie04\MyTelu\MyTelu;

$mytelu = new MyTelu()->login("username", "password");
//get Resposne 
$res = $mytelu->getResponse();
if($res->getStatus()){
  //If logged in
} else {
  //invalid auth
}

JSON 响应成功

{
 "token": "JWT_TOKEN_HERE",
 "expired": "123456",
}

JSON 响应失败

{
  "status":"Failed",
  "message": "Wrong password, cannot proceed any further"
}

个人资料

require 'vendor/autoload.php';
use Codernewbie04\MyTelu\MyTelu;
//get JWT_TOKEN from login
$mytelu = new MyTelu("JWT_TOKEN")->profile();
//get Resposne 
$res = $mytelu->getResponse();
if($res->getStatus()){
  //If auth token correct
} else {
  //invalid auth
}

JSON 响应成功

{
    "numberid": "130120xxxx",
    "fullname": "xxxxxx",
    "studyprogramid": "xx",
    "studyprogram": "xxxxxxx",
    "facultyid": "x",
    "faculty": "xxxxxxxxx",
    "schoolyear": "xxxx",
    "photo": "https://images.telkomuniversity.ac.id/pmb/2021/PAS_FOTO/xxxxxxxx.jpg",
    "phone": "082xxxxxxxx",
    "emergencyphone": null,
    "studentclass": "IF-xx-xx",
    "lecturerguardian": "xxxxx xxxxxx xxxxxx",
    "address": "xxxxxxx",
    "zipcode": "xxxxx",
    "idcardnumber": "xxxxxxxxxxxxxx",
    "user": "xxxxxxxxx",
    "email": "xxxxxxx@student.telkomuniversity.ac.id"
}

JSON 响应失败

{
    "status": "Unauthorized",
    "message": "Invalid/Expired Token, Please Login First..."
}

时间表

require 'vendor/autoload.php';
use Codernewbie04\MyTelu\MyTelu;

$mytelu = new MyTelu()->schedule("Student ID / NIM");
//get Resposne 
$res = $mytelu->getResponse();
if($res->getStatus()){
  //Success get schedule
} else {
  //Failed get schedule
}

JSON 响应成功

[
    {
        "DAY": "SELASA",
        "COURSEID": 1219632,
        "SUBJECT": "XXXXX - XXXXXXXX",
        "LECTURERCODE": "XXX",
        "CLASS": "XX-XX-XX-XX",
        "ROOMNAME": "XXXXXX",
        "STARTHOUR": "XX:XX:XX",
        "ENDHOUR": "XX:XX:XX",
        "SCHEDULESTATUS": "XXXXXX",
        "RNUM": 0,
        "TOTALROWS": 0
    }
]

JSON 响应失败

{
    "message": "Data tidak ditemukan"
}

成绩

require 'vendor/autoload.php';
use Codernewbie04\MyTelu\MyTelu;
// periode Tahun ajaran 2020/2021
// semester 1 : Ganjil / 2 : Genap
// subjectid : course ID, bisa didapatkan lewat jadwal / LMS / Igracias
//example new MyTelu()->grades("130120xxxx", 2021, 1, 25809)
$mytelu = new MyTelu()->grades("Student ID / NIM", "periode", "semester", "subjectid");
//get Resposne 
$res = $mytelu->getResponse();
//action with ur response

JSON 响应成功

{
    "COMPONENT": [
        {
            "COMPONENTNAME": "ASSESSMENT TOOL CLO 1",
            "SCORE": 100,
            "PERCENTAGE": 25
        },
        {
            "COMPONENTNAME": "ASSESSMENT TOOL CLO 2",
            "SCORE": 84,
            "PERCENTAGE": 35
        },
        {
            "COMPONENTNAME": "ASSESSMENT TOOL CLO 3",
            "SCORE": 88,
            "PERCENTAGE": 40
        }
    ],
    "AVG": "89.60"
}

JSON 响应失败

{
    "COMPONENT": [],
    "AVG": "0.00"
}

扫描二维码

require 'vendor/autoload.php';
use Codernewbie04\MyTelu\MyTelu;
$mytelu = new MyTelu()->scanQR("Student ID / NIM", "QR CODE IN STRING");
//get Resposne 
$res = $mytelu->getResponse();
if($res->getStatus()){
  //If success scan qr code with ur nim
} else {
  //Failed
}

JSON 响应成功

{
    "success": "true",
    "message": "QRCode berhasil di submit"
}

JSON 响应失败

{
    "success": "false",
    "message": "QRCode sudah expired"
}

备注

用户名和密码仅用于登录 JWT Token 仅用于获取 My Tel-U 账户的个人资料