API API KEY GENERATOR

QR Code Generator API

Bạn có thể tạo và tùy chỉnh QR code với QR Code Generator web API tại qr-artists.3si.vn.

1.0 Tính năng chính

  • Tạo QR codes qua Internet (phát triển ứng dụng QR code generator của riêng bạn)
  • QR code với logo (nhúng logo hoặc hình ảnh vào giữa QR code)
  • Tạo QR codes với màu sắc tùy chỉnh
  • Tùy chỉnh style cho dots và corners
  • Hỗ trợ gradient colors
  • Hiệu suất cao
  • Giao tiếp mã hóa qua HTTPS (SSL/TLS)

Thử ngay, tạo một hình ảnh

Gọi URL https://qr-artists.3si.vn/qrcode/generate/?width=200&height=200&data=Example để tạo QR code với nội dung "Example":

Bây giờ thay thế "Example" trong URL để tạo QR code mới với văn bản bạn chọn. Bạn có thể tìm thấy mô tả chi tiết và ví dụ trong tài liệu API bên dưới.

2.0 Hướng dẫn nhanh

Gửi GET request theo form sau để nhận QR code graphic dưới dạng PNG image:
https://qr-artists.3si.vn/qrcode/generate/?data=[URL-encoded-text]&width=[pixels]&height=[pixels]

Test trực tiếp trong trình duyệt bằng cách gọi URL sau:
https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld!&width=200&height=200

Như bạn có thể thấy, dễ dàng nhúng QR code vào tài liệu (X)HTML bằng cách sử dụng thẻ <img>. Thẻ <img>
<img src="https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&amp;width=200&amp;height=200" alt="" title="" />
tạo ra / hiển thị QR code image sau:

3.0 Tham số API

API hỗ trợ nhiều tham số để cấu hình việc tạo QR code. Đơn giản sử dụng thêm tham số bằng cách thêm &[parameter-name]=[parameter-value] vào request.

Tất cả tham số có thể được gửi bằng HTTP-GET hoặc HTTP-POST. Bạn cũng có thể kết hợp cả hai phương thức. Nếu một tham số được gửi bằng cả POST và GET cùng lúc, giá trị GET sẽ được sử dụng và giá trị POST sẽ bị bỏ qua.

3.1 Tham số data (bắt buộc)

Văn bản để lưu trữ trong QR code (URL encoded, lập trình viên PHP có thể sử dụng urlencode()).

  • Số ký tự tối thiểu:
    1
  • Số ký tự tối đa:
    Phụ thuộc vào tham số ecc (càng nhiều dữ liệu dự phòng được sử dụng, càng ít ký tự vừa trong QR code) và các yếu tố khác. Tuy nhiên, tối đa 900 ký tự thường hoạt động tốt.
  • Best practice:
    Càng ngắn càng tốt. Vì nhiều điện thoại cũ có vấn đề với QR codes >Version 4 (ma trận 33×33 modules), bạn nên sử dụng càng ít dữ liệu càng tốt. Chúng tôi khuyên sử dụng URL shorteners như bitly cho URL rất dài.

3.2 Tham số widthheight (tùy chọn)

Chỉ định kích thước của QR code image bạn muốn tạo (tính bằng px cho định dạng raster như png, gif hoặc jpeg)

  • Format:
    [integer] (riêng biệt cho width và height)
  • Giá trị tối thiểu:
    50
  • Giá trị tối đa:
    1000 (nếu format=png|gif|jpeg|jpg)
  • Ví dụ hợp lệ:
    width=200&height=200
    width=750&height=750
  • Ví dụ không hợp lệ:
    width=90000 (lớn hơn kích thước tối đa)
    width=9 (nhỏ hơn kích thước tối thiểu)
  • Mặc định (sẽ được sử dụng nếu không có hoặc giá trị không hợp lệ):
    width=200&height=200

3.3 Tham số ecc (tùy chọn)

Xác định mã sửa lỗi (ECC) quyết định mức độ dự phòng dữ liệu. Càng nhiều dự phòng dữ liệu, càng nhiều dữ liệu có thể được khôi phục nếu QR code bị hư hỏng.

  • Các giá trị có thể:
    L (thấp, ~7% dữ liệu bị hủy có thể được sửa)
    M (trung bình, ~15% dữ liệu bị hủy có thể được sửa)
    Q (chất lượng, ~25% dữ liệu bị hủy có thể được sửa)
    H (cao, ~30% dữ liệu bị hủy có thể được sửa)
  • Mặc định:
    Q

3.4 Tham số màu sắc (tùy chọn)

