QivoКР код студио
Креирање КР кода

За интеграцију

КР код у једној захтеви

Додајте генерацију КР кода у вашу услугу.Пошаљите садржај и подешавања дизајна преко ГЕТ-а и добијате ПНГ или СВГ без додатне скенирања.

Бесплатно и заувек.ПНГ, СВГ и АПИ - нема накнада или претплата.

Директни КР кодови. Нема преусмеравања, нема истека.

GEThttps://qivo.umind.group/

Захтев и аутентификација

Проведите кључ у наслову КСНУМКС-АПИ-Кључ. сесије за уређивање и колачићи нису потребни. КИВО_АПИ_КЕИ у овом примјеру је променљива клијентска средина која садржи ваш кључ.

Керл Пример
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

Ако ваша интеграција прихвата само УРЛ, пренесите кључ у кључни параметар:

Пример УРЛ
https://qivo.umind.group/?key=YOUR_SECRET_KEY&data=https%3A%2F%2Fumind.group&format=png&size=1024

Замените YOUR_SECRET_KEY својим кључем. наслов узима предност над кључним параметром. URL-кодирање параметар вредности: # → %23, + → %2B, и & у вредности → %26.

Користите ХТТПС и држите кључ на вашем серверу.Не стављајте га у јавни Јаваскрипт. Кључеви и подаци у ГЕТ УРЛ-у могу се појавити у историји претраживача или серверским записима; преферирајте наслов за ваш кључ.

Код примера

Сачувајте кључ у променљивом окружењу QIVO_API_KEY; не објављујте га у коду странице.

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

Дизајн параметара

параметарТипПотребностVrednosti
X-API-Key / keystringПотребно
Тајни кључ: наслов или ГЕТ параметар
datastringЗа текст и URL
Потребан садржај за текст / УРЛ
contentTypestringОпционално
texturlwifivcardwhatsapptelegramphoneviberemailsms
дефолт: text
formatstringОпционално
pngsvg
дефолт: png
sizeintegerОпционално
25651210242048
дефолт: 1024
shapestringОпционално
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
дефолт: square
borderstringОпционално
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
дефолт: square
centerstringОпционално
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
дефолт: square
foreground / eyeColorstringОпционално
#RRGGBB
дефолт: #192b39
backgroundstringОпционално
#RRGGBB
дефолт: #ffffff
levelstringОпционално
LMQH
дефолт: M
quietZoneintegerОпционално
0 - 12 модула
дефолт: 4
logostringОпционално
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
дефолт: none
logoScaleintegerОпционално
12–30
дефолт: 24

Кодови са логотипом аутоматски користе ниво Х. ГЕТ подржава уграђене иконе; не подржавају се преузимања датотека и спољне URL-а логотипа.

Типови садржаја

Поље зависе од садржајаТип. за УРЛ-а, дајте комплетну https:// или http:// адресу. за телефонске бројеве, укључите код земље.

contentTypeПотребне пољеОпционално поље
text / urldata
phone / viberphone
whatsapp / smsphonemessage
telegramtelegram
emailemailsubject, message
wifissid; wifiSecurity≠nopass → wifiPasswordwifiSecurity (WPA), wifiHidden (0)
vcardfirstName / lastNameorganization, jobTitle, phone, email, website, address
Пример телефона
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svg

Опасни одговори

Успешан одговор је сам датотека слике, без ЈСОН-а. Тип садржаја је слика/пнг или слика/свг+кмл. Грешке се враћају као ЈСОН:

JSON
{"error":"Invalid API key."}
  • 200 — Слика је генерисана.
  • 401 — Изгубљени или невалидни кључ.
  • 405 — GET je potreban.
  • 422 — Неважећи параметри или недостајући садржај.
  • 429 — Превишена лимит стопе; Повратак-после: 60.
  • 503 — АПИ приступ није конфигурисан или заштита је привремено недоступна.
  • 500 — Грешка унутрашње генерације.

Ограничења и валидација

По правилу, ограничење је 60 захтева у минуту по ИП-у. кодирани садржај је ограничен на 800 бита. ПНГ излаз подржава до 2048 × 2048 пк. СВГ задржава векторске облике.

АПИ валидира параметарске формате, величину и контраст, али не покреће декодер или проверава да ли КР скенира.

Доступни

АПИ је бесплатан и увек ће остати бесплатан. попуните кратак формулар да бисте затражили тајни кључ.

Детаљи обрасца ће бити послати тиму КИВО да прегледа ваш захтев и одговор.