Automatizacija QR kodova u Pythonu: biblioteka ili REST API?
Šta pruža Python biblioteka
Ko želi da pravi QR kodove u Pythonu, naći će nekoliko besplatnih biblioteka. Od teksta prave sliku, često i SVG, lokalno i bez spoljnog servisa. Za etikete sa serijskim brojevima, interne dokumente ili pristup Wi-Fi mreži to je upravo pravo rešenje.
Gde statične slike dolaze do granice
Tako napravljen QR kod je statičan, sadržaj je u samom obrascu. Ako se cilj promeni zbog novog lansiranja sajta, ako se greška u kucanju primeti tek posle štampe ili ako želiš da znaš koliko se često skenira, takav kod ne pomaže. Za to postoje dinamički QR kodovi: Same-QR čuva cilj iza kratke adrese koja se ne menja, broji skeniranja i noću proverava da li je svaki cilj dostupan.
Dinamički QR kodovi preko REST API-ja
API se nalazi na https://sameqr.com/api/v1. U kontrolnoj tabli, u odeljku Nalog, pod „Pristup za CLI, skripte i agente“, napravi ključ, „čitanje + pisanje“ za pravljenje, i postavi ga kao promenljivu okruženja SAMEQR_API_KEY. Ovaj primer koristi samo standardnu biblioteku:
import json, os, urllib.request
API = "https://sameqr.com/api/v1"
KEY = os.environ["SAMEQR_API_KEY"]
def rufe(methode, weg, daten=None):
req = urllib.request.Request(
API + weg, method=methode,
data=json.dumps(daten).encode() if daten else None,
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"})
with urllib.request.urlopen(req) as r:
return json.load(r)
code = rufe("POST", "/qr", {"name": "Anleitung Modell A", "targetUrl": "https://example.com/anleitung-a"})
print(code["id"])Ako API odgovori greškom, urlopen baca izuzetak. Sadržaj uvek ima objekat error sa poljima status, code i message. Obradi ga umesto da skripta slepo nastavi dalje.
Postupak iz prakse
Proizvođač na svako pakovanje štampa QR kod koji vodi do uputstva:
- Skripta čita listu proizvoda iz CSV datoteke.
- Za svaki novi proizvod pravi QR kod i pamti njegovu oznaku pored broja artikla.
- Kada izađe nova verzija uputstva, preko PATCH-a na /qr/<id> menja samo cilj. Za to joj treba ključ sa pravom „puno“ i zaglavlje X-Confirm sa pročitanim stanjem.
- Druga skripta sa ključem za čitanje jednom mesečno preuzima brojeve skeniranja.
Uračunaj ograničenja: najviše 10 promena cilja na sat i 30 na dan preko API-ja, 120 upita u minuti po ključu, na sat 60 u besplatnom paketu, 300 u paketu Start, 1.000 u paketu Pro i 5.000 u paketu Agentur. Kod 429 sačekaj sekunde navedene u zaglavlju Retry-After.
Ključ bezbedno u skripti
- Nikada ne upisuj ključ u .py datoteku, već ga čitaj iz okruženja.
- Za skripte koje samo čitaju koristi ključ „samo čitanje“.
- Za svaku skriptu poseban ključ sa jasnim imenom i odgovarajućim rokom važenja.
Zaključak: Zašto Same-QR
Za statične QR kodove biblioteka je dovoljna. Čim se štampa, Same-QR je bolja osnova: jednostavan REST API u svakom paketu, razumljive greške, zaštita od istovremenog prepisivanja i ciljevi koje možeš da promeniš i posle štampe.
Počni odmah: registruj se besplatno na sameqr.com, 20 dinamičkih QR kodova je trajno besplatno. API, CLI i MCP server dostupni su u svakom paketu, a dokumentacija se nalazi na sameqr.com/entwickler.
Često postavljana pitanja
Ne. REST API radi sa standardnom bibliotekom ili bilo kojom bibliotekom za veb zahteve.
Da. Za nepromenljive sadržaje dovoljan je statičan QR kod, a za sve odštampano gde je promena moguća uzmi dinamički.
U kontrolnoj tabli kao PNG, SVG ili PDF, ili preko API-ja istim ključem. Načine opisuje dokumentacija na sameqr.com/entwickler.
Novi članci direktno u tvoj inboks
Saveti o dinamičnim QR kodovima, novosti, bez spama. Odjava u bilo kom trenutku.
Prijavom pristaješ da primaš bilten. Saglasnost možeš da povučeš u bilo kom trenutku preko linka za odjavu u svakoj poruci.