← Nazaj na blog
UI in avtomatizacija2 min branja

Avtomatizacija QR kod s Pythonom: knjižnica ali REST API?

Slika z Unsplasha

Kaj zmore knjižnica za Python

Kdor želi QR kode ustvarjati s Pythonom, najde več prostih knjižnic. Iz besedila naredijo sliko, pogosto tudi SVG, lokalno in brez storitve. Za nalepke s serijskimi številkami, interne dokumente ali dostope do omrežja WLAN je to ravno prav.

Kje statične slike dosežejo mejo

Tako ustvarjena QR koda je statična, vsebina je skrita v vzorcu. Če se cilj zaradi prenove spremeni, če se tipkarska napaka opazi šele po tisku ali če želiš vedeti, kolikokrat se skenira, ti statična koda ne pomaga. Za to obstajajo dinamične QR kode: Same-QR shrani cilj za kratkim, nespremenljivim naslovom, šteje skene in ponoči preverja, ali je vsak cilj dosegljiv.

Dinamične QR kode prek REST API-ja

API je na naslovu https://sameqr.com/api/v1. Na nadzorni plošči v razdelku Račun, „Dostop za CLI, skripte in agente“, ustvari ključ, „branje + pisanje“ za ustvarjanje, in ga nastavi kot spremenljivko okolja SAMEQR_API_KEY. Ta primer uporablja samo standardno knjižnico:

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"])

Če API odgovori z napako, urlopen sproži izjemo. Vsebina vedno vsebuje objekt error s poljema status, code in message. Ovrednoti ga, namesto da bi skripto slepo pustil teči naprej.

Potek iz prakse

Proizvajalec na vsako embalažo natisne QR kodo z navodili:

  • Skripta prebere seznam izdelkov iz datoteke CSV.
  • Za vsak nov izdelek ustvari QR kodo in si poleg številke artikla zapomni njen identifikator.
  • Ko izide nova različica navodil, prek PATCH na /qr/<id> spremeni samo cilj. Za to potrebuje ključ „polno“ in glavo X-Confirm s prebranim stanjem.
  • Druga skripta s ključem za branje enkrat na mesec pridobi števila skenov.

Upoštevaj meje: največ 10 sprememb cilja na uro in 30 na dan prek API-ja, 120 zahtevkov na minuto na ključ, na uro 60 v brezplačnem paketu, 300 v paketu Start, 1.000 v paketu Pro in 5.000 v paketu Agentur. Pri 429 počakaš toliko sekund, kot jih piše v glavi Retry-After.

Varen ključ v skripti

  • Ključa nikoli ne zapiši v datoteko .py, ampak ga preberi iz okolja.
  • Za skripte, ki samo berejo, uporabi ključ „samo branje“.
  • Za vsako skripto poseben ključ z jasnim imenom in primerno veljavnostjo.

Zaključek: zakaj Same-QR

Za statične QR kode zadošča knjižnica. Ko se tiska, je Same-QR boljša osnova: vitek REST API v vsakem paketu, razumljive napake, zaščita pred vzporednim prepisovanjem in cilji, ki jih po tisku še lahko spremeniš.

Začni kar zdaj: brezplačno se registriraj na sameqr.com, 20 dinamičnih QR kod je trajno brezplačnih. API, CLI in strežnik MCP so na voljo v vsakem paketu, dokumentacija je na sameqr.com/entwickler.

Ustvari dinamične QR kode brezplačno
Začni z 20 dinamičnimi QR kodami, ki so brezplačne za vedno. Brez naročnine, brez kreditne kartice.
Začni brezplačno →

Pogosta vprašanja

Ali potrebujem posebno knjižnico za Python od Same-QR?

Ne. REST API deluje s standardno knjižnico ali s katero koli knjižnico za spletne zahtevke.

Ali lahko mešam statične in dinamične QR kode?

Da. Za stalne vsebine zadošča statična QR koda, za vse natisnjeno z možno spremembo uporabi dinamično.

Kje dobim datoteko za tisk?

Na nadzorni plošči kot PNG, SVG ali PDF ali prek API-ja z istim ključem. Poti opisuje dokumentacija na sameqr.com/entwickler.

Novičnik

Novi članki neposredno v tvoj nabiralnik

Nasveti o dinamičnih QR kodah, novosti, brez neželene pošte. Odjava je mogoča kadar koli.

S prijavo soglašaš s prejemanjem novičnika. Soglasje lahko kadar koli prekličeš s povezavo za odjavo v vsakem e-poštnem sporočilu.

Beri naprej