QivoKode QR Studio
Membuat kode QR

Untuk integrasi

Kode QR dalam satu permintaan

Tambah generasi kode QR ke layanan Anda. mengirimkan pengaturan konten dan desain melalui GET dan menerima PNG atau SVG tanpa pemeriksaan pemindaian tambahan.

bebas untuk selamanya.PNG, SVG dan API – tidak ada biaya atau langganan.

dengan kode QR langsung. Tidak ada redirect, tidak ada habisnya.

GEThttps://qivo.umind.group/

Permintaan dan autentikasi

Tuliskan kunci Anda di kepala X-API-Key. sesi editor dan cookie tidak diperlukan. QIVO_API_KEY dalam contoh ini adalah variabel lingkungan klien yang mengandung kunci Anda.

contoh curl
curl --fail --show-error --get 'https://qivo.umind.group/' \
  --header "X-API-Key: $QIVO_API_KEY" \
  --data-urlencode 'data=https://umind.group' \
  --data-urlencode 'contentType=url' \
  --data-urlencode 'format=svg' \
  --data-urlencode 'shape=rounded' \
  --data-urlencode 'size=1024' \
  --output qr-code.svg

Jika integrasi Anda hanya menerima URL, masukkan kunci ke parameter kunci:

Contoh URL
https://qivo.umind.group/?key=YOUR_SECRET_KEY&data=https%3A%2F%2Fumind.group&format=png&size=1024

Mengganti YOUR_SECRET_KEY dengan kunci Anda. tajuk mengambil keunggulan di atas parameter kunci. nilai parameter kode URL: # → %23, + → %2B, dan & dalam nilai → %26.

Gunakan HTTPS dan simpan kunci pada server Anda.Jangan letakkan kunci di JavaScript publik.Kunci dan data dalam URL GET mungkin muncul dalam sejarah browser atau log server; prefer the headline for your key.

Contoh kode

Simpan kunci di variabel lingkungan QIVO_API_KEY; jangan menerbitkannya dalam kode halaman.

qr-code.php
<?php
$key = getenv('QIVO_API_KEY');
if (!$key) throw new RuntimeException('Set QIVO_API_KEY');
$query = http_build_query([
    'data' => 'https://umind.group', 'format' => 'svg',
    'shape' => 'rounded', 'size' => 1024,
], '', '&', PHP_QUERY_RFC3986);
$curl = curl_init('https://qivo.umind.group/?' . $query);
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: ' . $key],
    CURLOPT_TIMEOUT => 30,
]);
$image = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
if ($image === false || $status !== 200) {
    throw new RuntimeException('Qivo request failed: ' . $status);
}
file_put_contents('qr-code.svg', $image);
qr-code.mjs
import { writeFile } from 'node:fs/promises';
const key = process.env.QIVO_API_KEY;
if (!key) throw new Error('Set QIVO_API_KEY');
const url = new URL('https://qivo.umind.group/');
url.search = new URLSearchParams({
  data: 'https://umind.group', format: 'svg',
  shape: 'rounded', size: '1024'
});
const response = await fetch(url, {
  headers: { 'X-API-Key': key },
  signal: AbortSignal.timeout(30000)
});
if (!response.ok) throw new Error(`Qivo request failed: ${response.status}`);
await writeFile('qr-code.svg', Buffer.from(await response.arrayBuffer()));
qr-code.py
import os
from pathlib import Path
from urllib.parse import urlencode
from urllib.request import Request, urlopen

key = os.environ['QIVO_API_KEY']
query = urlencode({
    'data': 'https://umind.group', 'format': 'svg',
    'shape': 'rounded', 'size': 1024,
})
request = Request('https://qivo.umind.group/?' + query,
                  headers={'X-API-Key': key})
# urlopen raises HTTPError for unsuccessful HTTP responses.
with urlopen(request, timeout=30) as response:
    Path('qr-code.svg').write_bytes(response.read())

Parameter desain

ParameterTipeKebutuhanNilai
X-API-Key / keystringDiperlukan
Kunci rahasia: header atau parameter GET
datastringUntuk teks dan url
Informasi yang dibutuhkan untuk text/url
contentTypestringPilihan
texturlwifivcardwhatsapptelegramphoneviberemailsms
yang default: text
formatstringPilihan
pngsvg
yang default: png
sizeintegerPilihan
25651210242048
yang default: 1024
shapestringPilihan
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
yang default: square
borderstringPilihan
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
yang default: square
centerstringPilihan
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
yang default: square
foreground / eyeColorstringPilihan
#RRGGBB
yang default: #192b39
backgroundstringPilihan
#RRGGBB
yang default: #ffffff
levelstringPilihan
LMQH
yang default: M
quietZoneintegerPilihan
0 - 12 modul
yang default: 4
logostringPilihan
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
yang default: none
logoScaleintegerPilihan
12–30
yang default: 24

Kod dengan logo secara otomatis menggunakan level H. GET mendukung ikon terintegrasi; file upload dan URL logo eksternal tidak didukung.

Jenis konten

Untuk URL, berikan alamat lengkap https:// atau http://. Untuk nomor telepon, termasuk kode negara.

contentTypeBidang yang diperlukanBidang optional
text / urldata
phone / viberphone
whatsapp / smsphonemessage
telegramtelegram
emailemailsubject, message
wifissid; wifiSecurity≠nopass → wifiPasswordwifiSecurity (WPA), wifiHidden (0)
vcardfirstName / lastNameorganization, jobTitle, phone, email, website, address
Contoh telepon
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svg

Tanggapan api

Jawaban yang sukses adalah file gambar itu sendiri, tanpa pengikat JSON.Tipe konten adalah image/png atau image/svg+xml.

JSON
{"error":"Invalid API key."}
  • 200 — Gambar yang dihasilkan.
  • 401 — kekurangan atau kekurangan kunci.
  • 405 — Dapatkan yang diperlukan.
  • 422 — Parameter yang tidak sah atau konten yang hilang.
  • 429 — Rata-rata yang melebihi batas; Retry-After: 60.
  • 503 — Akses API tidak terkonfigurasi atau perlindungan sementara tidak tersedia.
  • 500 — Kesalahan Generasi Internal

Batas dan validasi

Batas default adalah 60 permintaan per menit per IP. Kandungan terkod terbatas pada 800 byte. output PNG mendukung hingga 2048 × 2048 px. SVG mempertahankan bentuk vektor.

API validasi format parameter, ukuran dan kontras, tetapi tidak menjalankan decoder atau memeriksa apakah QR scans.

Dapatkan Akses

API gratis dan akan selalu bebas. lengkapkan formulir singkat untuk meminta kunci rahasia.

Semua tiga bidang diperlukan. rincian formulir akan dikirim ke tim Qivo untuk meninjau permintaan dan jawaban Anda.