Chuyển đến nội dung chính

URL Cơ sở

Tất cả yêu cầu API được gửi đến URL cơ sở sau:
https://api.tablepro.app/v1

Endpoints

API cung cấp ba endpoint để quản lý vòng đời giấy phép:
Phương thứcEndpointMô tả
POST/license/activateKích hoạt giấy phép trên một máy
POST/license/validateXác thực giấy phép đang hoạt động
POST/license/deactivateHủy kích hoạt giấy phép khỏi một máy

Định dạng Yêu cầu

Tất cả yêu cầu phải được gửi dưới dạng JSON với header Content-Type: application/json.

Tham số Chung

Tham sốKiểuMô tả
license_keystringKhóa giấy phép theo định dạng XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (chữ và số)
machine_idstringMã SHA-256 của định danh máy (64 ký tự hex)

Định dạng Phản hồi

Phản hồi kích hoạt và xác thực thành công trả về dữ liệu giấy phép đã ký:
{
  "data": {
    "email": "[email protected]",
    "expires_at": "2027-02-11T00:00:00+00:00",
    "issued_at": "2026-02-12T10:30:00+00:00",
    "license_key": "ABCDE-12345-FGHIJ-67890-KLMNO",
    "status": "active"
  },
  "signature": "base64-encoded-signature"
}
Trường signature chứa chữ ký mật mã RSA-SHA256 của đối tượng data, có thể được xác minh phía client bằng khóa công khai để đảm bảo tính toàn vẹn của phản hồi.

Ký Phản hồi

Tất cả phản hồi kích hoạt và xác thực thành công đều được ký mật mã:
  1. Các trường trong đối tượng data được sắp xếp theo thứ tự bảng chữ cái
  2. Đối tượng đã sắp xếp được mã hóa thành JSON
  3. Chuỗi JSON được ký bằng RSA với SHA-256
  4. Chữ ký được trả về dưới dạng chuỗi Base64
Điều này cho phép client xác minh rằng dữ liệu giấy phép không bị giả mạo.

Giới hạn Tốc độ

Tất cả endpoint đều có giới hạn tốc độ. Thông tin giới hạn được bao gồm trong header phản hồi:
HeaderMô tả
X-RateLimit-LimitSố yêu cầu tối đa được phép trong cửa sổ hiện tại
X-RateLimit-RemainingSố yêu cầu còn lại trong cửa sổ hiện tại
X-RateLimit-ResetThời gian Unix khi cửa sổ giới hạn được đặt lại
Khi vượt quá giới hạn tốc độ, API trả về mã trạng thái 429:
{
  "message": "Too many requests.",
  "retry_after": 60
}

Xử lý Lỗi

Phản hồi lỗi tuân theo định dạng nhất quán:
{
  "message": "Human-readable error message."
}

Mã Trạng thái

Mô tả
200Thành công
403Giấy phép bị đình chỉ, hết hạn, hoặc máy chưa được kích hoạt
404Không tìm thấy khóa giấy phép
409Đã đạt giới hạn kích hoạt
422Lỗi xác thực (tham số yêu cầu không hợp lệ)
429Vượt quá giới hạn tốc độ

Lỗi Xác thực

Lỗi xác thực (422) bao gồm chi tiết theo từng trường:
{
  "message": "The given data was invalid.",
  "errors": {
    "license_key": ["The license key field is required."],
    "machine_id": ["The machine id must be 64 characters."]
  }
}

Trạng thái Giấy phép

Trạng tháiMô tả
activeGiấy phép hợp lệ và có thể sử dụng
suspendedGiấy phép đã bị đình chỉ và không thể kích hoạt hoặc xác thực