Passer au contenu principal
L’API GetQR est en version bêta et réservée à certains espaces de travail. Certains détails peuvent changer avant la disponibilité générale.
Chaque QR code a un qrType, et ce type détermine ce que data doit contenir. Ce guide présente le format de chaque type, un corps de requête qui fonctionne, et ce que vous pouvez encore modifier une fois le code imprimé. Les exemples sont des corps de requête pour Créer un QR code. Envoyez-les ainsi :

Aperçu de tous les types

Comment un QR code est résolu

Chaque QR code est un lien court associé à un payload. Deux champs portent le contenu : Règles valables pour tous les types :
  • Valeurs par défaut. À la création, un link.url omis ou vide prend la valeur de data, et vous pouvez omettre tout l’objet link. Si les deux sont envoyés et diffèrent, link.url l’emporte. Envoyez-les identiques, ou n’envoyez que data.
  • Ce qu’encode l’image. L’image encode le lien court pour tous les types sauf wifi. Vous pouvez donc changer la destination d’un code imprimé, et ses scans sont suivis. Un QR code WiFi encode le réseau lui-même : vous ne pouvez pas le modifier après impression, et ses scans ne sont pas suivis.
  • Schémas. link.url n’accepte que http:, https:, wifi:, mailto:, sms: et begin:. Tout autre schéma, y compris geo:, smsto:, matmsg: et tel:, renvoie 422 Invalid destination URL, même là où data l’accepte.
  • Données vides. Un data vide saute la vérification du type. Pour un type de redirection, link.url doit alors être défini, sinon l’appel renvoie 400 Missing destination URL.
  • Structure. Au-delà de la vérification du type, le serveur ne valide pas le payload. Un type JSON doit seulement être analysable comme un objet JSON, et une vCard doit seulement commencer par BEGIN:VCARD.
Les limites marquées Builder ci-dessous sont celles qu’applique l’éditeur du tableau de bord. L’API accepte des payloads qui les ignorent, mais ils peuvent s’afficher bizarrement sur la page de destination ou dans l’éditeur.

Website

qrType : "website". Guide du tableau de bord : QR code Website.
Request body
Erreurs :
  • 422 Expected an http(s) URL, e.g. "https://example.com" for qrType "website".
  • 422 Invalid destination URL

Feedback

qrType : "feedback". Guide du tableau de bord : QR code Feedback. data est l’URL http(s) du formulaire d’avis, par exemple un Google Form ou une page d’avis. Tout le reste fonctionne comme pour Website.
Request body

Payment

qrType : "payment". Guide du tableau de bord : QR code Payment. data est l’URL de paiement du prestataire, par exemple :
L’éditeur du tableau de bord reconnaît ces hôtes : paypal.me, paypal.com/paypalme, cash.app, venmo.com, buy.stripe.com, stripe.com, square.link et payoneer.com. Pour PayPal, le montant est le dernier segment du chemin. Toute autre URL http(s) fonctionne aussi, mais l’éditeur ne la décompose pas en prestataire et montant. Tout le reste fonctionne comme pour Website.
Request body

WhatsApp

qrType : "whatsapp". Guide du tableau de bord : QR code WhatsApp. data est un lien wa.me : le numéro international en chiffres sans +, éventuellement avec un texte prérempli.
Le serveur vérifie seulement qu’il s’agit d’une URL http(s). Le tableau de bord lit aussi les liens api.whatsapp.com/send. Tout le reste fonctionne comme pour Website.
Request body

Location

qrType : "location". Guide du tableau de bord : QR code Location. data est une URL de carte. Utilisez ce format pour que le QR code reste modifiable dans le tableau de bord (query_place_id est facultatif) :
Toute autre URL http(s) redirige aussi. Une URI geo: passe la vérification de data mais est refusée comme destination : ne l’utilisez pas. Tout le reste fonctionne comme pour Website.
Request body
qrType : "app". Guide du tableau de bord : QR code App Link.
Request body
Erreurs :
  • 422 Invalid URL
  • 400 Missing destination URL

