QivoQR Kodu Stüdyosu
QR kodu oluşturun

bütünleşmeler için

Bir QR kodu tek bir talep içinde

Hizmetinize QR kod üretimi ekleyin.GET aracılığıyla içerik ve tasarım ayarlarını gönderin ve ek bir tarama kontrolü olmadan bir PNG veya SVG alın.

Ücretsiz ve sonsuza dek.PNG, SVG ve API – ücret veya abonelik yok.

Doğrudan QR kodları Yönlendirme yok, geçerli değil.

GEThttps://qivo.umind.group/

İstek ve Doğrulama

Anahtarınızı X-API-Key başlığına girin. Düzenleyici oturumları ve çerezleri gerektirmez. QIVO_API_KEY bu örnekte anahtarınızı içeren bir müşteri ortamı değişkenidir.

Curl Örnekleri
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

Eğer entegrasyonunuz yalnızca bir URL'yi kabul ederse, anahtar parametrede anahtarı geçin:

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

Anahtarı anahtar parametreden öncülük alır. URL kodlama parametresi değerleri: # → %23, + → %2B, ve & içinde bir değer → %26.

HTTPS'i kullanın ve anahtarı sunucunuzda tutun. bunu kamu JavaScript'e koymayın. GET URL'lerinde anahtarlar ve veriler tarayıcı geçmişinde veya sunucunun günlüğünde görünebilir; anahtarınız için başlık tercih edin.

Kod örnekleri

Bu örnekleri sunucunuzda çalıştırın. anahtarı QIVO_API_KEY çevre değişkenine kaydedin; sayfa kodunda yayınlamayın.

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

Tasarım Parametreleri

ParametrelerTürİhtiyaçDeğerler
X-API-Key / keystringİhtiyaç
Gizli anahtar: başlık veya GET parametresi
datastringYazı ve URL
Yazı / URL için gerekli içerik
contentTypestringseçmeli
texturlwifivcardwhatsapptelegramphoneviberemailsms
Şanlıurfa: text
formatstringseçmeli
pngsvg
Şanlıurfa: png
sizeintegerseçmeli
25651210242048
Şanlıurfa: 1024
shapestringseçmeli
squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfetti
Şanlıurfa: square
borderstringseçmeli
squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafrough
Şanlıurfa: square
centerstringseçmeli
squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheart
Şanlıurfa: square
foreground / eyeColorstringseçmeli
#RRGGBB
Şanlıurfa: #192b39
backgroundstringseçmeli
#RRGGBB
Şanlıurfa: #ffffff
levelstringseçmeli
LMQH
Şanlıurfa: M
quietZoneintegerseçmeli
0 - 12 Modüller
Şanlıurfa: 4
logostringseçmeli
nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamond
Şanlıurfa: none
logoScaleintegerseçmeli
12–30
Şanlıurfa: 24

Logo ile kodlar otomatik olarak H seviyesini kullanır. GET yerleşik simgeleri destekler; dosya yükleme ve dış logo URL'leri desteklenmez.

içerik türleri

Alanlar içeriğe bağlıdırType. URL'ler için, tam bir https:// veya http:// adresi verin. telefon numaraları için, ülke kodunu içerir.

contentTypeGerekli alanlarSeçmeli alanlar
text / urldata
phone / viberphone
whatsapp / smsphonemessage
telegramtelegram
emailemailsubject, message
wifissid; wifiSecurity≠nopass → wifiPasswordwifiSecurity (WPA), wifiHidden (0)
vcardfirstName / lastNameorganization, jobTitle, phone, email, website, address
telefon örneği
https://qivo.umind.group/?key=YOUR_SECRET_KEY&contentType=phone&phone=%2B380671234567&format=svg

ateş yanıtları

Başarılı bir cevap, görüntü dosyasının kendisidir, bir JSON çubuk olmadan. içerik tipi görüntü/png veya görüntü/svg+xml'dir. hatalar JSON olarak iade edilir:

JSON
{"error":"Invalid API key."}
  • 200 — Görüntü oluşturuldu.
  • 401 — Kayıp veya eksik anahtar.
  • 405 — GET gereklidir.
  • 422 — Geçersiz parametreler veya eksik içerikler.
  • 429 — Fiyat sınırı aşılmıştır; Geri dönüş sonrası: 60.
  • 503 — API erişimi ayarlanmamıştır veya koruma geçici olarak kullanılamaz.
  • 500 — İç nesil hatası.

Sınırlar ve Validasyon

Varsayılan sınırı IP başına dakikada 60 taleptir. kodlanmış içerik 800 byte ile sınırlıdır. PNG çıkışı 2048 × 2048 px'a kadar destekler. SVG vektor şekilleri korur.

API parametreler biçimleri, boyutları ve kontrastları doğrulamaktadır, ancak bir dekoder çalıştırmaz veya QR tarama olup olmadığını kontrol etmez.

erişim alın

API ücretsizdir ve her zaman ücretsiz kalacaktır. kısa formu doldurun ve gizli bir anahtar isteyin.

Form ayrıntıları Qivo ekibine gönderilecek ve isteğinizi ve cevabınızı incelemek için gönderilecektir.