Giao diện hiển thị
Tài liệu API Full — TUANN.DUCKDNS.ORG
Tất cả endpoint công khai của hệ thống. Base URL: https://tuann.duckdns.org.
Xác thực bằng token lấy trong hồ sơ người dùng. Dùng Bearer token hoặc query ?token= tùy endpoint. Tất cả response dạng JSON với status: success|error.
Thông tin Token của bạn
Vui lòng không để lộ API KEY — lộ token = mất tiền. Dùng nút copy bên phải.
Ghi chú nhanh
/user/log. Kiểm tra số dư trước khi gọi /api/cron/create.Tổng quan & Xác thực
AuthLấy thông tin tài khoản gắn với token. Dùng để kiểm tra token hợp lệ, lấy số dư coin và chietkhau.
| Tham số | Kiểu | Yêu cầu | Ghi chú |
|---|---|---|---|
| token | String | Bắt buộc | Lấy tại hồ sơ → API Token |
{
"status": "success",
"message": "Thành công",
"data": {
"username": "DoiLacLoi",
"email": "minhphsdepchai@gmail.com",
"coin": "7379150",
"chietkhau": "0"
}
}
{
"status": "error",
"message": "Token không hợp lệ"
}
Tìm kiếm
1 endpointLive search gợi ý sản phẩm + bài viết. Dùng cho ô tìm kiếm header. Không yêu cầu auth, public.
| Tham số | Kiểu | Y.cầu | Ghi chú |
|---|---|---|---|
| q | String | Bắt buộc | Từ khóa ≥2 ký tự |
| limit | Int | Tùy chọn | 1-40, mặc định 20 |
{
"results": [
{
"id": 123,
"type": "product",
"type_label": "Sản phẩm",
"title": "Source Code Laravel Ecommerce",
"slug": "laravel-ecommerce",
"thumb": "/upload/product/thumb.jpg",
"price": 299000,
"price_text": "299.000đ",
"url": "/product/laravel-ecommerce"
},
{
"id": 45,
"type": "post",
"type_label": "Bài viết",
"title": "Hướng dẫn deploy Laravel",
"url": "/blog/huong-dan-deploy"
}
]
}
Community Chat
6 endpoints • cần đăng nhậpLấy danh sách tin nhắn. Phân trang bằng after_id (tin mới hơn) hoặc before_id (tin cũ hơn). Không truyền gì → 30 tin mới nhất.
| Param | Kiểu | Y.cầu | Ghi chú |
|---|---|---|---|
| after_id | Int | Tùy chọn | Lấy tin có id > after_id |
| before_id | Int | Tùy chọn | Lấy tin có id < before_id |
| limit | Int | Tùy chọn | 1-50, mặc định 30 |
{
"status": "success",
"messages": [
{
"id": 123,
"username": "tuan",
"display_name": "Tuấn",
"avatar": "/assets/images/avt.png",
"message": "Hello world",
"image_url": null,
"reactions": [],
"is_own": false,
"created_at": "2025-05-18 10:20:00"
}
],
"count": 1
}Gửi tin nhắn mới. Yêu cầu đăng nhập (cookie session). Hỗ trợ text ≤2000 ký tự và ảnh jpg/png/gif/webp ≤5MB.
| Param | Kiểu | Y.cầu | Ghi chú |
|---|---|---|---|
| message | String | Tùy chọn* | *Bắt buộc nếu không gửi ảnh |
| image | File | Tùy chọn* | Multipart form-data |
{
"status": "success",
"msg": "Đã gửi",
"message": { "id": 124, "message": "Hello" }
}Thả emoji reaction cho tin nhắn. Body JSON.
| Param | Kiểu | Y.cầu |
|---|---|---|
| message_id | Int | Bắt buộc |
| emoji | String | Bắt buộc |
{ "status":"success", "msg":"Đã thả cảm xúc" }Thu hồi tin nhắn của chính mình. Chỉ chủ tin nhắn mới thu hồi được.
| Param | Kiểu | Y.cầu |
|---|---|---|
| message_id | Int | Bắt buộc |
{ "status":"success", "msg":"Đã thu hồi" }Sửa nội dung tin nhắn đã gửi.
| Param | Kiểu | Y.cầu |
|---|---|---|
| message_id | Int | Bắt buộc |
| message | String | Bắt buộc |
{ "status":"success", "msg":"Đã sửa" }Lấy chi tiết 1 tin nhắn + reactions detail + thông tin người gửi.
| Param | Kiểu | Y.cầu |
|---|---|---|
| id | Int | Bắt buộc |
{
"status":"success",
"message": {
"id":123, "username":"tuan",
"message":"Hello",
"reactions_detail":[{"emoji":"❤️","user_id":2,"username":"admin"}]
}
}Cronjob API
6 endpoints • tokenLấy danh sách máy chủ cron còn hoạt động, giá và số lượng còn lại.
| Param | Kiểu | Y.cầu |
|---|---|---|
| token | String | Bắt buộc |
{
"status":"success",
"message":"Thành công",
"data":[
{"id":"2","name":"Siêu Rẻ V1","price":200,"quantity":92,"limit_second":1},
{"id":"3","name":"Siêu Vip V2","price":500,"quantity":450,"limit_second":1}
]
}Tạo đơn cron mới, tự động trừ tiền theo giá máy chủ × số tháng - chiết khấu.
| Param | Kiểu | Y.cầu | Ghi chú |
|---|---|---|---|
| token | String | Bắt buộc | |
| linkcron | String | Bắt buộc | URL cần cron |
| timeloop | Int | Bắt buộc | Số giây/lần chạy |
| maychucron | Int | Bắt buộc | Id server |
| thoigiangiahan | Int | Bắt buộc | Số tháng thuê |
{
"status":"success",
"msg":"Thanh toán đơn hàng thành công",
"data":{
"trans_id":"dsajdaUdsn8",
"url":"https://example.com/api",
"second":"30",
"price":50000,
"status":"hoatdong",
"created_at":"2024/02/04 22:28:12",
"expired_date":"2024/07/03 22:28:12",
"expired_timestamp":1720020492
}
}Lấy N giao dịch cron gần nhất của user.
| Param | Kiểu | Y.cầu |
|---|---|---|
| token | String | Bắt buộc |
| limit | Int | Bắt buộc |
{
"status":"success",
"message":"Thành công",
"data":[
{
"trans_id":"6",
"url":"https://example.com/cron",
"server":"2",
"second":"30",
"status":"active",
"response":"200",
"created_at":"2025-05-17 13:34:53",
"expired_date":"2026-05-17 13:34:53",
"last_run":"2025-05-18 16:40:04"
}
]
}Lấy chi tiết 1 giao dịch theo trans_id.
| Param | Kiểu | Y.cầu |
|---|---|---|
| token | String | Bắt buộc |
| trans_id | String | Bắt buộc |
{
"status":"success",
"message":"Thành công",
"data":[{ "trans_id":"1","url":"https://...","status":"active" }]
}Thực hiện hành động trên cron: edit / active / stop / giahan. Mỗi action có params riêng — bấm để xem.
Action: edit — chỉnh sửa URL & chu kỳ
| Param | Kiểu | Y.cầu |
|---|---|---|
| action | String | edit |
| trans_id | String | Bắt buộc |
| url | String | Bắt buộc |
| second | Int | Bắt buộc |
| token | String | Bắt buộc |
Action: active — chạy lại (paused → active)
| Param | Kiểu |
|---|---|
| action | active |
| trans_id | Bắt buộc |
| token | Bắt buộc |
Action: stop — tạm dừng
| Param | Kiểu |
|---|---|
| action | stop |
| trans_id | Bắt buộc |
| token | Bắt buộc |
Action: giahan — gia hạn thêm tháng
| Param | Kiểu |
|---|---|
| action | giahan |
| month | Bắt buộc Int |
| trans_id | Bắt buộc |
| token | Bắt buộc |
{ "status":"success","msg":"Cập nhật thành công" }{
"status":"success",
"message":"Gia hạn thành công",
"data":{"expired_date":"2024/11/30 22:28:11","expired_timestamp":1732980491}
}Cron Handler (Server)
2 endpointsDành cho worker server: lấy tất cả cronjobs đang active + chưa hết hạn. Tự động đánh dấu expired nếu quá hạn.
{
"status":"success",
"data":[
{
"id": 12,
"url": "https://example.com/api",
"method": "GET",
"cron_expression": "*/30 * * * * *",
"server": {"id":2,"name":"Siêu Rẻ V1","price":200},
"headers": "", "body": "",
"last_run": "2025-05-18 10:00:00",
"expires_at": "2026-05-17 13:34:53"
}
]
}Worker báo kết quả chạy cron: cập nhật last_run và status_code.
| Param (JSON) | Kiểu | Y.cầu |
|---|---|---|
| id | Int | Bắt buộc |
| status_code | String/Int | Bắt buộc |
{ "status":"success","message":"Cập nhật thành công!" }Cloud VPS
3 endpointsĐồng bộ gói VPS từ VNCloud / CloudNest / H2Cloud. Không phải API public cho client, dùng nội bộ cron đồng bộ vào tbl_cloudvps.
[-] Thêm gói VPS 1 thành công.
[-] Cập nhật gói VPS 2 thành công.Lấy danh sách addon VPS.
{ "status":"success" }Lấy danh sách OS hỗ trợ.
{ "status":"success" }Tiện ích
4 endpointsTrả về chuỗi license của site ($db->site('license')).
LICENSE-XXXX-XXXXTăng bộ đếm lượt xem site (đang dùng trong footer deferred). Không cần auth.
| Param | Kiểu |
|---|---|
| action | increment |
{ "status":"success","views":"12,345" }Callback nạp thẻ cào ( Thesieure ... ). Server thứ 3 POST về.
{ "status":"success" }Cron kiểm tra giao dịch bank tự động (nội bộ).
{ "status":"success" }Admin / System (cần quyền admin)
6 endpointsNhóm API quản trị: domain, system detail, term, speedtest, clean, viewer. Yêu cầu đăng nhập quyền admin, dùng panel /cpanel/*. Không document chi tiết public.
| Endpoint | Method | Ghi chú |
|---|---|---|
| /api/admin/domain | GET/POST | Quản lý domain |
| /api/system/detail | GET | Chi tiết hệ thống |
| /api/system/viewer | GET | Xem visitor logs |
| /api/system/clean | POST | Dọn dẹp cache |
| /api/system/speedtest | GET | Test tốc độ |
{
"status":"error",
"msg":"Không có quyền truy cập"
}