← Volver al blog
IA y automatización3 min de lectura

Automatizar códigos QR con Python: ¿biblioteca o API REST?

Imagen de Unsplash

Qué ofrece una biblioteca de Python

Quien quiere generar códigos QR con Python encuentra varias bibliotecas libres. Convierten un texto en una imagen, a menudo también en un SVG, en local y sin ningún servicio. Para etiquetas con números de serie, documentos internos o accesos wifi es justo lo adecuado.

Dónde las imágenes estáticas llegan a su límite

Un código QR generado así es estático: el contenido está en el patrón. Si el destino cambia por un rediseño, si una errata se descubre solo después de imprimir o si quieres saber cuántas veces se escanea, no te sirve. Para eso existen los códigos QR dinámicos: Same-QR guarda el destino detrás de una dirección corta y constante, cuenta los escaneos y comprueba por la noche si cada destino está accesible.

Códigos QR dinámicos con la API REST

La API está en https://sameqr.com/api/v1. Crea en el panel, en Cuenta, “Acceso para CLI, scripts y agentes”, una clave, “lectura + escritura” para poder crear, y defínela como variable de entorno SAMEQR_API_KEY. Este ejemplo usa solo la biblioteca estándar:

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

Si la API responde con un error, urlopen lanza una excepción. El contenido siempre incluye un objeto error con status, code y message. Interprétalo en lugar de dejar que el script siga a ciegas.

Un flujo de trabajo real

Un fabricante imprime en cada envase un código QR que lleva al manual:

  • El script lee la lista de productos de un archivo CSV.
  • Para cada producto nuevo crea un código QR y anota su identificador junto al número de artículo.
  • Cuando sale una nueva versión del manual, cambia solo el destino con PATCH en /qr/<id>. Para ello necesita una clave “completa” y la cabecera X-Confirm con el estado leído.
  • Un segundo script con clave de lectura obtiene una vez al mes el número de escaneos.

Ten en cuenta los límites: como máximo 10 cambios de destino por hora y 30 por día a través de la API, 120 solicitudes por minuto por clave, y por hora 60 en la tarifa gratuita, 300 en Start, 1.000 en Pro y 5.000 en Agentur. Con un 429, espera los segundos indicados en la cabecera Retry-After.

La clave, a salvo en el script

  • Nunca escribas la clave en el archivo .py, léela del entorno.
  • Para scripts que solo leen, usa una clave de “solo lectura”.
  • Una clave propia por script, con un nombre descriptivo y una vigencia adecuada.

Conclusión: por qué Same-QR

Para códigos QR estáticos basta una biblioteca. En cuanto se imprime, Same-QR es la mejor base: una API REST ligera en todas las tarifas, errores comprensibles, protección frente a sobrescrituras simultáneas y destinos que puedes cambiar después de imprimir.

Empieza ya: regístrate gratis en sameqr.com, 20 códigos QR dinámicos son gratuitos para siempre. La API, la CLI y el servidor MCP están disponibles en todas las tarifas, y la documentación está en sameqr.com/entwickler.

Crea códigos QR dinámicos gratis
Empieza con 20 códigos QR dinámicos gratuitos para siempre. Sin suscripción, sin tarjeta de crédito.
Empezar gratis ahora →

Preguntas frecuentes

¿Necesito una biblioteca de Python propia de Same-QR?

No. La API REST funciona con la biblioteca estándar o con cualquier biblioteca para solicitudes web.

¿Puedo combinar códigos QR estáticos y dinámicos?

Sí. Para contenidos fijos basta un código QR estático; para todo lo impreso que pueda cambiar, usa uno dinámico.

¿Dónde consigo el archivo de impresión?

En el panel como PNG, SVG o PDF, o con la API usando la misma clave. Las rutas están descritas en la documentación en sameqr.com/entwickler.

Newsletter

Nuevos artículos directamente en tu bandeja

Consejos sobre códigos QR dinámicos, novedades, sin spam. Puedes darte de baja en cualquier momento.

Al suscribirte aceptas recibir el newsletter. Puedes retirar tu consentimiento en cualquier momento con el enlace de baja que incluye cada correo.

Sigue leyendo