Quickstart API REST
- 1
Créez une clé API
Dans le dashboard : Paramètres → Clés API → Nouvelle clé. La clé en clair n'est affichée qu'une fois et n'est plus jamais stockée — seuls un hash HMAC-SHA-256 et un court préfixe d'affichage sont conservés. Format : `qrs_live_<64 caractères hex>` ; stockez-la comme `QCS_API_KEY`. Choisissez les scopes à la création : `qrcodes:read`, `qrcodes:write`, `scans:read`, `conversions:write`. Le formulaire présélectionne les deux scopes de lecture, le défaut prudent pour un identifiant qui finit dans un job CI. L'accès API est une fonction du plan Business ; une clé sur un plan inférieur s'authentifie mais reçoit un 403 `plan_limit`. Chaque clé est limitée à 300 requêtes par minute.
- 2
Créez un QR code dynamique
POST sur `/api/v1/qrcodes` avec l'en-tête `Authorization: Bearer $QCS_API_KEY` et le corps `{"name": "Flyer printemps", "type": "url", "destination_url": "https://example.com/landing"}`. La réponse `{"data": {…}}` contient l'id du QR code, le slug généré et `scan_url` — l'adresse tracée `/q/{slug}` encodée dans le code imprimé. `status` accepte `draft`, `active` ou `paused`, et `campaign_id` rattache le code à une campagne existante. Si le workspace a épuisé son quota de QR dynamiques, l'appel répond 403 `plan_limit` avec `details.limit` et `details.current` plutôt qu'une erreur générique. Les types statiques ne consomment jamais ce quota.
- 3
Lisez les événements de scan
GET `/api/v1/scans?qr_id={id}&days=30&per_page=50` retourne une page d'événements de scan et un bloc `pagination`. Chaque événement porte `device_type`, `os`, `browser`, `country`, `region`, `city`, `language`, `referrer`, `is_bot`, `ab_variant` et la `destination` vers laquelle le visiteur a été envoyé. `days` accepte 1 à 365 et vaut 30 par défaut. Aucune adresse IP dans la réponse : la plateforme n'en stocke pas, seul un hash à clé arrive en base. Omettez `qr_id` pour lire tous les scans du workspace.
- 4
Changez la destination
PATCH `/api/v1/qrcodes/{id}` avec le corps `{"destination_url": "https://example.com/new-destination"}`. Le même endpoint accepte `name`, `payload`, `campaign_id`, et `status` avec `draft`, `active`, `paused` ou `archived` ; au moins un champ est requis. Il répond 200 avec l'enregistrement mis à jour. Le code imprimé résout vers la nouvelle URL dès le scan suivant — pas de réimpression, pas de purge de cache. `DELETE /api/v1/qrcodes/{id}` répond 204 et retire le code.
- 5
Enregistrez une conversion côté serveur
POST `/api/v1/conversions` avec le corps `{"event_name": "purchase", "external_id": "order-1042", "amount": 49.9, "currency": "EUR", "qr_slug": "flyer-printemps"}`. Un nouvel événement répond 201 `{"id": …, "created": true}` ; rejouer le même `external_id` répond 200 `{"duplicate": true}`, donc un job qui réessaie ne peut pas compter le chiffre d'affaires deux fois. L'attribution accepte soit `qr_slug`, soit la valeur `session_ref` captée sur la landing page. L'appel exige le scope `conversions:write`.
- 6
Erreurs, et la place du plugin WordPress
Chaque échec retourne `{"error": {"code": …, "message": …}}` avec un code stable sur lequel brancher : `unauthorized`, `insufficient_scope`, `plan_limit`, `validation_error`, `not_found`, `rate_limited`. Les échecs de validation ajoutent `details.issues` indexé par champ. Le plugin WordPress est un connecteur, pas une seconde API : il se synchronise dans le même workspace via `/api/v1/wp/*` avec sa clé de licence, si bien que les codes créés dans WordPress apparaissent dans la même liste `GET /api/v1/qrcodes` que ceux créés ici. Le plugin n'est pas requis pour utiliser l'API, ni l'API pour utiliser le plugin.
Questions fréquemment posées
Qu'est-ce que QRCode Suite ?
QRCode Suite est une plateforme QR autonome : créez un compte gratuit et générez des QR codes dynamiques et personnalisés dans le navigateur — sans WordPress. Des connecteurs apportent les mêmes codes à WordPress et WooCommerce, où les commandes peuvent être attribuées à des QR codes spécifiques.
QRCode Suite fonctionne-t-il sans WordPress ?
Oui. QRCode Suite est un SaaS autonome : inscrivez-vous, créez vos QR codes et suivez les scans entièrement sur qrcode-suite.com. Le plugin WordPress est un connecteur optionnel qui ramène vos codes dans wp-admin et ajoute l'attribution des commandes WooCommerce.
QRCode Suite nécessite-t-il un abonnement séparé ?
Le plan Free est disponible gratuitement — sans carte bancaire. Les plans payants (Pro 9 €, Business 29 €, Agency 79 € par mois) débloquent codes illimités, règles de redirection et plus encore. Aucun frais par scan ne s'applique.
Quels types de QR codes QRCode Suite prend-il en charge ?
QRCode Suite prend en charge 22 types de QR codes : URL statique, URL dynamique, Texte brut, Téléphone, Email, Localisation, Link Hub, SMS, WhatsApp, Wi-Fi, vCard, Profil social, PDF, Téléchargement de fichier, Téléchargement d'app, Coupon, Événement calendrier, Formulaire de capture de leads, Collecte d'avis, Demande de gros, Récompense de fidélité et Payload personnalisé.
Puis-je modifier la destination d'un QR code après l'avoir imprimé ?
Oui. Les QR codes dynamiques utilisent une URL de redirection courte. Vous pouvez mettre à jour la destination depuis votre tableau de bord à tout moment, sans regénérer ni réimprimer le code.
Besoin d'aide pour démarrer ?
Commencez gratuitement ou parcourez toute la documentation.