QivoQR kode- estudioa
Sortu QR kodea

Integrazioak egiteko

QR kodea eskaera bakar batean

Gehitu QR kode sorrera zure zerbitzura. Bidali edukina eta diseinu ezarpenak GET bidez eta jaso PNG edo SVG eskaneatze egiaztapen gehigarririk gabe.

Betiko.PNG, SVG eta APIa: ez dago kuotarik edo harpidetzarik.

Zuzeneko QR kodeak. Berbideraketarik ez. Iraungitzerik ez.

GEThttps://qivo.umind.group/

Eskaera eta autentifikazioa

Zure gakoa X-API-Key goiburuan pasa. Editorearen saioak eta cookie-ak ez dira beharrezkoak. Adibidea honetan QIVO_API_GAI_GAIECIOC ingurune-aldagaia da, eta zure gakoa dagoen bezeroaren ingurune-aldagaia.

Kiribilaren adibidea
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

Zure integrazioak URL bat bakarrik onartzen badu, pasa gakoa gako-parametroan:

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

Ordeztu zure gakoarekin SECRET_GAKOA. Goiburua gako-parametroaren gainetik lehenesten da. Goiburua gako-parametroaren balioak: # →% 23, + →% 2B, eta & balio baten barruan. →% 26.

Erabili HTTPS eta mantendu gakoa zerbitzarian. Ez idatzi JavaScript publikotan. GET URLetako gakoak eta datuak arakatzailearen historian edo zerbitzari-erregistroetan ager daitezke; nahiago dut zure gako-goiburua.

Kodearen adibideak

Exekutatu adibide hauek zerbitzarian. Gorde gakoa QIVO_API ingurune-aldagaian; ez argitaratu orri-kodean.

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

Diseinuaren parametroak

ParametroaMotaBetebeharrasame typeBalioak
X-API-Key / keystringBeharrezkoa
Gako sekretua: goiburua edo GET parametroa
datastringTestua eta urletarako
Testua/url-eko edukia behar da
contentTypestringAukerakoa
texturlwifivcardwhatsapptelegramphoneviberemailsms
Lehenetsia: text
formatstringAukerakoa
pngsvg
Lehenetsia: png
sizeintegerAukerakoa
25651210242048
Lehenetsia: 1024
shapestringAukerakoa
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
Lehenetsia: square
borderstringAukerakoa
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
Lehenetsia: square
centerstringAukerakoa
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
Lehenetsia: square
foreground / eyeColorstringAukerakoa
#RRGGBB
Lehenetsia: #192b39
backgroundstringAukerakoa
#RRGGBB
Lehenetsia: #ffffff
levelstringAukerakoa
LMQH
Lehenetsia: M
quietZoneintegerAukerakoa
0–12 moduluak
Lehenetsia: 4
logostringAukerakoa
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
Lehenetsia: none
logoScaleintegerAukerakoa
12–30
Lehenetsia: 24

Logogo batek H maila automatikoki erabiltzen du. GET- ek ikonoak onartzen ditu, fitxategiak kargatzeak eta kanpoko logoen URL- ak ez daude onartuta.

Eduki motak

Eremuak eduki motaren mendekoak dira. URLentzat, https:// edo http:// helbide osoa ematen dute. Telefono-zenbakien kasuan, sartu herrialdearen kodea.

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

APIaren erantzunak

Erantzun arrakastatsua irudi-fitxategia bera da, JSON biltzailerik gabe. Eduki mota image/png edo image/svg+xml da. Erroreak JSON gisa itzultzen dira:

JSON
{"error":"Invalid API key."}
  • 200 — Irudia sortuta.
  • 401 — Gakoa falta da edo baliogabea da.
  • 405 — GET behar da.
  • 422 — Baliogabeko parametroak edo edukia falta da.
  • 429 — Tasa-muga gainditu da; Berriz saiatu: 60.
  • 503 — APIaren atzipena ez dago konfiguratuta edo babesa eskuragarri aldi baterako.
  • 500 — Sorrerako barneko errorea.

Mugak eta balidazioa

Muga lehenetsia minutuko 60 eskaerak da IPko. Kodetutako edukia 800 byte arte mugatua dago. PNG irteerak 2048 x 2048ra onartzen ditu. SVG bektore-formak mantentzen ditu.

APIak parametroen formatu, tamaina eta kontrastea balidatzen ditu, baina ez du deskodetzailerik exekutatzen, edo QR- ren eskaneatzerik egiten duen begiratzen du. Probatu konbinazio apaingarriak eta inprimatutako irteera kamera batekin.

Lortu sarbidea

APIa librea da eta beti egongo da libre. Osatu era laburra gako sekretu bat eskatzeko.

Hiru eremu behar dira. Inprimakiaren xehetasunak Qvido taldera bidaliko dira zure eskaera eta erantzuna berrikusteko.