FactureAfrica

Documentation de l'API REST

Intégrez FactureAfrica à vos propres outils et applications.

Introduction

L'API REST de FactureAfrica permet de créer et consulter vos factures, clients et produits par programmation. Toutes les requêtes et réponses sont en JSON.

URL de base

https://www.factureafrica.com/api/v1

Authentification

Chaque requête doit inclure votre clé API dans l'en-tête Authorization. Générez une clé depuis Paramètres → Clés API.

Authorization: Bearer fa_live_votre_cle_ici

Portées des clés

Une clé « lecture seule » ne peut effectuer que des requêtes GET. Une clé « lecture + écriture » peut aussi créer des ressources (POST).

Limites de débit

120 requêtes par minute et par clé API. Au-delà, l'API répond 429 Too Many Requests.

Codes d'erreur

400Paramètres invalides ou manquants
401Clé API manquante, invalide ou révoquée
402Factures gratuites épuisées — achetez un pack
403Clé en lecture seule utilisée pour une écriture
404Ressource introuvable
429Limite de débit dépassée

Ressources

GET/factures

Liste vos factures, les plus récentes en premier.

Paramètres

  • limite (optionnel)Nombre max de résultats (défaut 50, max 200)

Exemple de requête

curl https://www.factureafrica.com/api/v1/factures \
  -H "Authorization: Bearer fa_live_..."

Exemple de réponse

{
  "data": [
    {
      "id": "aB3cD9eF",
      "numero": "FAC-2026-0042",
      "clientInfo": { "nom": "Zoé Sononkpon", "email": "zoe@exemple.com" },
      "total": 250000,
      "statut": "payee",
      "createdAt": "2026-08-19T10:30:00.000Z"
    }
  ]
}
POST/factures

Crée une nouvelle facture.

Paramètres

  • clientInfo.nom (requis)Nom du client
  • lignes (requis)Tableau de { designation, quantite, prixUnitaire }
  • tvaTaux (optionnel)VAT %
  • remisePct (optionnel)Remise %
  • modeReglement (optionnel)"en_ligne" | "manuel"

Exemple de requête

curl -X POST https://www.factureafrica.com/api/v1/factures \
  -H "Authorization: Bearer fa_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "clientInfo": { "nom": "Zoé Sononkpon" },
    "lignes": [{ "designation": "Site web", "quantite": 1, "prixUnitaire": 250000 }]
  }'

Exemple de réponse

{
  "id": "aB3cD9eF",
  "publicId": "xY7zQ2wR",
  "numero": "FAC-2026-0043",
  "total": 250000
}
GET/clients

Liste vos clients.

Exemple de requête

curl https://www.factureafrica.com/api/v1/clients \
  -H "Authorization: Bearer fa_live_..."

Exemple de réponse

{
  "data": [
    { "id": "kL9mN2pQ", "nom": "Zoé Sononkpon", "email": "zoe@exemple.com" }
  ]
}
POST/clients

Crée un client.

Paramètres

  • nom (requis)Nom du client
  • email (optionnel)Email
  • telephone (optionnel)Téléphone
  • ifu (optionnel)IFU / Tax ID
  • adresse (optionnel)Adresse

Exemple de requête

curl -X POST https://www.factureafrica.com/api/v1/clients \
  -H "Authorization: Bearer fa_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "nom": "Zoé Sononkpon", "email": "zoe@exemple.com" }'

Exemple de réponse

{ "id": "kL9mN2pQ", "nom": "Zoé Sononkpon" }
GET/produits

Liste vos produits.

Exemple de requête

curl https://www.factureafrica.com/api/v1/produits \
  -H "Authorization: Bearer fa_live_..."

Exemple de réponse

{
  "data": [
    { "id": "rT4uV8wX", "nom": "Sac de riz 50kg", "prix": 25000, "gererStock": true, "quantiteStock": 42 }
  ]
}
POST/produits

Crée un produit.

Paramètres

  • nom (requis)Nom du produit
  • prix (requis)Prix (XOF)
  • gererStock (optionnel)Activer le suivi de stock (booléen)
  • quantiteStock (optionnel)Quantité initiale
  • entrepotId (optionnel)Entrepôt cible (par défaut l'entrepôt actif)

Exemple de requête

curl -X POST https://www.factureafrica.com/api/v1/produits \
  -H "Authorization: Bearer fa_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "nom": "Sac de riz 50kg", "prix": 25000, "gererStock": true, "quantiteStock": 50 }'

Exemple de réponse

{ "id": "rT4uV8wX", "nom": "Sac de riz 50kg", "prix": 25000 }