Authentification
Une requête 2.1 porte sa clé dans le chemin, pas dans un en-tête Authorization. C’est un choix délibéré de compatibilité, pas un oubli — et, en coulisses, elle repose sur la même gestion des clés que la v3.
Un seul référentiel de clés, pas deux
La 2.1 s’authentifie avec les mêmes clés que la v3 — secrets hachés, expiration, statut, audit, lastUsedAt, contrainte de plateforme. Cette page couvre ce qui est propre à la 2.1 : la clé dans le chemin et ses deux scopes. Clés d’API, scopes et contraintes de plateforme
La clé se trouve dans le chemin
Chaque route 2.1 porte la clé comme segment de chemin, juste après l’audience — client ou user. C’est un héritage conservé pour la compatibilité V2, pas une nouvelle conception :
/v2.1/client/{key}/{crid}/...
/v2.1/user/{key}/{crid}/redirect
Deux scopes, deux audiences
Les deux familles de chemins sont protégées par deux scopes différents, et une clé porte ceux qui lui ont été attribués.
| Scope | Famille de chemins | Donne accès à |
|---|---|---|
| client_v2 | /v2.1/client/{key}/... | Les opérations côté serveur — redirect (des URL, pas une redirection), retarget, qrcode, card, notify, modify, details, webhook. |
| user_v2 | /v2.1/user/{key}/... | L’unique redirection côté navigateur, qui envoie le destinataire vers son message. |
La même gestion des clés que la v3
Une clé 2.1 ne relève pas d’un système d’identifiants distinct, parallèle à celui de la v3. Elle est émise, stockée et auditée exactement comme une clé v3 : les secrets sont hachés, les clés ont une expiration et un statut, chaque appel met à jour lastUsedAt, et une clé peut être limitée à une plateforme. Intégrer les deux API, c’est gérer un seul jeu d’identifiants, pas deux.
Le prix d’une clé dans une URL
Placer un identifiant dans un chemin a une conséquence qu’il vaut mieux connaître avant de s’y fier.
Erreurs d’authentification
Un échec d’authentification en 2.1 est signalé par l’un de ces trois codes, dans l’enveloppe d’erreur 2.1 :
{
"status": 1,
"error": "key_invalid"
}
| Code | Signification |
|---|---|
| key_invalid | Le segment de clé du chemin ne correspond à aucune clé connue et active. |
| forbidden | La clé est valide mais ne porte pas le scope exigé par cette route. |
| auth_unavailable | La clé n’a pas pu être vérifiée car le service d’authentification était injoignable — un échec passager, pas un rejet de la clé. |