Documentation
API publique justQRs
Gérez vos codes QR par programmation. Créez une clé API depuis Clés API dans le tableau de bord (propriétaires du compte uniquement).
URL de base
https://api.justqrs.com
Authentification
Envoyez votre clé API comme jeton bearer à chaque requête :
Authorization: Bearer jqr_xxxxxxxxxxxxxxxx
Les clés ne sont affichées en entier qu'une seule fois, à leur création. Pour renouveler une clé, créez-en une nouvelle puis supprimez l'ancienne.
Points de terminaison
| Méthode | Chemin | Description |
|---|---|---|
GET | /v1/qrcodes | Lister vos codes QR. Response: { qrcodes: QrResponse[] } |
POST | /v1/qrcodes | Créer un code QR. Request: CreateQrRequest { name, mode, content, design? } · Response: QrResponse |
GET | /v1/qrcodes/{qrId} | Récupérer un code QR. Response: QrResponse |
PATCH | /v1/qrcodes/{qrId} | Mettre à jour un code QR (codes dynamiques uniquement). Request: UpdateQrRequest { name?, content?, design? } · Response: QrResponse |
DELETE | /v1/qrcodes/{qrId} | Supprimer un code QR. Response: 204 No Content |
GET | /v1/qrcodes/{qrId}/stats?days=7|30|90 | Statistiques de scan d'un code QR dynamique. Response: QrStats { totalScans, rangeScans, rangeUniques, series, breakdowns } |
Exemple : créer un code QR d'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" }
}'
Exemple : récupérer les statistiques de scan
curl "https://api.justqrs.com/v1/qrcodes/{qrId}/stats?days=30" \
-H "Authorization: Bearer jqr_xxxxxxxxxxxxxxxx"
Erreurs
Les réponses d'erreur sont au format JSON : { "error": string, "code"?: string }.
| Statut | Code | Signification |
|---|---|---|
| 400 | (validation) | Le corps de la requête n'a pas passé la validation — consultez le message d'erreur pour le détail. |
| 401 | — | En-tête Authorization manquant. |
| 403 | — | Clé API refusée — invalide, révoquée ou expirée. |
| 402 | upgrade_required | Votre compte est sur l'offre gratuite — l'accès à l'API nécessite une offre payante. |
| 404 | — | Le code QR n'existe pas ou n'appartient pas à ce compte. |
| 409 | qr_limit_reached | Le compte a atteint sa limite de codes QR dynamiques (500 dans l'offre de base, davantage via les packs complémentaires). |