MobiTrace API

API RESTful pour la gestion des transactions de transfert d'argent

Version 1.2 | 2026-09-18

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, personnalisee
  • date_debut, date_fin: pour période personnalisée
  • reseau_id, reseau_code: filtre par réseau
  • type_operation: depot, retrait
  • statut: ENREGISTREE, MODIFIEE, ANNULEE
  • montant_min, montant_max: tranche de montant
  • sort_by: date, amount, created_at, montant
  • sort_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