Các tham số màu sắc cho QR code:

  • dotsColor: Màu của các dots trong QR code
    cornersSquareColor: Màu của các góc vuông
    cornersDotColor: Màu của các dots ở góc
    backgroundColor: Màu nền
    Format: Hex color (ví dụ: #FF0000, #00FF00)
  • Ví dụ:
    dotsColor=#0000FF&backgroundColor=#FFFFFF (dots xanh, nền trắng)

3.5 Tham số style (tùy chọn)

Các tham số style cho QR code:

  • dotsStyle: Kiểu dáng cho các dots trong QR code
    cornersSquareStyle: Kiểu dáng cho các góc vuông
    cornersDotStyle: Kiểu dáng cho các dots ở góc
    Các giá trị có thể:
    square - Hình vuông (mặc định)
    rounded - Hình vuông bo tròn
    dots - Hình tròn
    extra-rounded - Hình vuông bo tròn nhiều
    classy - Kiểu sang trọng với chi tiết bên trong
    classy-rounded - Kiểu sang trọng tròn với chi tiết bên trong
    none - Không áp dụng style riêng
  • Hỗ trợ: Tất cả các style này được hỗ trợ đầy đủ trong cả hai endpoints /qrcode/generate/qrcode/generate.

3.6 Tham số margin (tùy chọn)

Độ dày của margin tính bằng pixels. Margin sẽ luôn có cùng màu với background.

  • Format:
    [integer]
  • Giá trị tối thiểu:
    0 (=không có margin)
  • Giá trị tối đa:
    50
  • Ví dụ hợp lệ:
    1
    19
  • Mặc định:
    0

3.7 Tham số format (tùy chọn)

Có thể tạo QR code picture sử dụng các định dạng file khác nhau:

  • Các giá trị có thể:
    png
    gif
    jpeg
    jpg
    bmp
    webp
    tiff
    qoi
    tga
  • Mặc định:
    png
  • Best practice:
    Cho website: png hoặc webp. JPEG được phát triển cho hình ảnh tự nhiên, kết quả kém hơn PNG/WebP cho line drawings.
  • Format:
    [string] - URL của hình ảnh
  • Chỉ hỗ trợ URL:
    Ví dụ: &logo=https://dummyimage.com/100/09f/fff.png
  • Định dạng hỗ trợ:
    png, jpeg, jpg, bmp, webp

Có thể tạo QR code bằng cách thêm logo. Sử dụng logo trong QR code có thể thêm branding và visual appeal, làm cho code dễ nhận biết và hấp dẫn hơn.

  • Tỷ lệ với kích thước QR Code: Logo nên tỷ lệ với kích thước QR code. Theo quy tắc chung, logo nên chiếm không quá 15-25% tổng diện tích QR code.
  • Kích thước tối thiểu: Đảm bảo logo đủ lớn để nhận biết được, ngay cả khi thu nhỏ. Kích thước tối thiểu khoảng 10-20% kích thước QR code được khuyến nghị.
  • Độ phân giải: Đảm bảo logo có độ phân giải đủ cao để duy trì độ rõ nét khi chèn vào QR code. Độ phân giải ít nhất 200 DPI được khuyến nghị.

3.9 Tham số tùy chọn hình ảnh (tùy chọn)

  • imageSize: Kích thước logo (0.1 - 0.5, mặc định 0.4)
    hideBackgroundDots: Ẩn dots nền trong vùng logo (true/false)
    imageMargin: Margin của logo (pixels)

3.10 Tham số QR options (tùy chọn)

Ví dụ QR Code với các tùy chọn:

QR Code với màu xanh:

QR Blue https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&dotsColor=%230000FF&backgroundColor=%23FFFFFF&width=200&height=200

QR Code với logo cơ bản:

QR with Logo https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&logo=https://dummyimage.com/50/09f/fff.png&imageSize=0.3&hideBackgroundDots=true&width=200&height=200

QR Code với màu gradient (dots đỏ, corners xanh):

QR Multi-color https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&logo=https://dummyimage.com/50/09f/fff.png&imageSize=0.3&hideBackgroundDots=true&dotsColor=%23FF0000&cornersSquareColor=%230000FF&cornersDotColor=%2300FF00&width=200&height=200

QR Code với margin và format JPEG:

QR with Margin https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&margin=10&format=jpeg&width=200&height=200

QR Code với style rounded:

QR Rounded Style https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&dotsStyle=rounded&width=200&height=200

QR Code với style dots:

QR Dots Style https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&dotsStyle=dots&width=200&height=200

QR Code với style classy:

QR Classy Style https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&dotsStyle=classy&width=200&height=200

QR Code với style classy-rounded và logo:

QR Classy Rounded with Logo https://qr-artists.3si.vn/qrcode/generate/?data=HelloWorld&dotsStyle=classy-rounded&logo=https://dummyimage.com/50/09f/fff.png&imageSize=0.3&hideBackgroundDots=true&width=200&height=200

3.11 Rate limit

Để bảo vệ hệ thống và tránh lạm dụng, chúng tôi áp dụng cơ chế giới hạn tần suất truy cập (rate limit) cho các API tạo QR code.

  • Phạm vi áp dụng: Endpoint /qrcode/generate.
  • Giới hạn mặc định: 30 requests mỗi 5 phút cho mỗi địa chỉ IP.
  • Vượt giới hạn: API trả về mã 429 Too Many Requests cùng thông điệp "Too many requests. Please try again later.".
  • Khuyến nghị: Áp dụng backoff (chờ 60–120 giây) trước khi thử lại; gộp nhiều yêu cầu thành một batch hợp lý.
  • Nâng hạn mức: Nếu bạn có nhu cầu hợp lệ với lưu lượng cao hơn, vui lòng liên hệ quản trị để được cấp hạn mức phù hợp.