QR Code dinâmico
O QR Code dinâmico aponta para um endereço intermediário que você pode redirecionar quando quiser: o código impresso não muda, o destino sim. É a escolha certa para materiais caros de reimprimir — embalagens, banners, cardápios plastificados — e para campanhas que evoluem com o tempo.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Estático ou dinâmico: a decisão antes da gráfica
No QR estático, o conteúdo mora dentro do desenho: mudou o destino, jogou fora o impresso. No dinâmico, o desenho aponta para um endereço intermediário sob seu controle — e o destino final você troca quando quiser, sem tocar no código. A escolha, portanto, é sobre o futuro: se existe qualquer chance de o link mudar depois da impressão, o dinâmico se paga na primeira reimpressão evitada.
Como funciona por dentro
Ao criar um QR dinâmico via API, você recebe o código apontando para uma URL de redirecionamento estável. Quem escaneia passa por esse endereço e cai no destino vigente — e a troca de destino é uma chamada de API, sem mexer na arte, na embalagem ou no banner. O código impresso vira um ativo permanente: o papel envelhece, o destino acompanha o seu negócio.
O que só o dinâmico permite
Cardápio que muda com a estação, sem trocar o adesivo da mesa. Manual do produto que aponta para a versão mais recente, anos depois de a caixa sair da fábrica. Banner de evento reaproveitado a cada edição. Campanha que começa apontando para o teaser e termina na página de venda. Em todos os casos, o padrão é o mesmo: o físico é caro de mudar, o digital muda toda semana — o QR dinâmico é a ponte entre os dois ritmos.
Preço claro, sem assinatura escondida
Este é um serviço de API pago por uso: US$ 0,002 por chamada mais US$ 0,005 por QR dinâmico criado, com o preço publicado — nada de plano que dobra depois do período de teste. E vale dizer com clareza o que muita plataforma esconde: QR “grátis” que expira em duas semanas é dinâmico com pegadinha. Aqui a conta é aberta e o código criado continua seu.
Casos de uso
Cardápio de estação sem reimprimir mesa
Um restaurante de Belo Horizonte plastificou um único QR dinâmico nas mesas. No inverno, o destino aponta para o cardápio de caldos; no verão, para o de saladas — o adesivo nunca mudou.
Manual sempre atualizado na embalagem
A Distribuidora Horizonte Verde S.A. imprime QR dinâmico nas caixas dos equipamentos. Quando o manual ganha revisão, uma chamada de API atualiza o destino — inclusive para caixas que já estão nas prateleiras dos clientes.
Banner que serve todo ano
Uma feira de empreendedores de Recife usa o mesmo banner de lona desde 2024: o QR dinâmico aponta, a cada edição, para a página de inscrição do ano corrente. A lona foi paga uma vez; a troca de destino é uma chamada de API.
Perguntas frequentes
Qual a diferença prática para o QR comum?
O comum grava o conteúdo no desenho: é imutável. O dinâmico grava um endereço intermediário e deixa o destino sob seu controle. Impresso que pode mudar de link pede dinâmico; conteúdo definitivo, o comum resolve — inclusive de graça, no navegador.
Se eu trocar o destino, o material impresso continua valendo?
Continua — essa é a razão de existir do dinâmico. O desenho impresso não muda nunca; o que muda é para onde ele leva. Trocou o destino, quem escanear em seguida já cai no novo endereço.
Esse aqui é grátis como o gerador comum?
Não, e preferimos ser diretos: manter o redirecionamento no ar tem custo permanente, então o QR dinâmico é pago por uso via API — US$ 0,002 por chamada mais US$ 0,005 por código criado. Sem assinatura e sem prazo de validade disfarçado.
O QR dinâmico expira se eu parar de pagar mensalidade?
Não existe mensalidade para expirar. Você paga quando cria o código e quando faz chamadas de API; não há cobrança recorrente para “manter vivo” o que você já criou.
Como pago? Tem boleto ou Pix?
O pagamento é em dólar (US$), via PayPal — por enquanto sem Pix nem boleto, e achamos melhor avisar do que fingir. A compra é direta, sem cadastro.
Para que tipo de material vale mais a pena?
Qualquer um caro de reimprimir: embalagem, lona, adesivo de frota, placa de loja. Se o custo de reimpressão supera alguns dólares, o dinâmico já se justifica na primeira mudança de link.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/qr-dynamic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/qr-dynamic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/qr-dynamic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/qr-dynamic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/qr-dynamic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.qr_dynamic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |