Đọc mã vạch API
Đọc mọi mã vạch 1D / 2D trong ảnh PNG, JPEG: EAN-13 / 8, UPC, Code 128 / 39 / 93, ITF, QR, DataMatrix, PDF417, Aztec, kèm vị trí và quốc gia GS1.
Tải lên ảnh chụp hoặc ảnh quét, API trả về mọi mã vạch tìm thấy cùng định dạng, nội dung, toạ độ các góc và hướng xoay. Mã tuyến tính: EAN-13, EAN-8, UPC-A, UPC-E, ISBN, Code 128 (vận đơn), Code 39, Code 93, Codabar, ITF / ITF-14 và GS1 DataBar. Mã ma trận: QR, Micro QR, rMQR, DataMatrix (hộp thuốc, linh kiện), PDF417 (vé, giấy tờ), Aztec và MaxiCode. Mã bị xoay, lật gương hoặc in sáng trên nền tối đều được thử tự động; formats=ean13,code128 giới hạn loại mã cần tìm (nhanh hơn, ít nhận nhầm) và max giới hạn số mã.
Mã hàng hoá có kèm GTIN-14 và quốc gia theo tiền tố GS1 (893 = Việt Nam), cùng bảng với /v1/gtin-check. Mã QR được phân loại (URL, Wi-Fi, vCard…) và mã thanh toán VietQR được giải ra ngân hàng, số tài khoản, số tiền. Nội dung nhị phân trả về dạng base64.
Việc giải mã dùng zxing-cpp biên dịch sang WebAssembly (zxing-wasm, giấy phép MIT / Apache-2.0) chạy ngay trên máy chủ của chúng tôi: ảnh không gửi cho bên thứ ba và không được lưu. Ảnh lớn hơn 2400 px được thu nhỏ trước; tối đa 30 megapixel trong giới hạn dung lượng tệp của gói. Ảnh nét, đủ sáng, mỗi vạch rộng khoảng 2 px trở lên cho kết quả tốt nhất.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
file | body | file | có | Ảnh PNG hoặc JPEG (multipart, body thô hoặc file_base64). | |
formats | query|body | string | không | Các loại mã cần tìm, cách nhau bởi dấu phẩy: ean13, ean8, upca, upce, code128, code39, code93, codabar, itf, databar, qr, microqr, datamatrix, pdf417, aztec, maxicode, hoặc linear, matrix, retail. Mặc định: tất cả. | |
max | query|body | number | không | 20 | Số mã tối đa trả về (1–50). |
fast | query|body | boolean | không | false | Bỏ bước dò kỹ (chậm hơn); hợp với ảnh mã vạch sạch do máy tạo. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/barcode-read" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "0=@./my-file"const form = new FormData();
form.append('0', fileInput.files[0]);
const res = await fetch('https://apibox.io.vn/v1/barcode-read', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
body: form,
});
console.log(await res.json());import requests
res = requests.post(
"https://apibox.io.vn/v1/barcode-read",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"0": open("my-file", "rb")},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/barcode-read');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_POSTFIELDS => ['0' => new CURLFile('my-file')],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"found": true,
"count": 1,
"barcodes": [
{
"format": "EAN13",
"symbology": "EANUPC",
"text": "8934588012228",
"content_type": "Text",
"position": {
"top_left": {
"x": 33,
"y": 0
},
"top_right": {
"x": 317,
"y": 0
},
"bottom_right": {
"x": 317,
"y": 149
},
"bottom_left": {
"x": 33,
"y": 149
}
},
"orientation": 0,
"is_mirrored": false,
"is_inverted": false,
"gtin": {
"gtin14": "08934588012228",
"gs1_prefix": {
"prefix": "893",
"name": "GS1 Vietnam",
"country_code": "VN"
}
}
}
],
"image": {
"format": "png",
"width": 339,
"height": 165
},
"decoder": "zxing-cpp (zxing-wasm)"
}
Ứng dụng
- Đọc mã vạch sản phẩm từ ảnh trong app kho, kiểm giá
- Đối soát vận đơn (Code 128) từ ảnh chụp kiện hàng
- Đọc mã DataMatrix trên hộp thuốc
- Quét mã PDF417, QR trên vé và giấy tờ người dùng tải lên
Hỏi đáp
Một ảnh có nhiều mã thì sao?
API đọc được tới 50 mã (mặc định 20), mỗi mã kèm toạ độ các góc theo pixel của ảnh gốc.
Vì sao mã UPC-A trả về dạng EAN-13?
Mã UPC-A chính là EAN-13 bắt đầu bằng số 0; API trả về dạng 13 số, cũng là GTIN hợp lệ.
Nhận những định dạng ảnh nào?
PNG và JPEG. Ảnh HEIC / WebP cần chuyển đổi trước (ví dụ bằng /v1/image-resize).
API liên quan
Tạo mã QR
Tạo mã QR dạng PNG hoặc SVG chỉ với một request GET: link, văn bản, WiFi, danh thiếp vCard, e-mail, SMS, số điện thoại, toạ độ. Tuỳ chỉnh màu, kích thước.
|||Tạo mã vạch
Tạo mã vạch Code 128 cho tem nhãn, mã SKU, vận đơn chỉ với một request. Xuất SVG kèm dòng chữ hoặc PNG, tuỳ chỉnh chiều cao, độ rộng và màu sắc.
▭Ảnh placeholder
Lấy ảnh giữ chỗ đúng kích thước cho mockup và test: /v1/placeholder/600x400.png. Xuất SVG với chữ và màu tuỳ chỉnh, hoặc PNG một màu.