Tino Developers
Xem .md

Gọi API Tino

Ứng dụng và phần mềm của khách gọi API Tino thay khách qua gateway https://api.tino.vn/v1/<route>: mỗi route chạy route UserAPI cùng tên bằng tài khoản của khách, trong phạm vi quyền của token. Body và câu trả lời giữ nguyên dạng của UserAPI (xem Dữ liệu cá nhân). Trợ lý AI gọi cùng các route này dưới dạng tool qua máy chủ MCP.

Cập nhật: 2026-10-21. Danh sách route, quyền, tên và tham số đúng như gateway đang chạy; mẫu response là câu trả lời thật, đã che dữ liệu cá nhân.

Xác thực

Mọi route cần header Authorization: Bearer <token>, một trong hai loại token:

TokenTiền tốCó từ đâuGọi được
Token ứng dụng (access token)tinoat_Đăng nhập bằng Tino: khách đồng ý cấp quyền cho ứng dụngroute thuộc các quyền khách đã đồng ý; không bao giờ có domains:owner
Token API cá nhântinopat_khách tự tạo ở https://auth.tino.vn/me/security, mục Token APIroute thuộc các quyền khách chọn, kể cả domains:owner (bắt buộc giới hạn IP); chỉ từ IP trong danh sách nếu có
curl https://api.tino.vn/v1/details -H "Authorization: Bearer $TINO_TOKEN"

Mỗi trang route ghi quyền (scope) cần có và loại token gọi được.

Ngoại lệ: route công khai không cần token và gọi thẳng https://api.tino.vn (không có /v1), hiện có Tra whois tên miền (GET /whois/<tên miền>).

Gửi tham số

  • Tham số đường dẫn: tài liệu viết @id, @vmid…; thay bằng giá trị thật, ví dụ GET /v1/service/12345.
  • GET, DELETE: tham số ở query string.
  • POST, PUT: body JSON với Content-Type: application/json. Gateway cũng đọc query string, và body form (application/x-www-form-urlencoded).
  • Phân trang (các route danh sách có): page bắt đầu từ 0, perpage số dòng mỗi trang; câu trả lời có page.current, page.total.
  • Lọc và sắp xếp: filter[<khoá>]=<giá trị>, orderby=<trường>|DESC hoặc |ASC.

Dữ liệu cá nhân

Gateway /v1 trả nguyên câu trả lời của route, gồm cả thông tin định danh của tài khoản, liên hệ và chủ thể tên miền (số giấy tờ, ngày sinh, số điện thoại, địa chỉ, mã số thuế): token gọi được là của chủ tài khoản hoặc được chủ tài khoản cho phép. Giữ token như mật khẩu; không ghi log, không lưu các trường này khi ứng dụng không cần.

Máy chủ MCP thì lọc các trường định danh trước khi gửi kết quả cho trợ lý AI.

Lỗi

Gateway từ chối bằng body {"error": ["<mã>"]}; lỗi 401 và insufficient_scope kèm header WWW-Authenticate: Bearer error="<mã>" (có scope và resource_metadata cho client MCP).

HTTPerrorNguyên nhânXử lý
401invalid_tokentoken sai, hết hạn hoặc đã bị thu hồiứng dụng làm mới token; token cá nhân thì tạo token mới
403insufficient_scopetoken không có quyền của route, hoặc route không có trong gatewayxin thêm quyền (ứng dụng) hoặc tạo token có thêm quyền (token cá nhân)
403ip_not_allowedtoken API cá nhân gọi từ IP ngoài danh sách giới hạngọi từ IP đã khai, hoặc tạo token với danh sách IP mới
403ipnotallowedIP gọi API đang bị Tino chặnliên hệ Tino

Lỗi nghiệp vụ của từng route (ví dụ dịch vụ không tồn tại) giữ nguyên câu trả lời của UserAPI, thường là HTTP 200 kèm {"error": ["<mã>"]}; thao tác thành công thường kèm {"info": ["<mã>"]}.

Danh sách route

Mỗi route một trang: tham số, ví dụ cURL, JavaScript, PHP, mẫu response; mục lục theo sản phẩm ở API Reference, bản máy đọc ở /openapi.json. Bản Markdown cho LLM: thêm .md vào đường dẫn trang (ví dụ /docs/api/get-details.md); toàn bộ ở /llms-full.txt.