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.
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.svgZure integrazioak URL bat bakarrik onartzen badu, pasa gakoa gako-parametroan:
https://qivo.umind.group/?key=YOUR_SECRET_KEY&data=https%3A%2F%2Fumind.group&format=png&size=1024Ordeztu 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.
<?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);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()));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
| Parametroa | Mota | Betebeharrasame type | Balioak |
|---|---|---|---|
X-API-Key / key | string | Beharrezkoa | Gako sekretua: goiburua edo GET parametroa |
data | string | Testua eta urletarako | Testua/url-eko edukia behar da |
contentType | string | Aukerakoa | texturlwifivcardwhatsapptelegramphoneviberemailsmsLehenetsia: text |
format | string | Aukerakoa | pngsvgLehenetsia: png |
size | integer | Aukerakoa | 25651210242048Lehenetsia: 1024 |
shape | string | Aukerakoa | squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfettiLehenetsia: square |
border | string | Aukerakoa | squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafroughLehenetsia: square |
center | string | Aukerakoa | squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheartLehenetsia: square |
foreground / eyeColor | string | Aukerakoa | #RRGGBB Lehenetsia: #192b39 |
background | string | Aukerakoa | #RRGGBB Lehenetsia: #ffffff |
level | string | Aukerakoa | LMQHLehenetsia: M |
quietZone | integer | Aukerakoa | 0–12 moduluak Lehenetsia: 4 |
logo | string | Aukerakoa | nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamondLehenetsia: none |
logoScale | integer | Aukerakoa | 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.
| contentType | Beharrezko eremuak | Aukerako eremuak |
|---|---|---|
| text / url | data | — |
| phone / viber | phone | — |
| whatsapp / sms | phone | message |
| telegram | telegram | — |
| subject, message | ||
| wifi | ssid; wifiSecurity≠nopass → wifiPassword | wifiSecurity (WPA), wifiHidden (0) |
| vcard | firstName / lastName | organization, jobTitle, phone, email, website, address |
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svgAPIaren erantzunak
Erantzun arrakastatsua irudi-fitxategia bera da, JSON biltzailerik gabe. Eduki mota image/png edo image/svg+xml da. Erroreak JSON gisa itzultzen dira:
{"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.