Студенти
Услуги предоставящи сервизи от базата данни за студенти на Бургаски свободен университет.
Част I. Идентификация
Идентификацията в платформата с е осъществява посредством JWT както следва:
Стъпка 1. Изпраща потребител и парола
Клиента изпраща POST заявка към https://e-services.bfu.bg/api/. Заявката съдържа полета потребител (user) и парола (pass) хеширана посредством sha256.
Например: потребител test с парола test изпраща:
user=test&pass=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Стъпка 2. Връща ключа на клиента
Сървъра връща на клиента отговор в който се съдържа ключ за достъп.
Например:
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDAxMywiZXhwIjoxNTc1NDQwMDcyfQ.kZe4FiYxKTfwigNqUW9b1J1TzTzv_p0TDQb9fBNE148"}
Стъпка 3. Изпраща заявка и ключа
Клиента изпраща POST заявка съдържаща ключа за достъп в хедъра на страницата и входен параметър необходим за съответната услуга.
Например за услугата:
POST https://e-services.bfu.bg/api/marks.php
Хедър на страницата:
{Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDAxMywiZXhwIjoxNTc1NDQwMDcyfQ.kZe4FiYxKTfwigNqUW9b1J1TzTzv_p0TDQb9fBNE148}
Входен параметър за услугата:
fan=16311045
Стъпка 4. Връща резултата
В случай на успешна идентификация сървъра връща резултат от работата на конкретната страница във формат JSON.
Например:
{ "MARKS": [ { "number": 1, "year": "2016-2017", "semestar": "1", "subject": "MA103 Дискретна математика", "mark": "6", "session": "", "day": "10.02.17", "credits": "6", "note": "-" }, { "number": 2, "year": "2016-2017", "semestar": "1", "subject": "CS117 Основи на компютърната техника и програмирането", "mark": "6", "session": "", "day": "20.01.17", "credits": "5", "note": "-" }, .... }
JSON продукта може да бъде превърнат в програмен код в Интернет на адрес quicktype.io или json2csharp.com.
Част II. Услуги
MARKS
Оценки на студент по факултетен номер.
http://e-services.bfu.bg/api/marks.php
Входен параметър:fan
където fan е факултетен номер на студента.
Резултантният изходен JSON масив съдържа:
number = пореден номер
year = година
semestar = семестър
subject = дисциплина
mark = оценка
session = сесия ( Р = Редовна, П = Поправителна, Д = Допълнителна )
day = дата
credits = кредити
note = забележка
GRAPHIC
График на учебните занятия на студент за седмица напред по факултетен номер.
http://e-services.bfu.bg/api/graphic.php
Входен параметър:fan
където fan е факултетен номер на студента.
Резултантният изходен JSON масив съдържа:
day = ден
time = време
room = зала
type = вид
subject = дисциплина
teacher = преподавател
stat = сатут
EXAMS
Предстоящи изпити на студент от изпитната сесия по факултетен номер.
http://e-services.bfu.bg/api/exams.php
Входен параметър:fan
където fan е факултетен номер на студента.
Резултантният изходен JSON масив съдържа:
day = ден
time = време
room = зала
subject = дисциплина
teacher = преподавател
spec = спец.(форма)
type = вид на изпита
session = сесия