← Voltar ao blog
IA e automatização3 min de leitura

Automatizar códigos QR com Python: biblioteca ou API REST?

Imagem do Unsplash

O que faz uma biblioteca Python

Quem quer gerar códigos QR com Python encontra várias bibliotecas livres. Transformam um texto numa imagem, muitas vezes também num SVG, localmente e sem serviço. Para etiquetas com números de série, documentos internos ou acessos Wi-Fi é exatamente o indicado.

Onde as imagens estáticas chegam ao limite

Um código QR gerado assim é estático, o conteúdo está no próprio padrão. Se o destino muda por causa de uma remodelação do site, se um erro de escrita só é notado depois da impressão ou se queres saber quantas vezes é lido, ele não ajuda. Para isso existem os códigos QR dinâmicos: o Same-QR guarda o destino atrás de um endereço curto e constante, conta as leituras e verifica de noite se cada destino está acessível.

Códigos QR dinâmicos pela API REST

A API está em https://sameqr.com/api/v1. Cria no painel, em Conta, “Acesso para CLI, scripts e agentes”, uma chave, “leitura + escrita” para criar, e define-a como variável de ambiente SAMEQR_API_KEY. Este exemplo usa apenas a biblioteca padrão:

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 a API responder com um erro, o urlopen lança uma exceção. O conteúdo traz sempre um objeto error com status, code e message. Trata-o, em vez de deixares o script continuar às cegas.

Um fluxo da prática

Um fabricante imprime em cada embalagem um código QR para o manual:

  • O script lê a lista de produtos de um ficheiro CSV.
  • Para cada novo produto cria um código QR e guarda o seu identificador ao lado do número do artigo.
  • Quando sai uma nova versão do manual, altera só o destino com PATCH em /qr/<id>. Para isso precisa de uma chave “total” e do cabeçalho X-Confirm com a versão lida.
  • Um segundo script com chave de leitura obtém uma vez por mês o número de leituras.

Conta com os limites: no máximo 10 alterações de destino por hora e 30 por dia pela API, 120 pedidos por minuto por chave, e por hora 60 no plano gratuito, 300 no Start, 1.000 no Pro e 5.000 no Agentur. Em caso de 429, esperas os segundos indicados no cabeçalho Retry-After.

Chave segura no script

  • Nunca escrevas a chave no ficheiro .py, lê-a do ambiente.
  • Para scripts que só leem, usa uma chave “só leitura”.
  • Uma chave própria por script, com um nome claro e uma validade adequada.

Conclusão: porquê o Same-QR

Para códigos QR estáticos, uma biblioteca chega. Assim que se imprime, o Same-QR é a melhor base: uma API REST simples em todos os planos, erros compreensíveis, proteção contra substituições em paralelo e destinos que ainda podes alterar depois da impressão.

Começa já: regista-te gratuitamente em sameqr.com, 20 códigos QR dinâmicos são gratuitos para sempre. API, CLI e servidor MCP existem em todos os planos, a documentação está em sameqr.com/entwickler.

Cria códigos QR dinâmicos grátis
Começa com 20 códigos QR dinâmicos grátis para sempre. Sem subscrição, sem cartão de crédito.
Começar grátis agora →

Perguntas frequentes

Preciso de uma biblioteca Python própria do Same-QR?

Não. A API REST funciona com a biblioteca padrão ou com qualquer biblioteca para pedidos web.

Posso misturar códigos QR estáticos e dinâmicos?

Sim. Para conteúdos fixos basta um código QR estático, para tudo o que é impresso e pode mudar usa um dinâmico.

Onde obtenho o ficheiro de impressão?

No painel, em PNG, SVG ou PDF, ou pela API com a mesma chave. A documentação em sameqr.com/entwickler descreve como.

Newsletter

Novos artigos diretamente na tua caixa de correio

Dicas sobre códigos QR dinâmicos, novidades, sem spam. Podes cancelar a qualquer momento.

Ao subscreveres, aceitas receber a newsletter. Podes retirar o consentimento a qualquer momento através da ligação de cancelamento incluída em cada e-mail.

Continua a ler