QivoQR kód stúdió
QR kód létrehozása

Az integrációért

Egy QR kód egyetlen kérésben

Küldje el a tartalmat és a tervezési beállításokat a GET-en keresztül, és kap egy PNG vagy SVG anélkül, hogy további szkennelést végezne.

Ingyenes és örökre.PNG, SVG és API – nincs díj vagy előfizetés.

Közvetlen QR kódok Nincsenek átirányítások, nincs lejárat.

GEThttps://qivo.umind.group/

Kérés és hitelesítés

Adja meg a kulcsot az X-API-Key címkéjében. szerkesztői ülések és cookie-k nem igényelnek. QIVO_API_KEY ebben a példában egy kliens környezet változója, amely a kulcsot tartalmazza.

Curl példa
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

Ha az integráció csak egy URL-t fogad el, adja át a kulcsot a kulcsparaméterben:

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

Az URL-kód paraméter értékek: # → %23, + → %2B, és & értéke alatt → %26.

Használja a HTTPS-t, és tartsa a kulcsot a szerverén. Ne tegye nyilvános JavaScript-be. A GET URL-ek kulcsainak és adatainak megjelenése a böngésző történetében vagy a szerver naplójában lehetséges; előnyben részesíti a kulcs címkéjét.

Kód példák

A kulcsot a QIVO_API_KEY környezeti változóba tárolja; ne adja meg az oldal kódjában.

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

Tervezési paraméterek

ParaméterTípuskövetelményértékek
X-API-Key / keystringSzükség
Titkos kulcs: fejjel vagy GET paraméter
datastringA szöveg és az URL
Szükséges tartalom text/url
contentTypestringOpcionális
texturlwifivcardwhatsapptelegramphoneviberemailsms
Alkalmazott: text
formatstringOpcionális
pngsvg
Alkalmazott: png
sizeintegerOpcionális
25651210242048
Alkalmazott: 1024
shapestringOpcionális
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
Alkalmazott: square
borderstringOpcionális
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
Alkalmazott: square
centerstringOpcionális
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
Alkalmazott: square
foreground / eyeColorstringOpcionális
#RRGGBB
Alkalmazott: #192b39
backgroundstringOpcionális
#RRGGBB
Alkalmazott: #ffffff
levelstringOpcionális
LMQH
Alkalmazott: M
quietZoneintegerOpcionális
0 - 12 modul
Alkalmazott: 4
logostringOpcionális
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
Alkalmazott: none
logoScaleintegerOpcionális
12–30
Alkalmazott: 24

A logóval rendelkező kódok automatikusan használják a H. szintet. a GET támogatja a beépített ikonokat; a fájlfelvételek és a külső logó URL-k nem támogathatók.

Tartalmi típusok

A mezők a tartalomtól függnekTípus. URL-ek esetében adjon ki egy teljes https:// vagy http:// címet. Telefonszámok esetében az ország kódot is tartalmazza.

contentTypeSzükséges területekOpcionális mezők
text / urldata
phone / viberphone
whatsapp / smsphonemessage
telegramtelegram
emailemailsubject, message
wifissid; wifiSecurity≠nopass → wifiPasswordwifiSecurity (WPA), wifiHidden (0)
vcardfirstName / lastNameorganization, jobTitle, phone, email, website, address
Telefonszám példája
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svg

Tűz válaszok

A sikeres válasz az a képfájl maga, JSON vessző nélkül. tartalomtípus az image/png vagy image/svg+xml. Hiba visszatér JSON:

JSON
{"error":"Invalid API key."}
  • 200 — A képet generálták.
  • 401 — hiányzó vagy érvénytelen kulcs.
  • 405 — Meg kell kapni.
  • 422 — érvénytelen paraméterek vagy hiányzó tartalom.
  • 429 — A határérték meghaladta; visszavonás után: 60.
  • 503 — Az API-hozzáférés nem konfigurálható, vagy a védelem ideiglenesen nem érhető el.
  • 500 — Belső generációs hiba.

Határok és érvényesítés

Az alapértelmezett korlátozás 60 kérés percenként IP. A kódolt tartalom 800 bájtra korlátozódik. PNG kimenetel támogatja a 2048 × 2048 px-t. SVG megőrzi a vektor alakjait.

Az API validálja a paraméter formátumokat, méreteket és kontrasztokat, de nem fut egy dekódert vagy ellenőrizze, hogy a QR-k szkennelnek.

Hozzáférés

Az API ingyenes, és mindig ingyenes marad. Töltse ki a rövid űrlapot, hogy egy titkos kulcsot kérjen.

A formanyomtatvány részleteit a Qivo csapatnak küldjük, hogy felülvizsgálja kérését és válaszát.