QR code dynamique
Un QR code dynamique sépare le code de sa destination : le motif imprimé reste fixe, mais le lien vers lequel il renvoie se modifie quand vous voulez, depuis un tableau de bord. Vous corrigez une erreur ou changez de page sans réimprimer, et vous voyez combien de fois le code a été scanné.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Statique ou dynamique : la différence
Un QR code statique contient directement son contenu : une fois imprimé, il est figé. Un QR code dynamique, lui, ne contient qu’une adresse courte qui redirige vers la vraie destination. Vous gardez la main sur cette destination après l’impression : corriger une faute dans une URL, faire pointer une affiche vers une nouvelle page, réutiliser le même carton pour une autre campagne. Le motif ne change pas, seul son aboutissement évolue.
Suivre les scans
Parce que chaque scan passe par la redirection, le service compte les passages : combien de fois le code a été lu, à quelles dates, depuis quel type d’appareil. C’est précieux pour mesurer l’affiche qui fonctionne, la table de restaurant la plus active ou le flyer qui rapporte. Ces données restent des mesures agrégées de fréquentation, et non un profil de la personne qui scanne.
Un service hébergé, facturé à l’usage
Contrairement à un QR code figé, un code dynamique repose sur un lien de redirection que nous hébergeons ; il n’est donc pas gratuit. Le tarif est de $0.002 la requête plus $0.005 par QR code, en dollars US, sans abonnement ni compte à ouvrir. L’outil s’utilise depuis cette page comme par API et, à terme, par d’autres canaux, pour créer et piloter vos codes.
Cas d’usage
Affiche corrigée après coup
Studio Lumen SAS remplace la page de destination d’une affiche déjà collée en ville, sans rien réimprimer.
Campagne saisonnière
Atelier Garnier SARL réutilise le même QR code d’un catalogue au fil des saisons, en le faisant pointer vers la collection du moment.
Mesure d’un flyer
Une salle de concert compte les scans de ses flyers pour savoir quels quartiers répondent le mieux.
Menu évolutif
Un restaurant fait évoluer la carte derrière un QR code fixe imprimé sur ses tables.
Questions fréquentes
En quoi est-ce différent d’un QR code gratuit ?
Un QR code gratuit est statique : son contenu est figé à l’impression. Un code dynamique redirige via un lien modifiable, ce qui permet de changer la destination et de compter les scans — d’où un service hébergé et payant.
Puis-je changer la destination autant de fois que je veux ?
Oui. La redirection se modifie à volonté depuis le tableau de bord, sans jamais réimprimer le code. Le motif reste identique, seule sa cible change.
Quelles statistiques sont enregistrées ?
Le nombre de scans, leurs dates et le type d’appareil, sous forme de mesures agrégées. Il ne s’agit pas d’un profilage individuel de la personne qui scanne le code.
Combien ça coûte ?
Le tarif est de $0.002 la requête plus $0.005 par QR code, en dollars US, sans abonnement. L’achat est direct ni compte à créer.
Que deviennent mes données de scan ?
Elles sont conservées le temps de vous fournir les statistiques, via un transfert chiffré, et restent des mesures de fréquentation. Elles ne sont pas revendues.
Puis-je obtenir une facture ?
Oui. L’achat se règle par PayPal et une vraie personne peut vous établir un justificatif ; écrivez à [email protected]. La réponse se fait en espagnol ou en anglais.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.qr_dynamic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |