QivoQR Κώδικα Σπουδών
Δημιουργία QR κώδικα

Για την ενσωμάτωση

Κωδικός QR σε ένα μόνο αίτημα

Προσθήκη γενιάς κωδικού QR στην υπηρεσία σας. Στείλτε τις ρυθμίσεις περιεχομένου και σχεδιασμού μέσω GET και λάβετε ένα PNG ή SVG χωρίς περαιτέρω έλεγχο σάρωσης.

Δωρεάν για πάντα.PNG, SVG και API – χωρίς χρεώσεις ή συνδρομές.

Κωδικός QR. Καμία αναδρομή, καμία λήξη.

GEThttps://qivo.umind.group/

Αίτηση και Πιστοποίηση

Πληκτρολογήστε το κλειδί σας στον τίτλο κλειδιού X-API. Δεν απαιτούνται συνεδρίες επεξεργασίας και cookies. 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, μεταβείτε το κλειδί στη βασική παράμετρο:

Το παράδειγμα του 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 και κρατήστε το κλειδί στον διακομιστή σας. Μην το τοποθετείτε στο δημόσιο JavaScript. Τα κλειδιά και τα δεδομένα στις URL GET μπορεί να εμφανιστούν στην ιστορία του προγράμματος περιήγησης ή στα αρχεία καταγραφής του διακομιστή. προτιμάτε τον τίτλο για το κλειδί σας.

Παραδείγματα κώδικα

Αποθηκεύστε το κλειδί στο 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())

Παραμέτρους σχεδιασμού

ΠαράμετροςΤύποςΑπαιτήσειςΑξίες
X-API-Key / keystringΑπαιτείται
Μυστικό κλειδί: επικεφαλής ή παράμετρο GET
datastringΤο κείμενο και το URL
Απαραίτητο περιεχόμενο για κείμενο/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

Οι κωδικοί με ένα λογότυπο χρησιμοποιούν αυτόματα το επίπεδο H. Το GET υποστηρίζει ενσωματωμένα εικονίδια, δεν υποστηρίζονται ανεβάσεις αρχείων και εξωτερικές διευθύνσεις URL λογότυπου.

Τύποι περιεχομένου

Τα πεδία εξαρτώνται από το περιεχόμενοType. για τις διευθύνσεις 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 ερεθιστή. Content-Type είναι image/png ή image/svg+xml. Τα σφάλματα επιστρέφονται ως JSON:

JSON
{"error":"Invalid API key."}
  • 200 — Φωτογραφία που δημιουργήθηκε.
  • 401 — Απαλλαγμένο ή ανεπιθύμητο κλειδί.
  • 405 — Το GET είναι απαραίτητο.
  • 422 — Ακυρωμένες παραμέτρους ή έλλειψη περιεχομένου.
  • 429 — Το κατώτατο όριο υπερβαίνει· Retry-After: 60.
  • 503 — Η πρόσβαση στο API δεν ρυθμίζεται ή η προστασία δεν είναι προσωρινά διαθέσιμη.
  • 500 — Εσωτερικό σφάλμα γενιάς.

Περιορισμοί και επικύρωση

Το προεπιλεγμένο όριο είναι 60 αιτήσεις ανά λεπτό ανά IP. Το κρυπτογραφημένο περιεχόμενο περιορίζεται σε 800 bytes. Η παραγωγή PNG υποστηρίζει μέχρι 2048 × 2048 px. Το SVG διατηρεί μορφές vector.

Το API επικυρώνει τις μορφές παραμέτρων, το μέγεθος και την αντίθεση, αλλά δεν εκτελεί έναν αποκωδικοποιητή ή ελέγχει αν οι QR σάρωση. δοκιμάστε διακοσμητικές συνδυασμούς και εκτυπωμένη έκδοση με μια κάμερα.

Κάντε πρόσβαση

Το API είναι δωρεάν και θα παραμείνει πάντα δωρεάν. συμπληρώστε τη σύντομη φόρμα για να ζητήσετε ένα μυστικό κλειδί.

Οι λεπτομέρειες της φόρμας θα αποσταλούν στην ομάδα Qivo για να εξετάσει το αίτημά σας και να απαντήσει.