Mô hình dữ liệu đầy đủ: thực thể JSON, quan hệ và bản thể học

Trang này mô tả mô hình dữ liệu đầy đủ của một tài khoản Omniscol: các thực thể, những trường chính của chúng và các quan hệ giữa chúng. Trang này nối tiếp trang khái niệm Tổ chức dữ liệu, vốn giải thích tại sao (dữ liệu gốc của trường ↔ thời khóa biểu, bản sao cục bộ); ở đây, mục tiêu là cái gì — một bản đồ cấu trúc dùng được ngay, nhất là để đối chiếu mô hình với một hệ thống dữ liệu gốc bên ngoài (phần mềm quản trị, danh bạ, hệ thống thông tin).

Trang kỹ thuật. Tài liệu tham chiếu này dành cho việc tích hợp và ghép nối với một hệ thống bên ngoài. Nó không cần thiết cho việc dùng Omniscol hằng ngày: để hiểu cách dữ liệu được tổ chức về mặt nghiệp vụ, xem Tổ chức dữ liệu.

Toàn bộ dữ liệu của một cơ sở giáo dục được tổ chức thành một cây. Các thực thể mô tả bên dưới (người dùng, năm học, thời khóa biểu, vắng mặt, sự kiện, v.v.) tương ứng với các nhánh khác nhau của cấu trúc này. Tham chiếu chuẩn tắc là lược đồ JSON của tài khoản. Có thể xem lược đồ này dưới hai dạng:

  • nguồn thô (chính lược đồ JSON), do tài khoản phục vụ tại địa chỉ https://api.omniscol.com/api/guest/school_schema.json;
  • trình xem dạng cây dễ đọc tại omniscol.com/vi/datamodel (và tài liệu tham chiếu API tương ứng tại omniscol.com/vi/developers).

Lược đồ này mô tả chính xác cách lưu trữ vật lý trong cơ sở dữ liệu, dưới dạng một tài liệu JSON. Trang này trình bày lại lược đồ đó một cách có tổ chức và ổn định theo thời gian.

Tài liệu trường: phần gốc

Tài liệu gốc tập hợp dữ liệu gốc lâu dài của cơ sở giáo dục cùng toàn bộ các kế hoạch của nó. Các nhánh con ở cấp một:

Khóa gốc Thực thể Vai trò
config SchoolConfig Thông số của tài khoản (quốc gia, tùy chọn, múi giờ, đồng bộ với hệ thống bên ngoài)
subjects_custom từ điển các SubjectFull Môn học tùy chỉnh của trường
families_custom từ điển các Family Nhóm môn học tùy chỉnh
users từ điển các User Danh bạ người dùng (mọi vai trò)
school_years mảng các SchoolYear Năm học và ngày nghỉ lễ
timetables từ điển các Timetable Các thời khóa biểu
absences tập hợp các Absence* Vắng mặt (giáo viên, lớp, nhân viên, học sinh)
staffing Staffing Mô-đun thành viên nhân sự và công tác quản sinh
panels từ điển các Panel Bảng thông tin
events từ điển các Event Sự kiện dạng lịch
api, snapshots, jobs, translations, logo khác Thông số kỹ thuật và lịch sử

Những nhánh con được gọi là “từ điển” là các đối tượng JSON mà khóa của chúng là các định danh ổn định (đây là trục của mọi phép đối chiếu với bên ngoài — xem phần cuối).

config

subjects_custom

families_custom

users

school_years

timetables

staffing

absences

panels

events

SCHOOL

string

_id

tên miền của cơ sở giáo dục

string

name

tên tài khoản

string

country

quốc gia của tài khoản

string

current_school_year

năm học hiện hành

CONFIG

SUBJECT

FAMILY

USER

SCHOOL_YEAR

TIMETABLE

STAFFING

ABSENCE

PANEL

EVENT

Trường dùng chung: _extidswishes

