Integration के लिए
एक ही अनुरोध में QR कोड
अपनी सेवा में QR कोड जनरेशन जोड़ें. GET के माध्यम से सामग्री और डिजाइन सेटिंग्स भेजें और बिना किसी अतिरिक्त स्कैन चेक के एक PNG या SVG प्राप्त करें.
हमेशा के लिए, हमेशा के लिएPNG, SVG और API – कोई शुल्क या सदस्यता नहीं।
सीधे QR कोड कोई रिलीज नहीं, कोई रिलीज नहीं।
GEThttps://qivo.umind.group/
अनुरोध और सत्यापन
X-API-Key शीर्षक में अपना कुंजी दर्ज करें. संपादक सत्र और कुकीज़ की आवश्यकता नहीं है. QIVO_API_KEY इस उदाहरण में आपके कुंजी को शामिल करने वाले एक क्लाइंट पर्यावरण परिवर्तनीय है.
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यदि आपका एकीकरण केवल एक URL को स्वीकार करता है, तो कुंजी पैरामीटर में कुंजी पार करें:
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.
HTTPS का उपयोग करें और कुंजी को अपने सर्वर पर रखें. इसे सार्वजनिक जावास्क्रिप्ट में न रखें. GET URLs में कुंजी और डेटा ब्राउज़र इतिहास या सर्वर लॉग में दिखाई दे सकता है; अपने कुंजी के लिए शीर्षक को पसंद करें.
कोड उदाहरण
अपने सर्वर पर इन उदाहरणों को चलाएं. कुंजी को QIVO_API_KEY पर्यावरण चर में संग्रहीत करें; इसे पृष्ठ कोड में प्रकाशित न करें.
<?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())डिजाइन पैरामीटर
| पैरामीटर | प्रकार | आवश्यकताएँ | मूल्य |
|---|---|---|---|
X-API-Key / key | string | जरूरी | रहस्य कुंजी: शीर्षक या GET पैरामीटर |
data | string | पाठ और URL के लिए | पाठ / URL के लिए आवश्यक सामग्री |
contentType | string | वैकल्पिक | texturlwifivcardwhatsapptelegramphoneviberemailsmsवैकल्पिक: text |
format | string | वैकल्पिक | pngsvgवैकल्पिक: png |
size | integer | वैकल्पिक | 25651210242048वैकल्पिक: 1024 |
shape | string | वैकल्पिक | squaresoftroundeddotsleaf-softleafhorizontalverticalpointednotchedstardiamondxx-roundedplusplus-roundedheartsparkleconfettiवैकल्पिक: square |
border | string | वैकल्पिक | squarecircleroundedskewdrop-tldrop-brleafleaf-inner-brleaf-circleleaf-inner-tlsquare-circlesoft-tlsoft-brsoft-leafroughवैकल्पिक: square |
center | string | वैकल्पिक | squarecircleroundedskewroughdrop-tldrop-brleafgearstardiamondxx-roundedplusplus-roundedheartवैकल्पिक: square |
foreground / eyeColor | string | वैकल्पिक | #RRGGBB वैकल्पिक: #192b39 |
background | string | वैकल्पिक | #RRGGBB वैकल्पिक: #ffffff |
level | string | वैकल्पिक | LMQHवैकल्पिक: M |
quietZone | integer | वैकल्पिक | 0-12 मॉड्यूल वैकल्पिक: 4 |
logo | string | वैकल्पिक | nonewhatsapplinklocationwificredentialemailscanbellmenuscan-mescan-me-v2paypalbitcoinsparkplusdiamondवैकल्पिक: none |
logoScale | integer | वैकल्पिक | 12–30 वैकल्पिक: 24 |
लॉग के साथ कोड स्वचालित रूप से स्तर H का उपयोग करते हैं. GET अंतर्निहित आइकन का समर्थन करता है; फ़ाइल अपलोड और बाहरी लॉग URL का समर्थन नहीं किया जाता है.
सामग्री प्रकार
फ़ील्ड सामग्री के प्रकार पर निर्भर करते हैं. URLs के लिए, एक पूर्ण https:// या http:// पता प्रदान करें. फोन नंबरों के लिए, देश कोड शामिल है.
| contentType | आवश्यक क्षेत्र | वैकल्पिक क्षेत्र |
|---|---|---|
| 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=svgआग का जवाब
एक सफल प्रतिक्रिया छवि फ़ाइल स्वयं है, कोई JSON ड्राइपर के बिना. सामग्री प्रकार छवि/png या छवि/svg+xml है. त्रुटियों को JSON के रूप में वापस किया जाता है:
{"error":"Invalid API key."}- 200 — चित्र बनाया गया है।
- 401 — खोया हुआ या अक्षम कुंजी
- 405 — मिलने की जरूरत है।
- 422 — अयोग्य पैरामीटर या अनुपस्थित सामग्री।
- 429 — दर सीमा से अधिक; वापसी-अगला: 60।
- 503 — एपीआई एक्सेस स्थापित नहीं किया गया है या सुरक्षा अस्थायी रूप से उपलब्ध नहीं है।
- 500 — आंतरिक जनरल त्रुटि
सीमाएं और वैधता
डिफ़ॉल्ट सीमा IP प्रति मिनट 60 अनुरोध है. एन्कोडिंग सामग्री 800 बाइट्स तक सीमित है. PNG आउटपुट 2048 × 2048 पीएचएस तक का समर्थन करता है. SVG vector shapes को बनाए रखता है.
एपीआई पैरामीटर प्रारूपों, आकार और विपरीत को सत्यापित करता है, लेकिन एक डिकोडर चलाता नहीं है या जांच नहीं करता है कि क्या QR स्कैन करते हैं. एक कैमरे के साथ सजावटी संयोजन और मुद्रित आउटपुट का परीक्षण करें.