Automatizzare i codici QR con Python: libreria o API REST?
Cosa fa una libreria Python
Chi desidera generare codici QR con Python trova diverse librerie gratuite. Esse trasformano un testo in un'immagine, spesso anche in SVG, localmente e senza servizi. Per etichette con numeri di serie, documenti interni o accessi Wi-Fi, questo è esattamente corretto.
Dove le immagini statiche incontrano i loro limiti
Un codice generato in questo modo è statico, il contenuto è nascosto nel pattern. Se il target cambia a causa di un relaunch, se un errore di battitura viene notato solo dopo la stampa o se tu desideri sapere quante scansioni vengono effettuate, questo non aiuta. Per questo esistono i codici dinamici: Same-QR memorizza il target dietro un indirizzo breve e costante, conta le scansioni e controlla di notte se ogni target è raggiungibile.
Codici dinamici tramite API REST
L'API si trova all'indirizzo https://sameqr.com/api/v1. Nel dashboard, sotto Account, crea una chiave in "Accesso per CLI, script e agenti", selezionando "lettura + scrittura" per la creazione, e imposta la variabile d'ambiente SAMEQR_API_KEY. Questo esempio utilizza solo la libreria standard:
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"])Se l'API risponde con un errore, urlopen genera un'eccezione. Il contenuto contiene sempre un oggetto error con status, code e message. Valuta invece di far continuare lo script ciecamente.
Un flusso di lavoro dalla pratica
Un produttore stampa su ogni confezione un codice per le istruzioni:
- Lo script legge l'elenco dei prodotti da un file CSV.
- Per ogni nuovo prodotto, crea un codice e memorizza la sua identificazione accanto al numero di articolo.
- Se viene pubblicata una nuova versione della guida, la modifica avviene tramite PATCH su /qr/<id> solo per la destinazione. A tale scopo è necessaria una chiave "completo" e l'intestazione X-Confirm con la versione letta.
- Un secondo script con chiave di lettura recupera i numeri di scansione una volta al mese.
Pianifica i limiti: massimo 10 modifiche di destinazione all'ora e 30 al giorno tramite l'API, 120 richieste al minuto per chiave, 60 all'ora nel piano gratuito, 300 in Start, 1.000 in Pro e 5.000 in Agentur. In caso di 429, attendi i secondi indicati nell'intestazione Retry-After.
Chiave sicura nello script
- Non scrivere mai la chiave nel file .py, ma leggerla dall'ambiente.
- Per gli script che leggono solo, utilizzare una chiave "solo lettura".
- Per ogni script, una chiave autonoma con nome descrittivo e durata appropriata.
Conclusione: perché Same-QR
Per i codici statici, una libreria è sufficiente. Non appena si stampa, Same-QR è la base migliore: una REST-API leggera in ogni piano, errori comprensibili, protezione dalla sovrascrittura parallela e destinazioni che tu puoi modificare dopo la stampa.
Inizi subito: registrati gratuitamente su sameqr.com, due codici QR dinamici sono gratuiti per sempre. API, CLI e server MCP sono inclusi in ogni piano, la documentazione è su sameqr.com/entwickler.
Domande frequenti
No. La REST-API funziona con la libreria standard o con qualsiasi libreria per richieste web.
Sì. Per contenuti fissi, un codice statico è sufficiente; per tutto ciò che viene stampato con possibili modifiche, utilizza un codice dinamico.
Nella dashboard come PNG, SVG o PDF, o tramite API con la stessa chiave. Le modalità sono descritte nella documentazione su sameqr.com/entwickler.
Prenota il tuo posto prima del lancio.
Una e-mail appena lo strumento parte — con i prezzi e il piano gratuito. Niente spam, cancellabile in qualsiasi momento.
- Il tuo accesso gratuito è prenotato — al momento non c’è comunque nulla da pagare
- 90 giorni di modifiche della destinazione illimitate invece di 30, solo per chi si registra ora
- Prezzo di lancio garantito, anche se in futuro aumenteremo
Iscrivendoti acconsenti a ricevere la newsletter. Puoi revocare il consenso in qualsiasi momento tramite il link di cancellazione presente in ogni e-mail.