Authentification
Tous les appels d'API (sauf l'inscription, la vérification d'e-mail et les webhooks
des fournisseurs) nécessitent un token envoyé dans l'en-tête Authorization :
Authorization: Bearer <votre-token>
1. Inscription & vérification
POST /api/auth/signup/
Content-Type: application/json
{ "email": "you@example.com", "password": "•••", "password2": "•••",
"type": "merchant", "first_name": "Jane", "last_name": "Doe" }
La réponse renvoie un temp_key et envoie par e-mail un code OTP à 6 chiffres.
Confirmez-le :
POST /api/auth/verify-email/
Content-Type: application/json
{ "email": "you@example.com", "otp": "123456" }
En cas de succès, vous recevez un token et votre profil utilisateur.
2. Connexion (token de session)
POST /api/auth/token/ # alias : /api/auth/login/
Content-Type: application/json
{ "email": "you@example.com", "password": "•••" }
{
"access": "9a8b7c…",
"token": "9a8b7c…",
"user": { "id": "…", "email": "you@example.com", "type": "merchant",
"account_type": "sandbox", "is_staff": false }
}
Utilisez access (même valeur que token) comme token Bearer. Récupérez
l'utilisateur courant à tout moment avec GET /api/auth/me/ (et mettez à jour
votre profil avec PATCH /api/auth/me/).
Sandbox vs production. Les nouveaux comptes démarrent en
account_type: "sandbox". Un administrateur vous promeut en"prod"une fois votre intégration validée.
3. Clés API (tokens de longue durée)
Pour les intégrations serveur à serveur, générez un token API dédié depuis votre Profil → Clés API, ou via l'API (réauthentification avec votre mot de passe) :
POST /api/auth/login-tokens/
Authorization: Bearer <token-de-session>
{ "password": "•••" }
{ "token": "f8849564…", "token_key": "f8849564", "expiry": "2026-09-12T19:00:25Z" }
Le token complet n'est affiché qu'une seule fois — conservez-le en lieu sûr.
Listez vos clés avec GET /api/auth/login-tokens/ et révoquez-en une avec
DELETE /api/auth/login-tokens/<token_key>/.
Déconnexion
POST /api/auth/logout/ # révoque le token courant
Authorization: Bearer <token>