Tino Developers
Xem .md

Token API cá nhân

Token API cá nhân cho phần mềm của chính khách (module WHMCS, script quản lý tên miền, công cụ riêng…) gọi API Tino mà không cần đăng nhập. Khách tự tạo token ở Tino ID, chọn quyền, hạn dùng và IP được gọi; phần mềm gửi token trong header Authorization: Bearer tinopat_… tới gateway https://api.tino.vn/v1/<route>.

Cập nhật: 2026-10-27.

Khi nào dùng

Bạn cầnDùng
Phần mềm của chính bạn gọi API bằng tài khoản Tino của bạnToken API cá nhân (tinopat_)
Ứng dụng của bạn phục vụ nhiều khách Tino, mỗi khách tự đăng nhập và đồng ýĐăng nhập bằng Tino (tinoat_)
Claude, ChatGPT làm việc với tài khoản Tino của bạnKết nối MCP: đăng nhập OAuth, không cần token
Ứng dụng MCP khác (Cursor, VS Code, n8n…)Kết nối MCP: đăng nhập OAuth (ứng dụng tự đăng ký); token API cá nhân khi ứng dụng không hỗ trợ OAuth của MCP hoặc chạy trên máy chủ không mở được trình duyệt

Chỉ token API cá nhân mới mang được quyền domains:owner (lấy mã EPP, đổi chủ thể tên miền); ứng dụng OAuth không bao giờ được cấp quyền này.

Tạo token

  1. Đăng nhập Tino ID, mở https://auth.tino.vn/me/security, mục Token API, bấm Tạo token.
  2. Đặt tên token (1–64 ký tự), ví dụ "Module WHMCS".
  3. Chọn quyền: ít nhất một quyền trong bảng dưới. Chọn quyền ghi của một nhóm thì giao diện chọn kèm quyền đọc cùng nhóm.
  4. Chọn hạn dùng: 30 ngày, 90 ngày, 1 năm (mặc định) hoặc không hết hạn.
  5. Giới hạn IP (không bắt buộc, trừ khi chọn domains:owner): các địa chỉ IPv4, IPv6 hoặc dải CIDR, cách nhau dấu cách hoặc dấu phẩy, tối đa 20. Để trống: gọi được từ mọi IP.
  6. Chép token ngay: token chỉ hiện một lần, khi vừa tạo. Tino chỉ lưu bản băm SHA-256; danh sách token chỉ còn 4 ký tự cuối để nhận ra.

Mỗi tài khoản đăng nhập có tối đa 20 token. Token có dạng tinopat_ + 43 ký tự (base64url).

QuyềnCho phép
profile:readXem thông tin tài khoản
profile:writeSửa thông tin tài khoản
services:readXem dịch vụ, gồm cả thông tin đăng nhập dịch vụ
services:writeQuản lý dịch vụ
domains:readXem tên miền
domains:writeĐăng ký, gia hạn và quản lý tên miền
domains:ownerLấy mã chuyển tên miền (EPP) và đổi chủ thể tên miền; bắt buộc giới hạn IP
domains:registrantXem và hoàn tất hồ sơ chủ thể tên miền đang chờ đăng ký (có CCCD, ngày sinh); bắt buộc giới hạn IP
dns:readXem bản ghi DNS
dns:writeSửa bản ghi DNS
billing:readXem hoá đơn và thanh toán
billing:writeThanh toán, nạp tiền
orders:writeĐặt mua dịch vụ: giỏ hàng, báo giá, tạo đơn (trả bằng số dư cần thêm quyền Thanh toán)
tickets:readXem ticket hỗ trợ
tickets:writeTạo và trả lời ticket
tinopay:readXem TinoPay: tài khoản nhận tiền, giao dịch, webhook
tinopay:writeQuản lý TinoPay: tài khoản ảo, webhook, thông báo, tích hợp Sapo
tinopay:ownerTạo API token TinoPay và liên kết tài khoản ngân hàng nhận tiền; bắt buộc giới hạn IP
builder:readXem website TinoPage Builder
builder:writeQuản lý website TinoPage Builder: tạo, đăng, tên miền riêng
waf:readXem website được TinoWAF bảo vệ và nhật ký sự kiện
waf:writeQuản lý TinoWAF: website, mức bảo vệ, máy chủ gốc, luật IP

Mỗi quyền mở một nhóm route; xem route của từng quyền ở Gọi API Tino.

domains:owner và giới hạn IP

domains:owner mở lấy mã EPP (GET /v1/domain/@id/epp), đổi liên hệ, chủ thể tên miền (PUT /v1/domain/@id/contact) Bốn route hồ sơ chủ thể của tên miền đang chờ có quyền riêng domains:registrant, cũng chỉ token cá nhân có giới hạn IP. Ai có hai route của domains:owner có thể chuyển tên miền đi nơi khác, nên token mang domains:owner bắt buộc khai danh sách IP: Tino từ chối tạo token khi danh sách trống. Token lộ ra ngoài cũng không chuyển được tên miền từ máy khác.

Gọi từ IP ngoài danh sách, mọi route của token đều trả 403 ip_not_allowed.

Gọi API

curl https://api.tino.vn/v1/domain -H "Authorization: Bearer tinopat_…"

Token gọi API như chính tài khoản đã tạo nó, chỉ trong các quyền đã chọn. Body, tham số và câu trả lời của từng route xem ở API Reference.

Giữ token như mật khẩu: để trong biến môi trường hoặc kho bí mật của server, không đưa vào mã nguồn, URL hay trình duyệt.

Theo dõi và thu hồi

Danh sách token ở https://auth.tino.vn/me/security hiện tên, quyền, IP được gọi, lúc tạo, lần dùng gần nhất (cập nhật tối đa mỗi phút một lần) và hạn dùng. Token hết hạn hiện nhãn Hết hạn.

Bấm Thu hồi để xoá token: phần mềm đang dùng nó nhận 401 invalid_token ngay ở lần gọi sau. Muốn đổi quyền, hạn dùng hay IP, tạo token mới rồi thu hồi token cũ.

Lỗi

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

Khi tạo token, Tino báo lỗi nếu tên trống hoặc quá 64 ký tự, không chọn quyền nào, hạn dùng không hợp lệ, có IP hay dải IP sai (hoặc quá 20), chọn domains:owner mà không khai IP, hoặc đã đủ 20 token.