Email

qrType : "email". Guide du tableau de bord : QR code Email.
Request body
Erreurs :
  • 422 Expected a mailto URI, e.g. "mailto:[email protected]?subject=Hello" for qrType "email".

SMS

qrType : "sms". Guide du tableau de bord : QR code SMS.
Request body
Erreurs :
  • 422 Expected an SMS URI, e.g. "sms:+14155550123?body=Hello" for qrType "sms".

WiFi

qrType : "wifi". Guide du tableau de bord : QR code WiFi.
Request body
Erreurs :
  • 422 Expected a Wi-Fi payload, e.g. "WIFI:T:WPA;S:MyNetwork;P:secret;H:false;" for qrType "wifi".
Ne changez pas le type d’un QR code WiFi imprimé. Les codes imprimés gardent l’ancien réseau.

PDF, Image et Video

qrType : "pdf", "image" ou "video". Guides du tableau de bord : PDF, Image, Video. Un fichier par QR code : les lots de PDF et les galeries d’images ne sont pas disponibles via l’API. Consultez Non pris en charge par l’API.
Pour importer le fichier et obtenir son fileId, consultez Fichiers.

vCard

qrType : "vcard". Guide du tableau de bord : QR code vCard. La page de destination et l’éditeur ne lisent que les formes de lignes ci-dessous. Les autres variantes, comme TEL;CELL: ou EMAIL;TYPE=INTERNET:, sont stockées mais n’apparaissent pas sur la page.
  • N:<last>;<first>;;; : nom et prénom. Builder : les deux obligatoires, jusqu’à 40 caractères.
  • FN:<first> <last> : non lu par la page. Le libellé dans la liste du tableau de bord en provient.
  • ORG:<company> et TITLE:<role> : entreprise et fonction. Builder : jusqu’à 40 caractères.
  • TEL;TYPE=HOME:, TEL;TYPE=CELL:, TEL;TYPE=WORK:, TEL;TYPE=FAX: : numéros de téléphone, de mobile, professionnel et de fax (+ et chiffres).
  • EMAIL:<email> : adresse e-mail.
  • URL:<url> : site web.
  • NOTE:<text> : résumé. Échappez \\, \n, \; et \,. Builder : jusqu’à 200 caractères.
  • ADR:;;<street>;<city>;<state>;<zip>;<country> : adresse.
  • X-SOCIALPROFILE;TYPE=<platform>:<url> ou URL;TYPE=<PLATFORM>:<url> : liens de réseaux sociaux, une ligne par plateforme.
  • PHOTO;VALUE=URI:<url> : URL de l’image de profil. L’emporte sur tout ID de fichier.
  • X-GETQR-IMAGE-FILEID:<fileId> : image de profil (cible logo).
  • X-GETQR-PAGE-LOGO-FILEID:<fileId> : logo de la page (cible logo).
  • X-GETQR-LANDING-THEME:p|<0-4> ou X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB : thème de la page de destination, soit l’index d’un thème prédéfini (0 à 4), soit des couleurs personnalisées d’arrière-plan, de bouton et d’icône.
Plateformes sociales : facebook, whatsapp, instagram, youtube, tiktok, messenger, snapchat, linkedin, x, reddit, pinterest, telegram, wechat, viber, line.
Request body
Erreurs :
  • 422 Expected a vCard payload starting with "BEGIN:VCARD" for qrType "vcard".

Social Media

qrType : "social". Guide du tableau de bord : QR code Social Media. Champs de data :
Request body
Erreurs :
  • 422 Expected a JSON object describing the social profile page for qrType "social".
qrType : "multilink". Guide du tableau de bord : QR code Multi-Link. Les champs de data sont ceux de Social Media, sauf que firstName, lastName et summary sont remplacés par : Dans customItems, logoFileId est facultatif : une icône par défaut s’affiche. Builder : au moins un lien social ou un élément personnalisé non vide.
Request body
Erreurs :
  • 422 Expected a JSON object describing the multi-link page for qrType "multilink".

Event