Hai trường xuất hiện trên rất nhiều thực thể. Để khỏi lặp lại chúng trong từng lược đồ, chúng được mô tả một lần duy nhất ở đây.

  • _extids (ExternalIds) — bảng định danh của thực thể trong các hệ thống bên ngoài, ví dụ { "auriga": "12345" }. Có mặt trên những thực thể đồng bộ được (môn học, nhóm môn học, người dùng, cơ sở, phòng học, tài nguyên, giáo viên, lớp, nhóm…). Đây là điểm neo để ghép nối với một hệ thống dữ liệu gốc bên ngoài (xem phần cuối).
  • wishesràng buộc thời gian: thời gian rảnh, khung giờ mong muốn hoặc cần tránh, khối lượng giờ tối đa, phòng học ưa thích… Có mặt trên phần lớn thực thể xếp lịch được: người dùng, giáo viên và môn học của một thời khóa biểu, nhóm, lớp, phòng học, dải giờ của cơ sở, lưới nhân sự. Tùy phạm vi, những ràng buộc này mang tính tổng thể (cấp trường) hoặc riêng cho một thời khóa biểu.

Cấp 1 — Dữ liệu gốc của trường

Dữ liệu gốc của trường chứa những gì đúng với cơ sở giáo dục, độc lập với mọi thời khóa biểu: danh mục môn học, danh bạ người dùng, lịch các năm học.

family

parent

phân công theo năm

groups

holidays

FAMILY

string

name

string

code

SUBJECT

string

name

string

short

tên ngắn (hiển thị)

string

code

string

parent

môn học cha

string

family

nhóm môn học

string

color

object

_extids

định danh bên ngoài

USER

string

login

string

first_name

string

middle_name

(nếu quốc gia có dùng)

string

last_name

string

idnumber

định danh chính thức

array

roles

admin teacher staff student

string

customrole

Vai trò tùy chỉnh

int

servicehours

giờ làm việc tham chiếu

bool

external

giáo viên bên ngoài

object

subjects

môn học được giảng dạy

object

wishes

thời gian rảnh tổng thể

object

_extids

PLACEMENT

string

class

lớp được phân công

string

date_start

string

date_end

array

groups

nhóm được phân công

PLACEMENT_GROUP

string

group

nhóm groupset hoặc nhóm ảo

array

weeks

dải tuần

SCHOOL_YEAR

string

name

string

date_start

string

date_end

array

altweeks

tuần luân phiên

HOLIDAY

string

name

string

begin

string

end

Môn học — SubjectFull / Subject / Family

Một môn học tùy chỉnh (SubjectFull) mở rộng môn học cơ sở (Subject: name, short, code, type, _extids) bằng parent, familycolor. Ở cấp trường có hai nguồn gốc cùng tồn tại: các môn học chung của quốc gia (chỉ đọc) và các môn học tùy chỉnh của cơ sở giáo dục. Chi tiết về mặt nghiệp vụ: Quản lý môn học.

Người dùng — User (bao gồm cả giáo viên)

Userthực thể duy nhất của danh bạ: nhân thân (họ, tên, idnumber, liên hệ), xác thực (login), roles, giờ làm việc tham chiếu (servicehours), thời gian rảnh tổng thể (trường wishes) và placements. Giáo viên không phải một thực thể riêng: đó là một Userteacher trong roles của mình (một người dùng có thể kiêm nhiều vai trò). Trường placements (đánh chỉ mục theo năm học) gắn một học sinh vào một class và những groups trong một khoảng thời gian. Chi tiết: Quản lý giáo viên.

Năm học — SchoolYear / Holiday

SchoolYear xác định date_start → date_end, danh sách holidays và các altweeks (tuần luân phiên). Đây là một khung thời gian, không phải một vật chứa: các thời khóa biểu trải ra trên đó chứ không lồng vào trong đó. Xem Năm học.

Cấp 2 — Thời khóa biểu

Timetable là một đơn vị lập kế hoạch nhất quán. Nó mang bản sao cục bộ của riêng mình về giáo viên, lớp, nhóm và môn học — xem nguyên tắc bản sao cục bộ trong Tổ chức dữ liệu.

config

sites

teachers

classes

lessons (nhóm của nhóm, nhiều nhóm)

classrooms

resources

subjects

groups

lessons

parent (phân cấp)

nguồn gốc (bản sao cục bộ một phần)

giáo viên mặc định

bản sao cục bộ một phần và liên kết ngầm qua định danh

các nhóm thành phần

TIMETABLE

bool

active

đã công bố?

array

lessons

tiết học liên lớp

TIMETABLE_CONFIG

string

type

week cycle calendar

int

time_period

thời lượng khung giờ

int

time_unit

phân chia khung giờ

array

weekdays

ngày làm việc

string

displaymode

hours periods agenda

int

cycle

