Langsung ke konten
Tutorial

Hasilkan kode QR dengan REST API: satu POST, SVG instan

| 5 min read

Hasilkan kode QR dari URL atau teks apa pun dengan satu permintaan POST. Mengembalikan SVG dalam waktu kurang dari 100 md. Tingkat gratis, tanpa pemasangan perpustakaan, 6 parameter yang dapat dikonfigurasi.

QR code displayed on a phone screen
Photo by Markus Winkler on Unsplash

Pembayaran e-niaga Anda perlu menampilkan kode QR untuk setiap URL pelacakan pesanan. Anda bisa menginstal perpustakaan QR sisi klien, mengkonfigurasi elemen kanvas, menangani siklus hidup rendering, dan tambahkan 30-40 KB ke paket Anda. Atau Anda dapat mengirim satu permintaan POST dan mendapatkan kembali SVG.

Botoi itu /v1/qr/generate titik akhir mengubah string atau URL apa pun menjadi QR yang dapat dipindai kode. Ini mengembalikan SVG mentah yang dapat Anda sematkan dalam HTML, menyimpan ke file, atau streaming ke PDF. Tidak ada npm paket, tidak ada ketergantungan kanvas, tidak ada langkah pembuatan.

Panggilan API

Kirim permintaan POST dengan teks yang ingin Anda enkode:

Responsnya adalah gambar SVG mentah (Tipe Konten: image/svg+xml):

SVG tersebut terlihat tajam pada ukuran apa pun karena berbasis vektor. Jatuhkan ke dalam <img> tag, masukkan ke dalam HTML Anda, atau kirimkan ke file. Tidak ada penguraian JSON dibutuhkan; badan responsnya adalah SVG itu sendiri.

Parameter

Titik akhir menerima enam parameter. Hanya text diperlukan:

  • teks (string, wajib diisi): URL atau teks yang akan dikodekan. Mendukung hingga ~4,296 karakter alfanumerik.
  • ukuran (angka, default 300): Lebar dan tinggi dalam piksel. Kisaran: 50 hingga 2000.
  • warna gelap (string hex, default #000000): Warna latar depan modul QR.
  • warna terang (string hex, default #ffffff): Warna latar belakang.
  • tingkat koreksi kesalahan (string, bawaan M): Salah satu dari L (7%), M (15%), Q (25%), atau H (30%). Level yang lebih tinggi mentolerir lebih banyak kerusakan tetapi menghasilkan kode yang lebih padat.
  • batas (angka, default 4): Zona tenang di sekitar kode QR dalam modul. Rentang: 0 hingga 20.

Berikut permintaan menggunakan keenam parameter:

Contoh praktis

Kode QR menu restoran

Cetak kode QR di tenda meja sehingga pengunjung dapat melihat menu lengkap di ponsel mereka. Kesalahan koreksi H menangani lecet dan noda kopi.

Kode QR tiket acara

Encode ID tiket unik di setiap kode QR. Staf memindainya di pintu dengan ponsel pintar apa pun kamera. Koreksi kesalahan Q memberikan keseimbangan yang baik antara kepadatan dan toleransi kerusakan untuk lencana yang dicetak.

Kode QR tautan pembayaran

Hasilkan tautan pembayaran yang dapat dipindai untuk faktur, tanda terima, atau tampilan tempat penjualan. Itu pelanggan memindainya dan membuka halaman checkout Stripe.

Pembuatan batch dalam satu lingkaran

Butuh kode QR untuk katalog produk? Ulangi daftar URL dan simpan setiap SVG ke disk. Skrip bash ini menghasilkan empat kode QR dalam waktu kurang dari satu detik:

Keluaran:

Contoh Node.js: kode QR untuk pelacakan pesanan

Server Ekspres ini memperlihatkan a /orders/:id/qr titik akhir. Saat Anda checkout halaman atau templat email konfirmasi mengambil URL ini, ia mendapatkan kembali kode QR SVG yang menunjuk ke halaman pelacakan pesanan.

Penggunaan:

Titik akhir menetapkan header cache 24 jam sehingga permintaan berulang untuk pesanan yang sama tidak tercapai API lagi. Dalam produksi, tambahkan Redis atau CDN di depan rute ini untuk lalu lintas yang lebih tinggi.

Pustaka QR sisi klien vs API: kapan harus menggunakan yang mana

Gunakan API saat Anda memerlukan pembuatan sisi server (email, PDF, tanda terima), kapan pun Anda mau jaga agar paket frontend Anda tetap kecil, atau saat Anda membuat kode QR di alur kerja backend seperti pemrosesan pesanan atau penerbitan tiket.

Gunakan pustaka sisi klien saat aplikasi Anda perlu bekerja secara offline, saat latensi lebih penting daripada ukuran bundel (render di bawah 5 md), atau saat Anda membuat alat tempat pengguna menghasilkan Kode QR secara interaktif di browser dan Anda tidak ingin bergantung pada permintaan jaringan untuk setiap penekanan tombol.

Poin-poin penting

Tingkat gratis dengan 5 permintaan per menit mencakup pengembangan, pembuatan prototipe, dan volume rendah penggunaan produksi. Untuk pembuatan batch atau aplikasi dengan lalu lintas tinggi, tambahkan kunci API Anda di Authorization: Bearer tajuk. Periksa dokumen API untuk referensi titik akhir lengkap.

FAQ

Apakah saya memerlukan kunci API untuk menghasilkan kode QR?
Tidak. Tingkat gratis memungkinkan akses anonim dengan 5 permintaan per menit dengan pembatasan tarif berbasis IP. Untuk aplikasi produksi atau pembuatan batch, tambahkan kunci API di header Otorisasi untuk menghapus batas kapasitas.
Bisakah saya mendapatkan PNG, bukan SVG?
Setel parameter format ke "base64" untuk menerima kode QR sebagai URI data yang dapat Anda sematkan dalam tag img. API mengembalikan keluaran berbasis SVG dalam semua kasus karena SVG tidak bergantung pada resolusi dan menghasilkan hasil yang tajam pada ukuran apa pun. Konversikan ke sisi klien PNG dengan elemen kanvas jika Anda memerlukan file raster.
Berapa panjang data maksimum untuk kode QR?
Kode QR mendukung hingga sekitar 4.296 karakter alfanumerik atau 2.953 byte data biner. Sebagian besar URL dan string pendek termasuk dalam batasan ini. Jika Anda mencapai batas maksimal, perpendek URL Anda terlebih dahulu menggunakan pemendek tautan.
Tingkat koreksi kesalahan manakah yang harus saya gunakan?
Gunakan M (15% pemulihan) untuk layar digital dan L (7%) jika kepadatan kode penting. Pilih Q (25%) atau H (30%) untuk bahan cetakan yang mungkin tergores, terlipat, atau sebagian tertutup lapisan logo.
Bisakah saya menyesuaikan warna kode QR?
Ya. Berikan darkColor dan lightColor sebagai nilai hex (misalnya, "#1a1a2e" dan "#ffffff"). Pastikan terdapat kontras yang cukup antara kedua warna agar pemindai dapat membaca kode dengan andal.

Mulai membangun dengan botoi

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