← Về Trang Chủ

Developer API & CLI Reference

Tích hợp upload HTML trực tiếp vào CI/CD pipeline, Terminal hoặc ứng dụng của bạn chỉ với một vài dòng code.

⚡ 1. Công cụ dòng lệnh CLI (Khuyên Dùng)

Deploy file HTML hoặc thư mục tĩnh từ Terminal mà không cần cấu hình phức tạp:

# Chạy tức thì qua npx (không cần cài đặt)
npx uploadhtml deploy index.html --slug my-landing

# Đóng gói cả thư mục tĩnh (tự động inline CSS, JS, Ảnh base64)
npx uploadhtml deploy ./dist --slug my-portfolio

# Kèm mật khẩu bảo vệ & thời gian tự hủy (TTL)
npx uploadhtml deploy index.html --slug secret-preview --password abc123 --ttl 86400

# Quản lý danh sách trang với API Key
npx uploadhtml list --api-key YOUR_API_KEY

# Xem thống kê lượt truy cập
npx uploadhtml stats my-landing

# Xóa trang
npx uploadhtml delete my-landing --api-key YOUR_API_KEY

🔑 2. Xác thực (Authentication)

Khách vãng lai có thể upload miễn phí không cần API Key (lưu 7 ngày). Người ủng hộ (Supporter / Sponsor) nhận API Key để sở hữu trang vĩnh viễn, đặt mật khẩu và quản lý trang qua Dashboard:

# Truyền API Key qua Header:
X-UploadHTML-Key: YOUR_API_KEY

# Hoặc qua Bearer Token:
Authorization: Bearer YOUR_API_KEY

📡 3. REST API Endpoints

POST/api/upload
Public & Supporter

Xuất bản một file HTML lên đám mây toàn cầu Cloudflare.

Trường (Body JSON)KiểuBắt buộcMô tả
slugstringCóTên đường dẫn duy nhất (chữ thường, số, dấu gạch ngang, 2-64 ký tự).
htmlstringCóNội dung mã nguồn HTML đầy đủ của trang.
passwordstringKhôngMật khẩu bảo vệ trang (dành cho Supporter có API key).
ttlnumberKhôngThời hạn sống tính theo giây (ví dụ: 86400 = 24 giờ).
curl -X POST https://uploadhtml.com/api/upload \
  -H "Content-Type: application/json" \
  -H "X-UploadHTML-Key: YOUR_API_KEY" \
  -d '{
    "slug": "hello-world",
    "html": "<!DOCTYPE html><html><body><h1>Hello from UploadHTML</h1></body></html>",
    "ttl": 604800
  }'
const res = await fetch('https://uploadhtml.com/api/upload', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-UploadHTML-Key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    slug: 'hello-world',
    html: '<h1>Hello World</h1>'
  })
});
const data = await res.json();
console.log('Trang đã xuất bản:', data.url);
GET/api/account/pages
Yêu cầu API Key

Lấy danh sách các trang web thuộc quyền sở hữu của API Key, kèm số lượt xem, thời gian tạo và trạng thái mật khẩu.

curl https://uploadhtml.com/api/account/pages \
  -H "X-UploadHTML-Key: YOUR_API_KEY"
GET/api/stats/{slug}
Public

Lấy số lượt xem trực tiếp và thông tin chi tiết của một trang.

curl https://uploadhtml.com/api/stats/hello-world
DELETE/api/delete/{slug}
Yêu cầu API Key

Gỡ bỏ tức thì một trang web. Trang sẽ trả về lỗi 404 ngay sau khi xóa thành công.

curl -X DELETE https://uploadhtml.com/api/delete/hello-world \
  -H "X-UploadHTML-Key: YOUR_API_KEY"