độ dài chu kỳ

array

dates

mốc giới hạn nếu là calendar

object

date_windows

cửa sổ tạo tự động

TIMETABLE_SITE

string

name

object

distances

khoảng cách giữa các cơ sở

object

hours

lưới thời gian

TIMETABLE_TEACHER

string

first_name

string

last_name

string

virtual_name

vị trí còn trống

array

subjects

môn học của vị trí ảo

string

idnumber

int

servicehours

ghi đè được theo thời khóa biểu

string

classroom

phòng học ưa thích

TIMETABLE_CLASS

string

name

string

level

string

campus

array

sites

chỉ tính đến một cơ sở

int

studentsnb

sĩ số học sinh dự kiến (để tính phòng học phù hợp)

string

classroom

phòng học mặc định

bool

offgrid

ngoài khung giờ (calendar)

string

videolink

liên kết họp trực tuyến mặc định trên mọi tiết học

string

resourcelink

liên kết tài nguyên (LMS) mặc định trên mọi tiết học

LESSON

TIMETABLE_CLASSROOM

string

name

int

capacity

string

specialisation

chuyên ngành tự do

int

maxclasses

số lớp đồng thời

string

building

string

description

mô tả tự do

array

tags

nhãn đặc điểm hoặc trang thiết bị

TIMETABLE_RESOURCE

string

name

int

number

số lượng sẵn có

TIMETABLE_CLASS_SUBJECT

string

code

kế thừa từ Subject

array

incompatibilities

không tương thích

number

pweight

trọng số sư phạm

array

teachers

giáo viên mặc định

number

minutes

khối lượng giờ cần đạt

string

specialisation

phòng học bắt buộc

TIMETABLE_CLASS_GROUP

string

name

string

code

bool

free

nhóm tự do

string

parent

nhóm cha

int

studentsnb

sĩ số học sinh dự kiến (để tính phòng học phù hợp)

SUBJECT

USER

GROUPSET_ITEM

string

name

string

code

array

groups

định danh của các nhóm

Cấu hình — TimetableConfig

Trường quyết định là type: week (lặp lại hằng tuần), cycle (chu kỳ nhiều ngày, xem cycle) hoặc calendar (ngày thực, xem dates). time_periodtime_unit xác định khung xương của lưới; weekdays xác định ngày làm việc; date_windows xác định các cửa sổ ràng buộc cho việc tạo tự động.

Cơ sở, phòng học, tài nguyên

Một TimetableSite (cơ sở) chứa các classrooms của nó (TimetableClassroom: capacity, specialisation, maxclasses, building) và các resources của nó (TimetableResource: number = số lượng sẵn có, mà hệ thống bảo đảm không bị đặt vượt mức). distances mô hình hóa thời gian di chuyển giữa các cơ sở. Xem Cơ sở, phòng học và tài nguyênChuyên ngành phòng học.

Giáo viên của thời khóa biểu — TimetableTeacher

Bản sao một phần được bổ sung thêm của một User: chỉ vài trường nhận dạng được chép lại (first_name, last_name, idnumber), kèm theo những trường riêng cho việc lập kế hoạch (servicehours ghi đè được, classroom ưa thích, wishes theo từng thời khóa biểu). virtual_name khác rỗng biểu thị một giáo viên ảo (vị trí còn trống, không có User thật đứng sau).

Lớp, môn học của lớp, nhóm

  • TimetableClass: name, level, campus/sites, studentsnb, và ba nhánh con chủ chốt — subjects, groups, lessons.
  • TimetableClassSubject: bản sao cục bộ của một môn học (mở rộng Subject), được bổ sung cho việc lập kế hoạch — minutes (khối lượng cần đạt), pweight (trọng số sư phạm), incompatibilities, teachers mặc định, specialisation của phòng học. Việc gán một môn học kèm một loại tiết học tạo ra một mục riêng cho mỗi loại. Xem Khóa học, tiết học, loại tiết học.
  • TimetableClassGroup: một tập con của một lớp. free=true tắt việc kiểm tra lỗi tương thích với phần còn lại của lớp (nhóm tự do); parent thiết lập phân cấp nhóm.

Quy tắc giữa các nhóm — phân vùng, căn chỉnh nhóm, nhóm của nhóm

Các quan hệ giữa những nhóm nằm trong nhánh con groups của thời khóa biểu, dưới ba dạng:

