API Reference FarmLink  v1.0

API Reference FarmLink v1.0

Documentation technique complète de l'ensemble de nos endpoints, avec des exemples d'appels et des listes de codes d'erreur.

Base URL

https://farmlinkmali.com/api/v1

Authentification

Toutes les requêtes doivent inclure un header d'authentification :

Avec API Key :

X-API-Key: fl_xxxxx_xxxxxxxxxxxxxxxx

Avec Bearer Token (OAuth) :

Authorization: Bearer <access_token>

Rate Limiting

Les headers suivants sont inclus dans chaque réponse :

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200

Utilisateur

GET/api/v1/meread:profile
Récupérer le profil de l'utilisateur connecté

Fermes

GET/api/v1/fermesread:fermes
Liste des fermes de l'utilisateur
GET/api/v1/fermes/:idread:fermes
Détails d'une ferme

Parcelles

GET/api/v1/parcellesread:parcelles
Liste des parcelles
GET/api/v1/parcelles/:idread:parcelles
Détails d'une parcelle

Cultures

GET/api/v1/culturesread:cultures
Liste des cultures
GET/api/v1/cultures/:idread:cultures
Détails d'une culture
POST/api/v1/cultureswrite:cultures
Créer une nouvelle culture
PUT/api/v1/cultures/:idwrite:cultures
Modifier une culture
DELETE/api/v1/cultures/:idwrite:cultures
Supprimer une culture

Budget

GET/api/v1/transactionsread:budget
Liste des transactions
POST/api/v1/transactionswrite:budget
Créer une transaction

Inventaire

GET/api/v1/inventaireread:inventaire
Liste du stock
POST/api/v1/inventairewrite:inventaire
Ajouter un article
PUT/api/v1/inventaire/:idwrite:inventaire
Modifier un article

Exemple de réponse

GET /api/v1/cultures

{
  "data": [
    {
      "id": "clx1234567890",
      "nom": "Maïs",
      "variete": "Hybride",
      "statut": "CROISSANCE",
      "dateDebut": "2024-03-15",
      "dateFin": null,
      "rendementEstime": 5000,
      "parcelle": {
        "id": "clx0987654321",
        "nom": "Parcelle Nord"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 45,
    "totalPages": 3
  }
}

Codes d'erreur

CodeDescription
400Requête invalide
401Non authentifié
403Accès refusé (scope manquant)
404Ressource non trouvée
429Trop de requêtes (rate limit)
500Erreur serveur