Incluida en el plan Business

API de códigos QR

Crea códigos QR dinámicos desde tu propio sistema, cambia adónde llevan cuando quieras y lleva los datos de escaneo a tus informes.

REST · JSON · OpenAPI 3 · Colección de Postman

Qué puedes construir con ella

Un código por pedido, producto o mesaCrea códigos a partir de tus propios registros y conserva tu identificador en cada uno.
Miles de una vezEnvía hasta 100 códigos por petición. Cada uno se puede reintentar por separado sin riesgo.
Destinos que cambianApunta un código ya impreso a otra página con un PATCH. La imagen no cambia.
SVG listo para imprimirObtén cualquier código en SVG con el tamaño y el margen que necesites, con tu logotipo y tus colores.
Datos de escaneo en tus informesTotales por día, país, dispositivo, app y ubicación, en la zona horaria que elijas.
Un flujo en vivo sin webhooksConsulta los escaneos nuevos en orden y guarda un único cursor. No tienes que exponer nada por tu parte.

Crea un código con una sola petición

Envía el destino y tu propia referencia. La respuesta trae el enlace corto que hay que codificar y, con include=svg, la imagen terminada.

curl -X POST "https://qrmaker.ai/api/v1/qrcodes?include=svg" \
  -H "Authorization: Bearer $QR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://shop.example.com/product/AB12CD",
    "external_id": "AB12CD",
    "name": "Product AB12CD",
    "folder": "spring-campaign",
    "style": { "dot_style": "fluid", "finder_shape": "smooth" }
  }'
{
  "success": true,
  "data": {
    "id": "hzu23X",
    "external_id": "AB12CD",
    "target_url": "https://shop.example.com/product/AB12CD",
    "short_link": "https://qrmk.cc/hzu23X",
    "status": "active",
    "scan_count": 0,
    "image_version": "a1b2c3d4e5f60718",
    "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1000 1000\" …>"
  }
}

Codifica el short_link, nunca tu propia URL: es lo que permite editar y contar el código. Si envías otra vez el mismo external_id, recibes el mismo código, así que un reintento no puede crear un duplicado.

Endpoints

POST /v1/qrcodes
Crear un código (añade ?include=svg para recibir también la imagen)
POST /v1/qrcodes/batch
Crear hasta 100 códigos en una petición
GET /v1/qrcodes
Listar códigos, con sincronización incremental mediante updated_since
PATCH /v1/qrcodes/{id}
Cambiar el destino, el nombre, la carpeta, el estado o el estilo
GET /v1/qrcodes/{id}/svg
El código en SVG, con caché por ETag
GET /v1/qrcodes/{id}/analytics
Escaneos de un código en un intervalo de fechas
GET /v1/analytics/summary
Muchos códigos en una llamada, agrupados por código, carpeta o día
GET /v1/scans
Escaneos nuevos desde el último que procesaste
GET /v1/scans/export
Escaneos en un archivo CSV
GET /v1/usage
Uso y cuota de este mes

Ejemplos ejecutables

Cada archivo es un programa completo. Pon tu token y ejecútalo.

Límites y precio

Plan
Business: 29 $ al mes o 279 $ al año
Prueba gratuita
14 días en el plan mensual para clientes nuevos. Hace falta una tarjeta.
Cuota mensual
50 000 peticiones correctas. Las que fallan no cuentan.
Límite de frecuencia
120 peticiones por minuto por cuenta
Dónde se ejecuta
De servidor a servidor. Las llamadas desde el navegador se bloquean por CORS.
Formato de imagen
Solo SVG. Conviértelo a PNG en tu propio sistema si lo necesitas.

Ver el precio de Business

Detalles que te ahorran problemas después

  • Creación segura ante reintentos. Un external_id es único por cuenta. El mismo identificador con el mismo destino devuelve el código existente con un 200.
  • Un POST nunca mueve un código impreso. El mismo identificador con otro destino devuelve 409. Cambiar un destino es siempre un PATCH explícito, que pasa las mismas comprobaciones de seguridad que la web.
  • Códigos de error estables. Cada error lleva un code legible por máquina. El mensaje en inglés es para personas y puede cambiar.
  • Guarda la imagen en caché por versión. image_version solo cambia cuando cambia la imagen, y es también el ETag del endpoint de SVG. Cambiar el destino nunca lo modifica.
  • Tokens de solo lectura. Da a los sistemas de informes un token que solo pueda hacer GET. Si se filtra, no sirve para crear, cambiar ni borrar nada.

Preguntas frecuentes

¿La API tiene un nivel gratuito?

No. La API forma parte del plan Business. Los clientes nuevos pueden probar gratis el plan mensual durante 14 días; hace falta una tarjeta y se renueva a 29 $ al mes si no cancelas.

¿Puedo obtener imágenes PNG?

La API devuelve SVG, que se imprime nítido a cualquier tamaño y funciona en una etiqueta img. Si necesitas PNG, convierte el SVG en tu propio sistema. La guía de integración explica cómo hacerlo en Node, Python y el navegador.

¿Puedo llamar a la API desde una página web?

No. Las peticiones de navegador entre orígenes están bloqueadas, de modo que el token se queda en tu servidor. Llama a la API desde tu backend y pasa el resultado a la página.

¿Hay webhooks?

No. En su lugar, GET /v1/scans devuelve en orden los escaneos nuevos. Consúltalo cada 30 o 60 segundos y guarda el cursor que devuelve. Las respuestas vacías no cuentan para la cuota.

¿Qué pasa con mis códigos si cancelo?

Siguen redirigiendo. El acceso a la API se detiene cuando termina el plan, junto con las demás funciones de Business.

Empieza con un código gratis.

REST · JSON · OpenAPI 3 · Colección de Postman

Leer la documentación de la API →