Lược đồ Thực thể Ý nghĩa Trang
TimetableGroupTimeset phân vùng Các nhóm của cùng một lớp loại trừ nhau, được xếp song song (nửa lớp, môn tự chọn) Phân vùng lớp
TimetableGroupSpaceset căn chỉnh nhóm Các nhóm thuộc những lớp khác nhau cùng học trên các khung giờ trùng khớp Căn chỉnh nhóm
TimetableGroupGroupset nhóm của nhóm Siêu nhóm (GroupsetItem: name, code, groups[]) gom nhiều nhóm lại Nhóm của nhóm

Xem thêm phần tổng quan Lớp, nhóm, nhóm con.

Cấp 3 — Tiết học

Một tiết học (Lesson) là đơn vị giảng dạy thật sự được đặt vào thời khóa biểu: thời lượng, môn học, nhóm, giáo viên, phòng học, tài nguyên, vị trí và trạng thái. Nó được sinh ra từ một môn học của lớp (xem cấp 2) và gắn hoặc vào một lớp (class.lessons), hoặc trực tiếp vào thời khóa biểu (timetable.lessons) — trường hợp sau dành cho nhóm của nhóm và các tiết học nhiều nhóm, liên quan đến nhiều lớp.

lessons (tiết học của một lớp)

lessons (nhóm của nhóm, nhiều nhóm)

assoc · concat · weekalt (tiết học phức hợp)

group

teachers

classroom

resources

memos

position

TIMETABLE_CLASS

LESSON

int

duration

tính theo số khung giờ

int

duration_actual

số phút thực tế

int

duration_accounted

số phút được tính công

string

modality

in_person remote hybrid self_study

string

subject

định danh môn học

string

group

định danh nhóm

array

teachers

null buộc không có giáo viên

string

classroom

null buộc không có phòng học

string

status

planned draft canceled done

string

_id

định danh ổn định của tiết học

string

_osrev

phiên bản (khóa lạc quan)

TIMETABLE

TIMETABLE_CLASS_GROUP

TIMETABLE_TEACHER

TIMETABLE_CLASSROOM

TIMETABLE_RESOURCE

MEMO

string

comment

string

pub

mức hiển thị của ghi chú

string

owner

int

tstp

dấu thời gian

POSITION

string

day

ngày, thứ trong tuần hoặc số thứ tự ngày trong chu kỳ

int

period

chỉ số của khung giờ trong lưới

string

start

giờ bắt đầu chính xác HH:MM (chỉ dùng cho ngoài khung giờ)

string

end

giờ kết thúc chính xác HH:MM (chỉ dùng cho ngoài khung giờ)

bool

fixed

tiết học được ghim (cố định khi tạo tự động)

Phần cốt lõi của một tiết học

Một tiết học mang những trường lập kế hoạch — duration (theo số khung giờ), duration_actual / duration_accounted (số phút thực tế / được tính công), modality, subject, group, teachers, classroom, resources — kèm theo position, status, memos và một định danh (_id, _osrev). Đặt teachers hoặc classroom thành null buộc một cách tường minh rằng không có giáo viên hay phòng học.

Tiết học phức hợp

Một tiết học có thể gom những tiết học khác:

  • assoc — tiết học liên kết: các nhóm hoán đổi cùng nhau.
  • concat — tiết học nối tiếp: liền nhau một cách chặt chẽ.
  • weekalttuần luân phiên: mỗi tuần một biến thể của tiết học.

Những cơ chế này bao trùm các tiết học phức hợp — xem Tiết học phức hợp: luân phiên, liên kết, nối tiếp.

Vị trí của một tiết học

position là một đối tượng đặt tiết học vào thời gian. Nó gom những trường sau:

  • position.day — ngày của tiết học, thay đổi hình thức theo chế độ của thời khóa biểu: một tên thứ (mondaysunday) ở chế độ theo tuần, một số thứ tự ngày trong chu kỳ ("1", "2"…) ở chế độ theo chu kỳ, hoặc một ngày YYYY-MM-DD ở chế độ lịch. Vẫn là một trường duy nhất, chỉ đổi hình thức theo chế độ; nó luôn có mặt.
  • position.periodchỉ số của khung giờ trong lưới thời gian. Một tiết học không có period lẫn start/end tương ứng với một ngày nghỉ lễ.
  • position.start / position.end — giờ bắt đầu và giờ kết thúc chính xác (HH:MM), dành cho những tiết học ngoài khung giờ hoặc ở chế độ lịch mà không khớp với một khung giờ chuẩn.
  • position.fixed — giá trị đúng/sai (mặc định là sai): một tiết học được ghim, mà việc tạo tự động sẽ không dịch chuyển.

