Documentación
API pública de justQRs
Gestiona tus códigos QR mediante programación. Crea una clave API desde Claves API en el panel (solo propietarios de cuenta).
URL base
https://api.justqrs.com
Autenticación
Envía tu clave API como token bearer en cada solicitud:
Authorization: Bearer jqr_xxxxxxxxxxxxxxxx
Las claves se muestran completas una sola vez, al crearlas. Para rotar una clave, crea una nueva y elimina la anterior.
Endpoints
| Método | Ruta | Descripción |
|---|---|---|
GET | /v1/qrcodes | Lista tus códigos QR. Response: { qrcodes: QrResponse[] } |
POST | /v1/qrcodes | Crea un código QR. Request: CreateQrRequest { name, mode, content, design? } · Response: QrResponse |
GET | /v1/qrcodes/{qrId} | Obtiene un único código QR. Response: QrResponse |
PATCH | /v1/qrcodes/{qrId} | Actualiza un código QR (solo códigos dinámicos). Request: UpdateQrRequest { name?, content?, design? } · Response: QrResponse |
DELETE | /v1/qrcodes/{qrId} | Elimina un código QR. Response: 204 No Content |
GET | /v1/qrcodes/{qrId}/stats?days=7|30|90 | Analítica de escaneos de un código QR dinámico. Response: QrStats { totalScans, rangeScans, rangeUniques, series, breakdowns } |
Ejemplo: crear un código QR de URL
curl -X POST "https://api.justqrs.com/v1/qrcodes" \
-H "Authorization: Bearer jqr_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "My link",
"mode": "dynamic",
"content": { "kind": "url", "url": "https://example.com" }
}'
Ejemplo: obtener estadísticas de escaneo
curl "https://api.justqrs.com/v1/qrcodes/{qrId}/stats?days=30" \
-H "Authorization: Bearer jqr_xxxxxxxxxxxxxxxx"
Errores
Las respuestas de error son JSON: { "error": string, "code"?: string }.
| Estado | Código | Significado |
|---|---|---|
| 400 | (validation) | El cuerpo de la solicitud no pasó la validación; consulta el mensaje de error para más detalles. |
| 401 | — | Falta la cabecera Authorization. |
| 403 | — | Clave API rechazada: no válida, revocada o caducada. |
| 402 | upgrade_required | Tu cuenta está en el plan gratuito; el acceso a la API requiere un plan de pago. |
| 404 | — | El código QR no existe o no pertenece a esta cuenta. |
| 409 | qr_limit_reached | La cuenta ya alcanzó su límite de códigos QR dinámicos (500 en el plan base; puedes añadir más con paquetes adicionales). |