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 :
ChampTypeRequisDescription
emailstringEmail du compte marchand
passwordstringMot 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
HeaderValeur exempleObligatoire
X-API-Keypk_live_9a2b3c4d5e6f7g8h9i0j✅ Oui
X-API-Secretsk_live_8h7g6f5e4d3c2b1a0z9y✅ Oui
Content-Typeapplication/json✅ Oui
Ne partagez jamais vos clés API. En production, elles donnent accès à des fonds réels.

📡 Codes d'erreur HTTP

CodeSignificationExemple de réponse
200Succès{"success":true,"data":{...}}
400Requête invalide{"success":false,"error":"Missing parameter: card_id"}
401Non autorisé{"success":false,"error":"Invalid API credentials"}
402Solde insuffisant{"success":false,"error":"Insufficient balance"}
404Ressource non trouvée{"success":false,"error":"Card not found"}
422Validation échouée{"success":false,"error":"Amount must be at least 10"}
500Erreur serveur{"success":false,"error":"Internal server error"}