Tính điểm xét tuyển đại học API
Tính điểm xét tuyển đại học theo quy chế 2026: tổng điểm tổ hợp, ưu tiên khu vực, đối tượng có giảm khi từ 22,5 điểm, trần điểm cộng, quy đổi IELTS.
API tính điểm xét tuyển áp dụng Quy chế tuyển sinh năm 2026 (Thông tư 06/2026/TT-BGDĐT). Gửi tổ hợp môn (A00, A01, B00, C00, D01… hoặc tự khai subjects) kèm scores, hoặc gửi sẵn total, cùng khu vực ưu tiên (area=KV1, KV2-NT, KV2, KV3) và nhóm đối tượng (group=UT1, UT2 hoặc mã đối tượng 01–06). Điểm ưu tiên khu vực là 0,75 / 0,50 / 0,25 / 0, nhóm đối tượng 2,00 / 1,00; với tổng điểm từ 22,5 trở lên, điểm ưu tiên giảm dần theo công thức [(30 − tổng điểm) / 7,5] × mức ưu tiên, làm tròn đến 0,01. Ưu tiên khu vực chỉ áp dụng trong năm tốt nghiệp và một năm kế tiếp (graduation_year).
Điểm cộng (bonus: thuong tối đa 3, xet_thuong và khuyen_khich tối đa 1,5) bị giới hạn ở 10% thang điểm, điểm xét tối đa là 30. method=hoc_ba nhận điểm trung bình cả năm lớp 10–12 của từng môn; weights (ví dụ {"toan": 2}) cho tổ hợp nhân hệ số thang 40, điểm ưu tiên được quy đổi tương ứng. ielts quy đổi band IELTS thành điểm tiếng Anh theo bảng VÍ DỤ, hoặc bảng ielts_table của trường; chỉ gửi gpa10 để đổi điểm trung bình thang 10 sang thang 4 và điểm chữ; list=blocks liệt kê các tổ hợp.
Mỗi kết quả đều ghi rõ quy chế và điều khoản áp dụng. Mỗi trường có bảng quy đổi và quy định điểm cộng riêng: hãy truyền chúng qua tham số; API không có điểm chuẩn.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
block | body|query | string | không | Mã tổ hợp (A00, D01…); list=blocks để xem danh sách. | |
subjects | body|query | array | không | Tự khai môn thay cho tổ hợp (["toan","van","tin"]). | |
scores | body|query | object | không | Điểm thang 10: object {"toan": 8.5} hoặc mảng theo thứ tự tổ hợp; học bạ: mảng điểm trung bình các năm. | |
total | body|query | number | không | Tổng điểm 3 môn thang 30 có sẵn (thay cho scores). | |
area | body|query | string | không | Khu vực ưu tiên KV1, KV2-NT, KV2, KV3. | |
group | body|query | string | không | Nhóm đối tượng UT1, UT2 hoặc đối tượng 01–06. | |
graduation_year | body|query | number | không | Năm tốt nghiệp THPT (ưu tiên khu vực chỉ trong 2 năm). | |
method | body|query | string | không | exam | exam (điểm thi tốt nghiệp) hoặc hoc_ba (học bạ). |
bonus | body|query | object | không | Điểm cộng {"thuong": 1, "khuyen_khich": 0.5} hoặc một số. | |
weights | body|query | object | không | Hệ số môn, ví dụ {"toan": 2}. | |
ielts | body|query | number | không | Điểm IELTS để thay môn tiếng Anh (hoặc ielts_use=bonus kèm ielts_bonus). | |
ielts_table | body|query | array | không | Bảng quy đổi của trường [[band, điểm], …]; mặc định chỉ là ví dụ. | |
priority_basis | body|query | string | không | subjects | subjects hoặc with_bonus khi xét ngưỡng 22,5. |
gpa10 | body|query | number | không | Gửi riêng: đổi điểm thang 10 sang thang 4 và điểm chữ. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/vn-admission-score" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"block":"A00","scores":{"toan":9,"ly":8.75,"hoa":9.25},"area":"KV1","group":"UT2"}'const res = await fetch('https://apibox.io.vn/v1/vn-admission-score', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"block": "A00",
"scores": {
"toan": 9,
"ly": 8.75,
"hoa": 9.25
},
"area": "KV1",
"group": "UT2"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/vn-admission-score",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"block": "A00", "scores": {"toan": 9, "ly": 8.75, "hoa": 9.25}, "area": "KV1", "group": "UT2"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-admission-score');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"block":"A00","scores":{"toan":9,"ly":8.75,"hoa":9.25},"area":"KV1","group":"UT2"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"method": "exam",
"block": "A00",
"subjects": [
{
"subject": "toan",
"name_vi": "Toán",
"score": 9,
"weight": 1
},
{
"subject": "ly",
"name_vi": "Vật lí",
"score": 8.75,
"weight": 1
},
{
"subject": "hoa",
"name_vi": "Hoá học",
"score": 9.25,
"weight": 1
}
],
"subject_total": 27,
"scale": 30,
"subject_total_30": 27,
"priority": {
"area": "KV1",
"area_points": 0.75,
"group": "UT2",
"group_points": 1,
"level_30": 1.75,
"reduced": true,
"basis": "subjects",
"points_30": 0.7,
"points": 0.7,
"formula": "total ≥ 22.5: [(30 − total)/7.5] × level, rounded to 0.01"
},
"bonus": {
"parts": {},
"points_30": 0,
"points": 0,
"cap_30": 3
},
"admission_score_30": 27.7,
"admission_score": 27.7,
"meets_minimum_15": true,
"warnings": [],
"regulation": "06/2026/TT-BGDĐT",
"issued": "2026-02-15",
"effective_from": "2026-02-15",
"articles": "Điều 2 (k.20), Điều 6 (k.2, 3, 5), Điều 7, Phụ lục I–II",
"reviewed": "2026-11-11"
}
Ứng dụng
- Công cụ tính điểm trên trang tuyển sinh, hướng nghiệp
- Tự điền điểm ưu tiên trong app trường THPT, trung tâm luyện thi
- Kiểm tra điểm xét tuyển mùa tuyển sinh tháng 6–8
- Quy đổi IELTS, điểm học bạ theo bảng của từng trường
Hỏi đáp
Điểm ưu tiên giảm thế nào khi điểm cao?
Từ 22,5 điểm (thang 30): điểm ưu tiên = [(30 − tổng điểm)/7,5] × mức ưu tiên khu vực + đối tượng, làm tròn 0,01. Thí sinh KV1 đạt 27 điểm chỉ được 0,30 thay vì 0,75.
Bảng quy đổi IELTS có phải của Bộ không?
Không, mỗi trường tự công bố (tối thiểu 5 mức). Bảng mặc định chỉ là ví dụ; hãy truyền ielts_table theo đề án của trường.
Ngưỡng 22,5 có tính cả điểm cộng không?
Mặc định chỉ tính tổng điểm các môn; dùng priority_basis=with_bonus nếu trường tính cả điểm cộng.
API liên quan
Kiểm tra JSON
Kiểm tra cú pháp JSON, báo đúng dòng và cột bị lỗi, và validate dữ liệu theo JSON Schema (draft 4, 7, 2019-09 hoặc 2020-12).
{ }Định dạng JSON
Làm đẹp JSON với thụt lề 0-8 dấu cách hoặc tab, rút gọn (minify) hoặc sắp xếp key theo bảng chữ cái. Báo lỗi cú pháp kèm dòng và cột.
CSVCSV sang JSON
Chuyển CSV thành mảng object JSON theo dòng tiêu đề, tự nhận dấu phân cách, tự chuyển số và boolean, báo lỗi từng dòng.