Darmowe API kodów QR i widget na własną stronę
Jeden adres, bez klucza i bez konta: pytasz o kod, dostajesz obrazek. Silnik jest ten sam, który chodzi w narzędziu w przeglądarce — po prostu uruchamiamy go u siebie dla przypadków, w których przeglądarki nie ma: generator faktur, drukarka etykiet, panel w magazynie.
Najpierw rzecz uczciwa
Narzędzie w przeglądarce obiecuje, że treść nie wychodzi z twojego urządzenia. To API jest odwrotnością tej obietnicy: co wpiszesz w adres, to wysyłasz do nas. Nie zapisujemy tego — pod tym adresem nie ma żadnej bazy i nic nie ląduje na dysku — ale zapytanie przechodzi przez nasz serwer, a obietnica, której nie da się sprawdzić, jest warta zero. Więc: API tam, gdzie przeglądarki nie ma, narzędzie tam, gdzie jest.
Widget niżej jest jeszcze inny: ten sam silnik działa w przeglądarce osoby, która odwiedza twoją stronę. Treść kodu nie dochodzi do nas nawet wtedy, gdy widget stoi na tysiącu stron.
Jak wywołać
d | treść kodu, zakodowana jak w adresie. Wymagane. Do 2953 bajtów. |
f | svg (domyślnie) albo png. |
e | odporność na zabrudzenia: l, m (domyślnie), q albo h. |
s | tylko png: punktów na pole, 1–40. Bez tego obrazek wychodzi około tysiąca punktów. |
m | biały margines w polach, 0–16, domyślnie 4. Czytniki go potrzebują, nie ustawiaj zera. |
c | kolor kodu szesnastkowo, domyślnie 111111. |
b | kolor tła szesnastkowo, domyślnie ffffff. |
t | t=1 daje przezroczyste tło (tylko png). |
Przykłady
- Kod z linkiem, wektor
https://qr.klyo.pl/api?d=https%3A%2F%2Fexample.com%2Fmenu - To samo jako obrazek do maila
https://qr.klyo.pl/api?d=https%3A%2F%2Fexample.com%2Fmenu&f=png - Kolor firmowy, najwyższa odporność, do druku
https://qr.klyo.pl/api?d=https%3A%2F%2Fexample.com&e=h&c=1d3557 - Wprost na stronie
<img src="https://qr.klyo.pl/api?d=https%3A%2F%2Fexample.com" alt="Kod QR" width="180">
Widget
Dwie linijki na twojej stronie i każdy element z atrybutem data-klyo-qr zamienia się w kod. Skrypt waży cztery kilobajty i pobiera silnik raz, więc dziesięć kodów na jednej stronie kosztuje tyle co jeden.
Podpis pod kodem prowadzi do nas i ma świadomie rel="nofollow": linki rozsiewane przez widgety Google traktuje jako próbę sztucznego budowania pozycji, a my wolimy być znajdowani za narzędzie. Podpis zdejmuje się atrybutem data-klyo-qr-podpis="0", jeśli nie pasuje do układu.
<div data-klyo-qr="https://example.com/menu"></div>
<script src="https://qr.klyo.pl/widget.js" async></script>
Granice i zasady
- Bez klucza, bez konta, bez limitu dziennego. Jest wspólne ograniczenie liczby zapytań na adres, to samo, które chroni resztę naszych serwerów — zwykła strona albo partia kilkuset etykiet go nie zauważy.
- Ten sam adres zawsze zwraca ten sam obrazek, więc odpowiedź może leżeć w pamięci przez rok. Jeśli generujesz tysiące kodów, trzymaj je u siebie i prawie nas nie ruszysz.
- Kody są stałe: treść siedzi w samym wzorze. Nie mamy sposobu, żeby po fakcie zmienić, gdzie prowadzi twój kod — i nikt inny też go nie ma.
- Jeśli potrzebujesz tego u siebie, silnik to jedna biblioteka w Ruście bez zależności, która kompiluje się i do WebAssembly, i rodzimo. Napisz do nas, wskażemy ją.