Un token, c’est quoi exactement
Un jeton (token) est une chaîne de caractères qu’un service vous remet pour vous reconnaître sans redemander votre mot de passe à chaque requête. Il en existe trois familles : le jeton de session d’une application (celui que crée la connexion), le jeton OAuth qu’un service tiers vous délivre pour une durée limitée, et la clé API, plus durable, que vous copiez depuis un tableau de bord pour brancher un programme. Dans les trois cas, le serveur vérifie le jeton à chaque appel ; s’il ne le reconnaît pas, il répond « invalid token », souvent avec un code HTTP 401.
Les six causes, de la plus fréquente à la plus rare
- ✓Le jeton a expiré. Les jetons de session et OAuth vivent quelques minutes à quelques heures. Une clé API n’expire pas seule, mais un jeton temporaire, oui.
- ✓La clé a été régénérée ou révoquée. Quelqu’un a cliqué sur « régénérer » dans le tableau de bord : l’ancienne clé est morte à l’instant même, partout où elle est utilisée.
- ✓La clé est mal copiée. Un espace en fin de ligne, des guillemets pris dans la sélection, un retour à la ligne invisible. C’est la cause n°1 quand la clé vient d’être créée.
- ✓Mauvais environnement. Une clé de test envoyée au serveur de production, ou l’inverse. Les services qui distinguent les deux le signalent rarement clairement.
- ✓En-tête mal formé. Le serveur attend
Authorization: Bearer VOTRE_CLE: sans le mot Bearer, avec deux espaces, ou dans un autre en-tête, le jeton n’est pas lu. - ✓Horloge décalée. Les jetons signés (JWT) portent une date d’expiration ; un serveur dont l’heure est fausse de quelques minutes les rejette. Rare, mais déroutant.
La méthode en cinq étapes
- ✓Régénérez la clé depuis le tableau de bord du service, plutôt que de chercher pourquoi l’ancienne ne passe plus. C’est plus rapide et ça élimine deux causes d’un coup.
- ✓Copiez-la avec le bouton Copier, jamais à la souris, et collez-la sans guillemets ni espace dans votre configuration.
- ✓Vérifiez l’en-tête :
Authorization: Bearer, un espace, la clé. Rien d’autre sur la ligne. - ✓Vérifiez l’environnement : la clé et l’URL appelée doivent appartenir au même espace (test ou production).
- ✓Testez hors de votre code, avec une requête minimale en ligne de commande. Si elle passe, le problème est dans l’intégration ; si elle échoue, il est dans la clé.
La requête de test qui tranche
Dans un terminal : curl -H "Authorization: Bearer VOTRE_CLE" https://api.exemple.com/v1/moi(remplacez l’URL par l’endpoint « qui suis-je » ou « statut » de votre service). Une réponse 200 avec vos informations : la clé est bonne. Un 401 avec « invalid token » : régénérez-la.
Le cas Causerie
Deux choses différentes portent le même mot. Le widget affiché sur votre site n’utilise pas de clé API : il s’identifie par l’attribut data-id du snippet copié depuis Widget & Intégration. S’il ne s’affiche pas, ce n’est pas un problème de jeton : vérifiez que le snippet est bien collé avant la balise de fin de body et purgez le cache de votre site. L’API, disponible sur le plan Business, fonctionne avec une clé personnelle : si elle répond « invalid token », elle a expiré ou a été régénérée. Copiez la nouvelle clé depuis les réglages du dashboard et remplacez l’ancienne dans chaque intégration (CRM, automatisation, scripts). La référence complète de l’API est dans le dashboard, section API, et le guide intégrer Causerie par API détaille ce qu’elle permet.
Si vous n’administrez pas le service
Le message apparaît aussi côté utilisateur : une application mobile, un espace client, un lien reçu par email. Dans ce cas, vous ne pouvez rien régénérer, mais trois gestes règlent la quasi-totalité des situations : se déconnecter puis se reconnecter (l’application recrée un jeton neuf), demander un nouveau lien si le message vient d’un email de validation ou de réinitialisation (ces liens expirent et ne servent qu’une fois), et vider le cache et les cookies du navigateur pour ce site. Si l’erreur persiste après ces trois gestes, elle est du côté du service : son support saura la lire dans ses journaux.
Prévenir la prochaine fois
- ✓Une clé par usage (site, CRM, script) : régénérer l’une ne casse pas les autres.
- ✓Jamais de clé API dans le code envoyé au navigateur : elle serait lisible par tous. Une clé se garde côté serveur ou dans un gestionnaire de secrets.
- ✓Notez où chaque clé est utilisée : le jour où vous la régénérez, vous savez quoi mettre à jour.
- ✓Pour les jetons temporaires, gérez le rafraîchissement dans le code plutôt que d’attendre l’erreur.