qrType : "event". Guide du tableau de bord : QR code Event. Champs de data :
conference, seminar, workshop, training, webinar, meetup, networking, corporateEvent, productLaunch, tradeShow, jobFair, fundraiser, charity, wedding, engagement, birthday, anniversary, babyShower, graduation, reunion, party, religious, funeralMemorial, ceremony, concert, festival, clubNight, theater, comedy, filmScreening, exhibition, sports, tournament, raceMarathon, fitnessClass, foodDrink, market, openHouse, community, schoolEvent, kids, travelTour
Request body
Erreurs :
  • 422 Expected a JSON object describing the event page for qrType "event".

Fichiers dans les QR codes

Enregistrez un fichier avec Fichiers, importez-le, puis transmettez son fileId. Utilisez la cible qui correspond à l’usage :
  • pdf, image, video. Le contenu d’un QR code PDF, Image ou Video.
  • logo. Images de profil, logos de page, icônes de liens personnalisés et logos centraux.
Les fichiers qui ne sont jamais rattachés à un QR code sont supprimés après un délai de grâce. Erreurs liées à fileId, renvoyées à la création et sur PATCH quand fileId est envoyé : Les ID de fichiers à l’intérieur d’un payload (fileId, pageLogoFileId, customItems[].logoFileId, lignes X-GETQR-*-FILEID) ne sont pas validés. Ils ne s’affichent que s’ils ont été importés avec la cible logo. Le QR code se les approprie, le nettoyage ne les touche donc pas.

Changer de type

Vous pouvez changer qrType avec Modifier un QR code. Envoyez un data qui correspond au nouveau type : le payload stocké appartient à l’ancien type, donc un changement sans lui est refusé. Après une mise à jour, la destination est déterminée dans cet ordre :
  1. vcard, social, multilink, event : toujours la page hébergée.
  2. Un lot de PDF ou une galerie d’images créé dans le tableau de bord : sa page de destination.
  3. pdf, image, video : l’URL du fichier (un nouveau fileId, sinon celui stocké).
  4. link.url, s’il est envoyé.
  5. Le data modifié.
  6. L’URL stockée.
Effet de chaque changement :
  • Depuis pdf, image ou video. fileId et tout lot ou galerie sont effacés.
  • Vers pdf, image ou video. Envoyez aussi fileId, sinon celui stocké est réutilisé, et il peut s’agir d’une photo de vCard.
  • Depuis app. Le nom de l’application, link.ios et link.android sont effacés, pour que les téléphones suivent la nouvelle destination.
  • Vers wifi. L’image passe au payload brut. Les codes déjà imprimés contiennent toujours le lien court, qui redirige désormais vers une URL wifi:.
  • Depuis wifi. Les codes imprimés gardent leur ancien réseau.
  • Vers vcard, social, multilink ou event. Le lien court pointe vers la nouvelle page hébergée.
  • Depuis vcard, social, multilink ou event. Envoyez le nouveau data. La destination le suit.
Les QR codes statiques créés dans le tableau de bord n’ont pas de lien court : modifier leur link.url renvoie donc 422.

Non pris en charge par l’API

Ces fonctionnalités du tableau de bord ne font pas partie de l’API v1. Les champs inconnus sont ignorés sans erreur, les envoyer n’a donc aucun effet. Les lots et galeries créés dans le tableau de bord peuvent toujours être lus, mis en pause et supprimés via l’API, mais leurs fichiers ne peuvent pas être modifiés par ce biais.

Problèmes courants

link.url utilise un schéma vers lequel le lien court ne peut pas rediriger, comme geo:, smsto:, matmsg: ou tel:. Utilisez les formats de cette page.
data est vide et il n’y a pas de link.url. Pour app, définissez au moins un champ parmi link.ios, link.android, link.url ou data.
Pour les types de lien, le data stocké est le lien court. Lisez la destination dans url.
La page ne lit que les champs et formes de lignes listés pour le type. Les autres champs sont stockés mais pas affichés.

Et ensuite

QR codes

Fichiers

Personnalisation

Règles d'accès