QivoQR koda studijas
Izveidojiet QR kodu

par integrāciju

QR kods vienā pieprasījumā

Sūtīt satura un dizaina iestatījumus caur GET un saņemt PNG vai SVG bez papildu skenēšanas pārbaudes.

Brīnišķīgi – mūžīgiPNG, SVG un API – bez maksas vai abonēšanas.

Tiešie QR kodi. Neatgriežoties, nav izbeigšanas.

GEThttps://qivo.umind.group/

Pieprasījums un autentifikācija

Ievadiet savu atslēgu X-API-Key sarunā. redaktora sesijas un sīkdatnes nav nepieciešamas. QIVO_API_KEY šajā piemērā ir klientu vides mainīga, kurā ir jūsu atslēga.

Kārļa piemērs
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

Ja jūsu integrācija pieņem tikai URL, noklikšķiniet uz atslēgas parametru:

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

Aizstāt YOUR_SECRET_KEY ar savu atslēgu. uzvārds ir priekšroka par atslēgas parametrus. URL kodēšanas parametrus vērtības: # → %23, + → %2B, un & vērtības vidū → %26.

Izmantojiet HTTPS un glabājiet atslēgu savā serverī. neievada to publiskajā JavaScript. atslēgas un datus GET URL var parādīties pārlūkprogrammas vēstures vai servera logos; izvēlieties atslēgas galveno.

Kods piemēri

Izveidojiet šos piemērus savā serverī. glabājiet atslēgu QIVO_API_KEY vides mainīgajā; nepublicējiet to lapas kodā.

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

Dizaina parametri

ParametriTipsPrasībasvērtības
X-API-Key / keystringVajadzīgs
Secret key: header vai GET parametrs
datastringSaraksts un URL
Nepieciešamais saturs tekstam / URL
contentTypestringOpcionāli
texturlwifivcardwhatsapptelegramphoneviberemailsms
Defaultā: text
formatstringOpcionāli
pngsvg
Defaultā: png
sizeintegerOpcionāli
25651210242048
Defaultā: 1024
shapestringOpcionāli
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
Defaultā: square
borderstringOpcionāli
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
Defaultā: square
centerstringOpcionāli
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
Defaultā: square
foreground / eyeColorstringOpcionāli
#RRGGBB
Defaultā: #192b39
backgroundstringOpcionāli
#RRGGBB
Defaultā: #ffffff
levelstringOpcionāli
LMQH
Defaultā: M
quietZoneintegerOpcionāli
0 - 12 moduli
Defaultā: 4
logostringOpcionāli
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
Defaultā: none
logoScaleintegerOpcionāli
12–30
Defaultā: 24

Kodi ar logotipu automātiski izmanto H līmeni. GET atbalsta iebūvētas ikonas; failu lejupielādes un ārējie logotipa URL netiek atbalstīti.

satura veidi

Lauki ir atkarīgi no saturaType. URL adresēm, sniegt pilnu https:// vai http:// adresi.

contentTypeNepieciešamie laukiOpcionālie lauki
text / urldata
phone / viberphone
whatsapp / smsphonemessage
telegramtelegram
emailemailsubject, message
wifissid; wifiSecurity≠nopass → wifiPasswordwifiSecurity (WPA), wifiHidden (0)
vcardfirstName / lastNameorganization, jobTitle, phone, email, website, address
Telefona piemērs
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svg

Ugunsdzēsības atbildes

Veiksmīgs atbilde ir paša attēla faila, bez JSON vāciņa. satura veids ir attēls/png vai attēls/svg+xml. kļūdas tiek atgrieztas kā JSON:

JSON
{"error":"Invalid API key."}
  • 200 — Attēls ir radīts.
  • 401 — Nepareiza vai nepareiza atslēga.
  • 405 — GET ir nepieciešama.
  • 422 — Nepareizi parametri vai trūkstošs saturs.
  • 429 — Maksimālais rādītājs pārsniegts; Atgriešanās pēc: 60.
  • 503 — API piekļuve nav konfigurēta vai aizsardzība ir pagaidu nepieejama.
  • 500 — Iekšējās paaudzes kļūda.

ierobežojumi un validācija

Paredzamā robeža ir 60 pieprasījumi minūtē IP. Kodēts saturs ir ierobežots līdz 800 bitu. PNG iznākums atbalsta līdz 2048 × 2048 px. SVG saglabā vectora formas.

API validē parametru formātus, izmēru un kontrastu, bet neieslēdz dekoderu vai pārbauda, vai QR skenē.

Iegūt piekļuvi

API ir bezmaksas un vienmēr paliks bezmaksas. aizpildiet īsu veidlapu, lai pieprasītu slepenu atslēgu.

Visi trīs lauki ir nepieciešami. veidlapas detaļas tiks nosūtītas Qivo komandai, lai pārskatītu jūsu pieprasījumu un atbildi.