← Wróć do bloga
AI i automatyzacja2 min czytania

Automatyzacja kodów QR w Pythonie: biblioteka czy REST API?

Zdjęcie z Unsplash

Co potrafi biblioteka Pythona

Kto chce generować kody QR w Pythonie, znajdzie kilka darmowych bibliotek. Zamieniają tekst w obraz, często też w SVG, lokalnie i bez usługi. Do etykiet z numerami seryjnymi, dokumentów wewnętrznych czy dostępu do Wi-Fi to dokładnie to, czego trzeba.

Gdzie obrazy statyczne napotykają granice

Tak wygenerowany kod QR jest statyczny, treść siedzi we wzorze. Jeśli cel zmieni się po relaunchu, literówka wyjdzie na jaw dopiero po wydruku albo chcesz wiedzieć, ile razy był skanowany, to nie pomoże. Od tego są dynamiczne kody QR: Same-QR zapisuje cel za krótkim, niezmiennym adresem, liczy skanowania i w nocy sprawdza, czy każdy cel jest osiągalny.

Dynamiczne kody QR przez REST API

API znajduje się pod adresem https://sameqr.com/api/v1. Utwórz w panelu w sekcji Konto, „Dostęp dla CLI, skryptów i agentów”, klucz, „odczyt + zapis” do zakładania, i ustaw go jako zmienną środowiskową SAMEQR_API_KEY. Ten przykład korzysta tylko z biblioteki standardowej:

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

Jeśli API odpowie błędem, urlopen zgłasza wyjątek. Treść odpowiedzi zawiera zawsze obiekt error ze statusem, kodem i komunikatem. Obsłuż go, zamiast ślepo pozwalać skryptowi działać dalej.

Proces z praktyki

Producent drukuje na każdym opakowaniu kod QR do instrukcji:

  • Skrypt wczytuje listę produktów z pliku CSV.
  • Dla każdego nowego produktu zakłada kod QR i zapamiętuje jego identyfikator obok numeru artykułu.
  • Gdy pojawia się nowa wersja instrukcji, zmienia przez PATCH na /qr/<id> tylko cel. Potrzebuje do tego klucza „pełny” i nagłówka X-Confirm z odczytanym stanem.
  • Drugi skrypt z kluczem do odczytu raz w miesiącu pobiera liczby skanowań.

Uwzględnij limity: najwyżej 10 zmian celu na godzinę i 30 na dobę przez API, 120 zapytań na minutę na klucz, na godzinę 60 w taryfie bezpłatnej, 300 w Start, 1.000 w Pro i 5.000 w Agentur. Przy 429 odczekaj tyle sekund, ile podaje nagłówek Retry-After.

Bezpieczny klucz w skrypcie

  • Nigdy nie zapisuj klucza w pliku .py, tylko odczytuj go ze środowiska.
  • Dla skryptów, które tylko czytają, używaj klucza „tylko odczyt”.
  • Dla każdego skryptu osobny klucz z czytelną nazwą i odpowiednim okresem ważności.

Podsumowanie: dlaczego Same-QR

Dla statycznych kodów QR wystarczy biblioteka. Gdy tylko coś idzie do druku, lepszą podstawą jest Same-QR: lekkie REST API w każdej taryfie, zrozumiałe błędy, ochrona przed równoległym nadpisywaniem i cele, które możesz zmienić po wydruku.

Zacznij od razu: zarejestruj się za darmo na sameqr.com, 20 dynamicznych kodów QR jest na stałe bezpłatne. API, CLI i serwer MCP są w każdej taryfie, dokumentacja jest na sameqr.com/entwickler.

Twórz dynamiczne kody QR za darmo
Zacznij od 20 dynamicznych kodów QR, które są darmowe na zawsze. Bez subskrypcji, bez karty kredytowej.
Zacznij za darmo →

Najczęściej zadawane pytania

Czy potrzebuję własnej biblioteki Pythona od Same-QR?

Nie. REST API działa z biblioteką standardową lub dowolną biblioteką do zapytań webowych.

Czy mogę mieszać statyczne i dynamiczne kody QR?

Tak. Do stałych treści wystarczy statyczny kod QR, do wszystkiego, co jest drukowane i może się zmienić, użyj dynamicznego.

Skąd wezmę plik do druku?

W panelu jako PNG, SVG lub PDF albo przez API tym samym kluczem. Sposoby opisuje dokumentacja na sameqr.com/entwickler.

Newsletter

Nowe artykuły prosto na Twoją skrzynkę

Wskazówki o dynamicznych kodach QR, nowości, bez spamu. Wypisać się można w każdej chwili.

Zapisując się, wyrażasz zgodę na otrzymywanie newslettera. Zgodę możesz w każdej chwili wycofać za pomocą linku do wypisania się w każdej wiadomości.

Czytaj dalej