Tiết học của một lớp nằm trong class.lessons; mảng timetable.lessons mang những tiết học liên lớp gắn với nhóm của nhóm.

Định danh của một tiết học

Mỗi tiết học mang hai trường định danh kỹ thuật, có trên các tài khoản Premium:

  • _id — định danh ổn định, được cấp khi tạo tiết học và bất biến về sau (nó kết hợp một dấu thời gian với một mã băm nội dung). Đây là khóa của một tiết học cho việc biên tập cộng tác và cho một công cụ bên ngoài theo dõi các tiết học theo thời gian. Với những lần lặp định kỳ của một thời khóa biểu ở chế độ lịch (tuần luân phiên, nối tiếp, liên kết), _id của mỗi lần lặp được suy ra từ _id của tiết học gốc, và tiết học gốc vẫn nhận ra được.
  • _osrev — mã phiên bản (khóa lạc quan), tăng lên sau mỗi lần sửa đổi (dấu thời gian + số thứ tự sửa đổi), theo một thứ tự chữ cái chặt chẽ (nhờ đó dễ dàng biết một phiên bản có mới hơn phiên bản khác hay không). Nó cho phép việc biên tập cộng tác phát hiện và hợp nhất các sửa đổi đồng thời: một phiên bản đã cũ ở phía máy khách báo hiệu một xung đột, và máy chủ phân xử hoặc hợp nhất thay vì ghi đè trong im lặng.

Vắng mặt

Các lần vắng mặt dùng chung một phần cơ sở (Absence: date_start, date_end, reason, hours, comment, trạng thái), rồi biến thể theo đối tượng liên quan.

teachers

classes

staff

students

substitutes

ABSENCE

ABSENCE_TEACHER

string

date_start

string

date_end

string

reason

khóa dịch hoặc nhãn tự do

array

subjects

môn học liên quan

array

classes

lớp liên quan

string

status

ABSENCE_CLASS

ABSENCE_STAFF

ABSENCE_STUDENT

string

date_start

string

reason

array

subjects

môn học được miễn

string

status

SUBSTITUTE

string

substitute

tên giáo viên thay thế

string

date_start

ngày bắt đầu quy tắc

string

date_end

ngày kết thúc quy tắc

array

hours

khung giờ liên quan (begin/end tính bằng phút, day)

array

classes

lớp liên quan

array

subjects

môn học liên quan

string

comment

ghi chú

Một AbsenceTeacher có thể được giới hạn ở một số subjects/classes và mang một mảng quy tắc thay thế (substitutes, mỗi phần tử là một AbsenceTeacherSubstitute: giáo viên thay thế, khoảng thời gian, khung giờ, lớp và môn học được bao phủ). Trạng thái khác nhau tùy đối tượng (ví dụ ok/aborted cho một lớp). Xem mục từ điển Thay thế / dạy thay và mô-đun Quản lý vắng mặt.

Thành viên nhân sự

Mô-đun riêng biệt (cũng được bán độc lập) dành cho công tác quản sinh và các nhiệm vụ phụ trách.

grids

assignments

staff

schedule

needs

STAFFING

STAFFING_GRID

array

dates

khoảng thời gian hoạt động

array

days

array

periods

khung giờ

STAFFING_ASSIGNMENT

string

name

int

req

số người trực tối thiểu

int

ideal

số người mong muốn

string

site

string

priority

high normal low

array

allowed_staff

STAFFING_STAFF_MEMBER

string

first_name

string

last_name

string

virtual_name

vị trí còn trống

string

color

STAFFING_SCHEDULE

object

dates

ca trực theo ngày

STAFFING_NEED_SPAN

string

day

thứ hoặc ngày

string

begin

HH:MM

string

end

HH:MM

int

headcount

số người cần có

StaffingGrid là khuôn mẫu (ngày, khung giờ); các assignments mô tả những nhiệm vụ (req/ideal, priority, needs chi tiết theo từng khung giờ qua StaffingNeedSpan); schedule cụ thể hóa các ca trực thực tế theo từng ngày. Xem mô-đun Quản lý nhân sự.

