Authentification Production
Toutes les requêtes API (à l'exception de /sign-in et /health) nécessitent une authentification via vos clés API.
POST
/api/sign-in
Obtenir ses clés API
Corps de la requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
| string | ✅ | Email du compte marchand | |
| password | string | ✅ | Mot de passe |
curl -X POST "https://api.fradexpay.com/api/sign-in" \
-H "Content-Type: application/json" \
-d '{
"email": "merchant@fradex.com",
"password": "your_secure_password"
}'
→ Réponse (succès) :
{
"success": true,
"user": {
"api_key": "pk_live_9a2b3c4d5e6f7g8h9i0j",
"api_secret": "sk_live_8h7g6f5e4d3c2b1a0z9y",
"api_enabled": 1
},
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}
→ Réponse (erreur - identifiants invalides) :
{
"success": false,
"error": "Invalid credentials",
"code": 401
}
🔐
Headers requis
Pour tous les endpoints après authentification
| Header | Valeur exemple | Obligatoire |
|---|---|---|
| X-API-Key | pk_live_9a2b3c4d5e6f7g8h9i0j | ✅ Oui |
| X-API-Secret | sk_live_8h7g6f5e4d3c2b1a0z9y | ✅ Oui |
| Content-Type | application/json | ✅ Oui |
Ne partagez jamais vos clés API. En production, elles donnent accès à des fonds réels.
📡 Codes d'erreur HTTP
| Code | Signification | Exemple de réponse |
|---|---|---|
| 200 | Succès | {"success":true,"data":{...}} |
| 400 | Requête invalide | {"success":false,"error":"Missing parameter: card_id"} |
| 401 | Non autorisé | {"success":false,"error":"Invalid API credentials"} |
| 402 | Solde insuffisant | {"success":false,"error":"Insufficient balance"} |
| 404 | Ressource non trouvée | {"success":false,"error":"Card not found"} |
| 422 | Validation échouée | {"success":false,"error":"Amount must be at least 10"} |
| 500 | Erreur serveur | {"success":false,"error":"Internal server error"} |