Langsung ke konten
Tutorial

API generator kode batang: satu POST, keluaran SVG, enam format

| 5 min read

Hasilkan kode batang dengan satu panggilan API. Mendukung Code128, EAN-13, EAN-8, UPC-A, ITF-14, dan MSI. Mengembalikan SVG yang dapat Anda sematkan dalam label, faktur, atau PDF.

Close-up of barcodes on product packaging
Photo by Markus Winkler on Unsplash

Aplikasi gudang Anda mencetak label pengiriman. Setiap label memerlukan kode batang Code128 untuk pelacakan nomor. Anda dapat memasang perpustakaan kode batang, merender ke kanvas, mengekspor sebagai PNG, dan menyematkannya templat label Anda. Atau Anda dapat mengirim satu POST dan mendapatkan kembali SVG.

Botoi itu /v1/barcode titik akhir mengkodekan data ke dalam enam format kode batang dan mengembalikannya string SVG di dalam respons JSON. Tidak ada paket npm. Tidak ada langkah membangun. Tidak ada ketergantungan kanvas.

Panggilan API

Kirim permintaan POST dengan data dan format:

Responsnya membungkus SVG dalam amplop JSON standar:

Ekstrak svg bidang, jatuhkan ke dalam <img> tag, sebariskan dalam HTML, atau menyalurkannya ke file. SVG terlihat tajam pada ukuran apa pun karena berbasis vektor; tidak ada artefak rasterisasi pada 300 DPI atau lebih tinggi.

Parameter

Titik akhir menerima lima parameter. Hanya data diperlukan:

  • data (string, wajib diisi): Nilai yang akan dikodekan. Untuk EAN-13, berikan 13 digit. Untuk Code128, teruskan string ASCII apa pun yang dapat dicetak.
  • format (string, bawaan code128): Salah satu code128, ean-13, ean-8, upc-a, itf-14, atau msi.
  • lebar (angka, default 200): Lebar gambar dalam piksel. Kisaran: 50 hingga 2000.
  • tinggi (angka, default 80): Tinggi gambar dalam piksel. Kisaran: 20 hingga 1000.
  • tampilkan_teks (boolean, default true): Apakah akan merender nilai yang dikodekan sebagai teks di bawah bilah.

Berikut kode batang Code128 dengan semua parameter disetel:

Contoh praktis

Pembuatan label pengiriman

Encode nomor pelacakan sebagai Kode128 untuk slip pengepakan dan label pengiriman. Kode128 menangani string alfanumerik campuran, jadi nomor pelacakan seperti "1Z999AA10123456784" berfungsi tanpa pemrosesan awal.

Sistem manajemen inventaris

Cetak label Code128 untuk tempat sampah dan rak gudang. Staf memindainya dengan pembaca genggam saat pengambilan dan pengepakan. Kode batang mengkodekan jalur lokasi lengkap: gudang, rak, tempat sampah.

Label produk ritel (EAN-13)

EAN-13 adalah standar internasional untuk produk ritel. Lulus GTIN 13 digit dan API mengembalikan ukuran SVG untuk label tepi rak standar.

Pembuatan batch Node.js untuk katalog produk

Hasilkan kode batang untuk seluruh katalog produk secara paralel. Skrip ini menjalankan empat permintaan secara bersamaan dan mengumpulkan string SVG:

Keluaran:

Untuk katalog dengan ratusan produk, batch dalam kelompok yang terdiri dari 20-50 orang agar tetap dalam batas tarif. Batas tingkat gratis adalah 5 permintaan per menit; kunci API menghilangkan batas itu.

Contoh Node.js: label barcode untuk pemenuhan pesanan

Server Ekspres ini memperlihatkan a /labels/:orderId titik akhir. Ketika pemenuhan Anda sistem atau printer label mengambil URL ini, ia mendapatkan kembali kode batang SVG yang mengkode pesanan tersebut nomor pelacakan.

Penggunaan:

Header cache 24 jam mencegah duplikat panggilan API untuk pesanan yang sama. Dalam produksi, tambahkan cache CDN atau Redis di depan rute ini.

Kapan menggunakan format yang mana

Kode128 adalah default karena suatu alasan: kode ini mengkodekan rentang karakter terluas dan berfungsi sebagian besar sistem internal. Beralih ke EAN-13 atau UPC-A ketika produk Anda memerlukan pemindaian ritel kode batang. Gunakan ITF-14 untuk label karton luar di bidang logistik. MSI cocok dengan pelabelan rak gudang di mana Anda memerlukan kode numerik saja dengan digit pemeriksa sederhana.

Poin-poin penting

Tingkat gratis dengan 5 permintaan per menit mencakup pengembangan, pengujian, dan label volume rendah pencetakan. Untuk pembuatan batch atau sistem pemenuhan lalu lintas tinggi, teruskan kunci API Anda di Authorization: Bearer tajuk. Periksa dokumen API untuk referensi titik akhir lengkap.

FAQ

Apakah saya memerlukan kunci API untuk menghasilkan kode batang?
Tidak. Tingkat gratis memungkinkan akses anonim dengan 5 permintaan per menit dengan pembatasan tarif berbasis IP. Untuk beban kerja produksi, tambahkan kunci API di header Otorisasi untuk menaikkan batas.
Bisakah saya mendapatkan PNG, bukan SVG?
API mengembalikan SVG di dalam respons JSON. SVG dapat diskalakan ke resolusi apa pun tanpa pikselasi, sehingga ideal untuk printer label termal pada 203 atau 300 DPI. Untuk mengonversi ke PNG, lakukan rasterisasi SVG dengan elemen sharp, Inkscape, atau kanvas browser.
Karakter apa yang dapat saya kodekan di Code128?
Code128B mendukung karakter ASCII yang dapat dicetak dari spasi (0x20) hingga tilde (0x7E). Ini mencakup huruf besar dan kecil, angka, tanda baca, dan simbol umum. Untuk data numerik saja seperti GTIN, gunakan EAN-13, EAN-8, atau UPC-A.
Bagaimana cara menyematkan kode batang SVG dalam PDF?
Ekstrak bidang svg dari respons JSON dan teruskan ke perpustakaan PDF Anda. Perpustakaan seperti Puppeteer, wkhtmltopdf, dan WeasyPrint merender SVG sebaris secara asli. Untuk reportlab atau jsPDF, konversikan SVG ke PNG terlebih dahulu dengan sharp atau canvas.
Berapa panjang data maksimum?
Code128 dapat menyandikan string hingga sekitar 80 karakter sebelum kode batang menjadi terlalu lebar untuk printer label standar. EAN-13 ditetapkan pada 13 digit, EAN-8 pada 8 digit, UPC-A pada 12, dan ITF-14 pada 14. Buat data tetap singkat untuk pemindaian yang andal.

Mulai membangun dengan botoi

150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.