Sự kiện

Event là một mục lịch đặt chồng lên lưới: điều gì đó diễn ra trong cơ sở giáo dục mà không phải một tiết học thông thường — một buổi họp đánh giá kết quả của lớp, một buổi họp phụ huynh, một kỳ thi gói gọn trong một ngày, một buổi tham quan, một ngày hội mở cửa trường. Sự kiện được xếp trong từ điển events (khóa dạng event-<n>) và thuộc các tính năng Premium.

Các trường của một Event (bắt buộc: title, start, end):

  • title — tiêu đề hiển thị.
  • start / end — thời điểm bắt đầu và kết thúc, theo định dạng YYYYMMDDTHHmmSS.
  • rrule — quy tắc lặp lại nếu có.
  • attendees — người tham dự: một người dùng, một lớp, một nhóm, một nhãn tự do (custom), hoặc toàn bộ cơ sở giáo dục (everybody) / bất kỳ ai muốn tham gia (anyone).
  • location — địa điểm: một phòng học của thời khóa biểu hoặc một nhãn tự do.
  • resources — tài nguyên được giữ chỗ cho sự kiện.
  • videolink — liên kết họp trực tuyến để tham dự từ xa.
  • memos — ghi chú; color — màu sắc (dạng thập lục phân).

Cách vận hành về mặt sử dụng (tạo sự kiện, đặt lên lưới, các trường trong giao diện) được mô tả trong Sự kiện đơn lẻ.

Bảng thông tin

Panel là một bảng thông tin hiển thị các tiết học trong ngày (sảnh, phòng, màn hình tiếp đón…). Nó xác định lựa chọn columns, topline, các filters/exclusions và những thiết lập về giao diện. Xem mục từ điển Bảng thông tin.

Định danh, bản sao cục bộ và đối chiếu với một ERP

Để nối mô hình Omniscol với một hệ thống dữ liệu gốc bên ngoài, có ba nguyên tắc quan trọng nhất:

  1. Khóa của từ điển chính là các định danh ổn định. Môn học, người dùng, giáo viên, lớp, nhóm, phòng học, tài nguyên được đánh chỉ mục bằng một định danh bất biến (khóa JSON), chứ không bằng nhãn của chúng. Chính trục này — chứ không bao giờ là name — mới là thứ cần dùng cho mọi phép đối chiếu.

  2. Trường _extids (ExternalIds) mang các định danh bên ngoài. Có mặt trên những thực thể đồng bộ được (Subject, Family, TimetableSite, TimetableClassroom, TimetableResource, TimetableTeacher, TimetableClass, TimetableClassGroup, User…), nó gắn cho mỗi thực thể các định danh của nó trong những hệ thống thứ ba, ví dụ { "auriga": "12345", "aimaira": "67890" }. Đây là điểm neo chuẩn tắc cho một phép ghép nối hai chiều.

  3. Bản sao cục bộ giữa cấp trường ↔ thời khóa biểu là có chủ đích. Một môn học của lớp hay một giáo viên của thời khóa biểu là một bản sao được bổ sung, không phải một tham chiếu sống. Vì vậy một hệ thống dữ liệu gốc bên ngoài phải quyết định ghép nối ở cấp nào: dữ liệu gốc của trường (danh mục lâu dài) hay một thời khóa biểu cụ thể (kế hoạch có mốc thời gian). Chi tiết các quy tắc lan truyền nằm trong Tổ chức dữ liệu.

Cấu hình đồng bộ nằm trong config.extsync (SchoolConfigExtsync): systems (các trình kết nối đã cấu hình), sync (chiều đồng bộ và các thực thể), exportschedules, cùng những bảng đối chiếu (mappings) theo khóa và định danh Omniscol. Về mặt truy cập bằng chương trình, API REST và mã thông báo được mô tả trong Mã thông báo API; các trình kết nối đồng bộ nằm trong Đồng bộ với hệ thống bên ngoài.

Hình thức chính xác và đầy đủ của từng trường vẫn do lược đồ JSON tham chiếu của tài khoản xác định (https://api.omniscol.com/api/guest/school_schema.json, trình xem dễ đọc tại omniscol.com/vi/datamodel). Nếu có khác biệt giữa trang này và lược đồ, lược đồ là căn cứ.

Xem thêm