rdurl API

Tạo và quản lý liên kết rút gọn bằng code

Thông tin chung về API

  • Mọi yêu cầu đều cần token API. Xem phần Xác thực.
  • Endpoint gốc là: https://rdurl.link/api
  • Chỉ hỗ trợ HTTPS.
  • Mọi endpoint đều trả về một đối tượng JSON.
  • Yêu cầu được gửi dưới dạng JSON (Content-Type: application/json).
  • Mọi trường thời gian và dấu thời gian đều tính bằng miligiây.
  • Mọi bảng mã ký tự đều là UTF-8.

Xác thực

API dùng token để xác định yêu cầu thuộc về tài khoản nào. Token tương đương mật khẩu tài khoản: ai sở hữu token đều có thể tạo và xoá liên kết của tài khoản đó.

Bước 1. Phát hành token

Đăng nhập vào bảng điều khiển và phát hành token từ menu 'Token API'. Mỗi lần phát hành sẽ tạo token mới và chỉ xem được một lần.

Bước 2. Thêm token vào yêu cầu

Chọn một trong hai cách bên dưới.

1. Authorization: Bearer (khuyến nghị)

Phương thức xác thực chuẩn của hầu hết các API công khai.

curl https://rdurl.link/api/link/create   -H "Authorization: Bearer rd_YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{ "url": "https://example.com/very/long/url" }'

2. x-api-key header

Tiện lợi cho các công cụ không hỗ trợ header Authorization dễ dàng.

curl https://rdurl.link/api/link/create   -H "x-api-key: rd_YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{ "url": "https://example.com/very/long/url" }'

Bước 3. Kiểm tra token

Chạy lệnh bên dưới. Nếu danh sách liên kết được trả về, token đang hoạt động bình thường.

curl https://rdurl.link/api/link/list \
  -H "Authorization: Bearer rd_YOUR_TOKEN"

Quản lý token

Token gồm rd_ kèm 32 ký tự thập lục phân. Nó chỉ xem được một lần khi phát hành, hãy giữ an toàn. Nếu nghi ngờ bị lộ, hãy thu hồi ngay trong bảng điều khiển — token sẽ ngừng hoạt động ngay lập tức.

Endpoint

POST /api/link/create

Tạo liên kết rút gọn. Gửi URL và nhận về slug cùng liên kết rút gọn.

Tham số

  • urlURL cần rút gọn (bắt buộc)
  • titleTiêu đề liên kết (tùy chọn, tối đa 100 ký tự)
  • folderThư mục của liên kết (tùy chọn, tối đa 100 ký tự — lọc danh sách theo thư mục)
  • domainMiền tùy chỉnh (tùy chọn, vd: example.com)

Yêu cầu

{ "url": "https://example.com/very/long/url" }

Phản hồi

{
  "success": true,
  "message": {
    "slug": "abc123",
    "short": "https://rdurl.link/abc123",
    "domain_no": 0,
    "domain": ""
  }
}
GET /api/link/list

Liệt kê liên kết của bạn theo trang, 20 liên kết/trang. Hỗ trợ tìm kiếm và lọc theo miền.

Tham số

  • pageSố trang (mặc định 1)
  • domainMiền tùy chỉnh (tùy chọn, vd: example.com)
  • searchTừ khóa (khớp một phần slug/URL)
  • folderThư mục của liên kết (tùy chọn, tối đa 100 ký tự — lọc danh sách theo thư mục)

Yêu cầu

GET /api/link/list?page=1&domain=example.com&search=keyword

Phản hồi

{
  "success": true,
  "message": {
    "total": 42,
    "page": 1,
    "list": [
      {
        "slug": "abc123",
        "url": "https://example.com/very/long/url",
        "short": "https://rdurl.link/abc123",
        "clicks": 128,
        "tm": 1789379625000
      }
    ]
  }
}
GET /api/link/info

Lấy chi tiết và số lượt nhấp của một liên kết.

Tham số

  • slugslug (bắt buộc)
  • domainMiền tùy chỉnh (tùy chọn, vd: example.com)

Yêu cầu

GET /api/link/info?slug=abc123

Phản hồi

{
  "success": true,
  "message": {
    "slug": "abc123",
    "url": "https://example.com/very/long/url",
    "short": "https://rdurl.link/abc123",
    "clicks": 128,
    "tm": 1789379625000
  }
}
GET /api/link/stats

Thống kê lượt nhấp theo liên kết — tổng, hôm nay và top 10 quốc gia.

Tham số

  • slugslug (bắt buộc)
  • domainMiền tùy chỉnh (tùy chọn, vd: example.com)

Yêu cầu

GET /api/link/stats?slug=abc123

Phản hồi

{
  "success": true,
  "message": {
    "clicks": 128,
    "clicksToday": 5,
    "countries": [
      { "country": "KR", "clicks": 80 },
      { "country": "US", "clicks": 30 }
    ]
  }
}
DELETE /api/link

Xoá liên kết. Liên kết toàn cục có thể khôi phục trong 30 ngày; liên kết miền tùy chỉnh bị xoá ngay lập tức.

Tham số

  • slugslug (bắt buộc)
  • domainMiền tùy chỉnh (tùy chọn, vd: example.com)

Yêu cầu

DELETE /api/link
{ "slug": "abc123" }

Phản hồi

{ "success": true }

Giới hạn tần suất

Tối đa 10 yêu cầu/phút mỗi IP và 1.000 liên kết/ngày mỗi tài khoản. Vượt giới hạn sẽ trả về 429.

Mã lỗi

Khi thất bại, phản hồi chứa success: false và mã lỗi.

{ "success": false, "message": "api_invalid_token" }
codestatusÝ nghĩa
api_invalid_token401Thiếu token hoặc token không hợp lệ
link_invalid_url400URL không hợp lệ (chỉ hỗ trợ http/https)
link_invalid_slug400Định dạng slug không hợp lệ
link_not_found400Không tìm thấy liên kết
domain_not_found400Không tìm thấy miền tùy chỉnh
link_own_domain400Không thể rút gọn miền của chính bạn
link_create_failed400Tạo liên kết thất bại
link_rate_limit429Vượt quá giới hạn yêu cầu
koenjazh-TWzh-CNviesptfrru