QivoQR kodo študija
Ustvarite QR kodo

Za integracijo

QR kodo v enem zahtevku

Dodajte generacijo kod QR v vašo storitev. pošljite nastavitve vsebine in zasnove prek GET in prejmete PNG ali SVG brez dodatnega skeniranja.

Brezplačno za vedno.PNG, SVG in API – brez pristojbin ali naročnin.

neposredni QR kodo. Brez preusmeritev, brez izteka.

GEThttps://qivo.umind.group/

Zahtevek in preverjanje

V naslovu X-API-Key prikaži svoj ključ. seje za urejanje in piškotki niso potrebni. QIVO_API_KEY v tem primeru je spremenljiva okolja za stranke, ki vsebuje vaš ključ.

Kornjev primer
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

Če vaša integracija sprejme le eno URL, premaknite ključ v ključni parameter:

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

Naslov prevzema prednost nad ključnim parametrom. URL-kode parametri vrednosti: # → %23, + → %2B, in & v vrednosti → %26.

Uporabite HTTPS in shranite ključ na strežniku. ne postavljajte ga v javni JavaScript. ključi in podatki v URL-jih GET se lahko pojavijo v zgodovini brskalnika ali v dnevnikih strežnika; raje naslov za vaš ključ.

Kodeks primeri

Shrani ključ v QIVO_API_KEY okoljski spremenljivek; ne objavljajte ga v kodo strani.

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())

Parametri oblikovanja

ParametriVrstazahtevovrednosti
X-API-Key / keystringPotrebno
Skrivnostni ključ: naslov ali parameter GET
datastringZa besedilo in url
Zahtevana vsebina za besedilo / URL
contentTypestringOpcionalno
texturlwifivcardwhatsapptelegramphoneviberemailsms
privzeto: text
formatstringOpcionalno
pngsvg
privzeto: png
sizeintegerOpcionalno
25651210242048
privzeto: 1024
shapestringOpcionalno
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
privzeto: square
borderstringOpcionalno
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
privzeto: square
centerstringOpcionalno
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
privzeto: square
foreground / eyeColorstringOpcionalno
#RRGGBB
privzeto: #192b39
backgroundstringOpcionalno
#RRGGBB
privzeto: #ffffff
levelstringOpcionalno
LMQH
privzeto: M
quietZoneintegerOpcionalno
Od 0 do 12 modulov
privzeto: 4
logostringOpcionalno
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
privzeto: none
logoScaleintegerOpcionalno
12–30
privzeto: 24

Kodi z logotipom samodejno uporabljajo raven H. GET podpira vgrajene ikone; datoteke naložb in zunanje logotipne URL-je niso podprte.

Vrste vsebine

Polja so odvisna od vsebineType. za URL-je, zagotovite celoten https:// ali http:// naslov. za telefonske številke, vključite kodo države.

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

Odgovori na ogenj

Uspešen odziv je datoteka slike sama, brez JSON vrzeli. vsebinski tip je slika/png ali slika/svg+xml. napake se vrnejo kot JSON:

JSON
{"error":"Invalid API key."}
  • 200 — Slika je ustvarjena.
  • 401 — Izgubljeni ali invalidni ključ.
  • 405 — GET je potreben.
  • 422 — Nepravilni parametri ali manjkajoča vsebina.
  • 429 — Stopnja je presegla; Retry-After: 60.
  • 503 — API dostop ni konfiguriran ali zaščita je začasno nedostopna.
  • 500 — Napaka v notranji generaciji.

Omejitve in validacija

Privzeto omejitev je 60 zahtev na minuto na IP. Šifrirana vsebina je omejena na 800 bajtov. PNG izhod podpira do 2048 × 2048 px. SVG ohranja vektorske oblike.

API potrjuje obliko parametrov, velikost in kontrast, vendar ne izvaja dekodera ali preverja, ali QR skenira.

Pridobite dostop

API je brezplačen in bo vedno brezplačen. izpolnite kratek obrazec, da zahtevate skrivni ključ.

Podatki o obrazcu bodo poslani ekipi Qivo, da pregleda vašo zahtevo in odgovor.