Authentification
Chaque appel (sauf la connexion) doit porter un jeton. Il existe deux sortes de jetons, qui s'utilisent de la même façon.
| Jeton de connexion (JWT) | Jeton de wallet | |
|---|---|---|
| Obtenu avec | POST/auth/login | POST/wallets/tokens |
| Lié à | un utilisateur (et son rôle) | votre wallet |
| Expiration | oui (voir ci-dessous) | jamais, sauf si vous fixez expiresAt |
| Révocation | changer le mot de passe | DELETE/wallets/tokens/{id} |
| À utiliser pour | tester, scripts ponctuels | intégrations serveur |
Les jetons sont propres à chaque environnement : un jeton de test ne fonctionne pas en production.
Envoyer le jeton
Authorization: Bearer <jeton>
L'API accepte aussi l'en-tête x-access-token: <jeton> et le paramètre de requête ?access_token=<jeton>. Si plusieurs sont présents, l'ordre de priorité est : access_token, puis x-access-token, puis Authorization.
?access_token=Un jeton dans l'URL finit dans les journaux des proxys et des serveurs. Utilisez l'en-tête Authorization.
Jeton de connexion
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/auth/login' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-d '{
"username": "votre-identifiant",
"password": "votre-mot-de-passe"
}'
La réponse contient le jeton : {"token": "eyJhbGciOi..."}.
- Le jeton de connexion expire. Il n'existe pas de jeton de rafraîchissement : une fois le jeton expiré, l'API répond
401:UNAUTHORIZEDet vous vous reconnectez. - Le jeton contient votre rôle et les types de passes autorisés pour votre wallet. Un appel vers un type non activé (par exemple
/transitssans l'option Transport) renvoie403:FORBIDDEN.
Pour une intégration serveur, ne dépendez pas de l'expiration du jeton de connexion : utilisez un jeton de wallet.
Jetons de wallet
Pour une intégration serveur, créez un jeton dédié, stockez-le dans votre coffre de secrets, et faites-le tourner régulièrement.
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/wallets/tokens' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-d '{
"expiresAt": "2027-06-30T00:00:00.000Z"
}'
{
"_id": "6650f1c2a9e4b5d1c3a7e921",
"token": "3f9c…e1a7",
"tokenable": "6650a0b1c2d3e4f5a6b7c8d9",
"tokenableType": "WALLET",
"expiresAt": "2027-06-30T00:00:00.000Z"
}
- Sans
expiresAt, le jeton n'expire jamais. - Listez vos jetons avec GET
/wallets/tokenset révoquez-en un avec DELETE/wallets/tokens/{id}.
Erreurs d'authentification
| Code | Quand |
|---|---|
401:UNAUTHORIZED | Jeton absent, invalide, expiré, ou mauvais mot de passe |
403:FORBIDDEN | Jeton valide, mais rôle insuffisant ou type de pass non activé |
Voir toutes les erreurs.