Vue d'ensemble
MobiTrace est une API RESTful pour la gestion des transactions de transfert d'argent. Cette documentation fournit un contrat complet pour l'intégration avec l'application mobile frontend.
Authentification
L'API utilise Laravel Sanctum pour l'authentification via des tokens Bearer.
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json
Rate Limiting
- Endpoints publics (auth): 60 requêtes/minute
- Endpoints protégés (API): 120 requêtes/minute
- Reset password: 5 requêtes/heure
1. Authentication
1.1 Register
Créer un nouveau compte utilisateur.
POST
/auth/register
Non requis Auth
Request Body:
{
"name": "string (required, max:255)",
"telephone": "string (required, max:20, unique)",
"email": "string (optional, email, max:255, unique)",
"password": "string (required, min:8)",
"password_confirmation": "string (required)"
}
1.2 Login
Authentifier un utilisateur existant.
POST
/auth/login
Non requis Auth
Request Body:
{
"telephone": "string (required, max:20)",
"password": "string (required)"
}
1.3 Logout
Déconnecter l'utilisateur actuel.
POST
/auth/logout
Requis Auth (Bearer token)
1.4 Get Current User
Récupérer les informations de l'utilisateur authentifié.
GET
/auth/me
Requis Auth (Bearer token)
2. Clients
2.1 List Clients
Lister tous les clients de l'utilisateur avec pagination.
GET
/clients?page=1&per_page=20
Requis Auth (Bearer token)
2.2 Lookup Client
Rechercher un client par numéro de téléphone.
GET
/clients/lookup?telephone=1234567890
Requis Auth (Bearer token)
2.3 Get Client Details
Récupérer les détails d'un client spécifique.
GET
/clients/{client}
Requis Auth (Bearer token)
2.4 Update Client
Mettre à jour les informations d'un client.
PATCH
/clients/{client}
Requis Auth (Bearer token)
3. Transactions
3.1 Create Transaction
Créer une nouvelle transaction (dépôt ou retrait).
POST
/transactions
Requis Auth (Bearer token)
Request Body:
{
"telephone": "string (required, max:20)",
"nom": "string (optional, nullable, max:100)",
"prenoms": "string (optional, nullable, max:150)",
"reseau_id": "uuid (required, exists:reseaux)",
"type_operation": "depot|retrait (required)",
"montant": "decimal (required, gt:0)",
"client_confirme": "boolean (required, accepted)"
}
3.2 List Transactions
Lister les transactions avec filtres et pagination.
GET
/transactions?periode=aujourdhui&sort_by=date&sort_order=desc
Requis Auth (Bearer token)
Filtres disponibles:
periode: aujourdhui, 7jours, cemois, personnaliseedate_debut,date_fin: pour période personnaliséereseau_id,reseau_code: filtre par réseautype_operation: depot, retraitstatut: ENREGISTREE, MODIFIEE, ANNULEEmontant_min,montant_max: tranche de montantsort_by: date, amount, created_at, montantsort_order: desc, asc
3.3 Get Transaction Details
Récupérer les détails d'une transaction spécifique.
GET
/transactions/{transaction}
Requis Auth (Bearer token)
3.4 Update Transaction
Modifier une transaction existante.
PATCH
/transactions/{transaction}
Requis Auth (Bearer token)
3.5 Cancel Transaction
Annuler une transaction.
POST
/transactions/{transaction}/cancel
Requis Auth (Bearer token)
3.6 Export Transactions (PDF)
Exporter les transactions en PDF pour audit.
GET
/transactions/export?debut=2026-09-01&fin=2026-09-19
Requis Auth (Bearer token)
Validation:
- Les dates doivent être dans le passé ou aujourd'hui
- La période ne peut pas dépasser 3 mois
- Maximum 2000 transactions par export
4. Networks (Réseaux)
4.1 List Networks
Lister tous les réseaux disponibles.
GET
/reseaux
Requis Auth (Bearer token)
Format de Réponse
Success Response
{
"success": true,
"message": "Message de succès",
"data": { ... },
"meta": { ... }
}
Error Response
{
"success": false,
"message": "Message d'erreur",
"errors": { ... }
}
HTTP Status Codes
| Code | Description |
|---|---|
| 200 | OK |
| 201 | Created |
| 401 | Unauthorized (token manquant ou invalide) |
| 403 | Forbidden (action non autorisée) |
| 404 | Not Found (ressource introuvable) |
| 422 | Unprocessable Entity (erreur de validation) |
| 500 | Internal Server Error |