Cambiar un QR ya impreso
Un código QR estático se convierte en un callejón sin salida en cuanto se imprime en un menú, un afiche o una caja de producto: el destino queda grabado en los píxeles para siempre. Esta api de código qr dinámico genera un código que apunta a una redirección corta bajo su control, para que pueda reorientar la misma imagen impresa el próximo mes, el próximo año, o al día siguiente de lanzar una campaña, sin reimprimir nada.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
El problema de un código QR impreso en papel
Una vez que un código QR está en una superficie física, es inmutable. Si la URL que codifica desaparece, se reestructura, o simplemente necesita apuntar a otro lugar para una promoción de temporada, el código impreso queda inútil mientras el papel o plástico que lo lleva sigue circulando durante meses. Un restaurante que reimprime su menú cada vez que cambia el enlace de entregas, o un fabricante que graba un QR en un molde que producirá miles de unidades idénticas, chocan con el mismo muro: el código y el destino quedan soldados de forma permanente.
Cómo un código dinámico rompe ese vínculo
POST /dev/qr-dynamic crea un código que codifica una URL corta fija bajo nuestro control, la cual redirige hacia el destino que usted configure. Los píxeles impresos nunca cambian. Lo que cambia es el destino de la redirección detrás de ellos, que puede actualizar tantas veces como necesite después de que el código ya esté circulando, en un camión, una tarjeta de presentación o un estante de bodega.
Qué recibe de vuelta
La tarea devuelve una imagen del código QR más el identificador de la redirección asociada, entregados por webhook firmado o por un enlace firmado válido por 24 horas. Usted indica el destino inicial y los parámetros visuales que soporte el formato; reorientar más adelante es una llamada aparte y liviana sobre el mismo código, no una nueva generación de QR.
Un poco de historia que vale la pena conocer
Los códigos QR fueron inventados en 1994 por la empresa japonesa Denso Wave para rastrear piezas en una línea de ensamblaje automotriz, y su rasgo definitorio siempre fue la lectura rápida por máquina, no la elegancia para el ojo humano. La capa de redirección no forma parte de esa especificación original de 1994, es un patrón práctico construido encima de ella, y es justo lo que convierte a un código impreso de un solo uso en algo que se comporta como una pieza de infraestructura viva.
Dónde encaja en un flujo automatizado
Corridas de empaque, gafetes de eventos, calcomanías de vehículos y cualquier activo físico con vida útil larga se benefician de generar el código una sola vez con este endpoint y luego actualizar el destino de forma programática a medida que se mueve el inventario, rotan las campañas o se retiran productos. La generación en lote para una corrida de impresión y la reorientación posterior en lote pasan por el mismo modelo de tarea asíncrona, así que un sistema de marketing puede actualizar el destino de miles de códigos físicos en una sola pasada sin tocar una sola página impresa.
Qué puede hacer con ella
Empaques de temporada que duran más que una campaña
Imprima un QR en moldes de empaque que correrán durante un año, y rediríjalo a una página distinta cada temporada sin cambiar el diseño físico.
Actualizaciones de seguridad o retiro de producto ya distribuido
Apunte un QR ya impreso en el producto hacia información de seguridad actualizada en el momento en que se necesite, sin esperar un ciclo de reimpresión.
Gafetes de eventos reutilizados año tras año
Reutilice el mismo lote de gafetes impresos entre eventos, redirigiendo el código al cronograma y sistema de registro de cada año.
Menús de entrega que cambian de proveedor
Mantenga un solo exhibidor de mesa impreso y cambie el enlace de entregas detrás cada vez que el restaurante cambie de plataforma de pedidos.
Preguntas frecuentes
¿Qué hace que esta sea una api de código qr dinámico y no un generador común?
El código impreso codifica una URL de redirección fija que puede reorientar hacia un nuevo destino en cualquier momento, en lugar de codificar la URL final directamente.
¿Puedo cambiar el destino después de imprimir el QR?
Sí, ese es todo el propósito: actualiza el destino de la redirección con otra llamada y el mismo código físico empieza a enviar a los escaneos hacia el nuevo destino de inmediato.
¿Hay un límite de cuántas veces puedo reorientar un código?
El formato en sí no impone un límite fijo; reorientar es una operación liviana, separada de la tarea original de generación del QR.
¿Cuánto cuesta generar un QR dinámico?
$0.002 por solicitud más $0.005 por cada QR generado, y no se cobra por una tarea que falla tras los reintentos.
¿Esto reemplaza a un generador de QR gratuito?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo recibo la imagen del código QR?
POST /dev/qr-dynamic devuelve un task_id de inmediato, y la imagen terminada se entrega por webhook firmado o por un enlace firmado válido por 24 horas.
¿Puedo generar un lote grande para una corrida de impresión?
Sí, los lotes corren de forma asíncrona, así que una corrida de impresión de cualquier tamaño puede generarse en un solo envío sin bloquear su aplicación.
¿Se almacenan o usan los datos de escaneo para algo más que redirigir?
Los datos de redirección se conservan solo durante el período de retención indicado y nunca se usan para entrenamiento; existen únicamente para enrutar el escaneo.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
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)Ejemplo de solicitud
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.qr_dynamic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |