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
| 400 | Paramètres invalides ou manquants |
| 401 | Clé API manquante, invalide ou révoquée |
| 402 | Factures gratuites épuisées — achetez un pack |
| 403 | Clé en lecture seule utilisée pour une écriture |
| 404 | Ressource introuvable |
| 429 | Limite de débit dépassée |
Ressources
/facturesListe 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"
}
]
}/facturesCrée une nouvelle facture.
Paramètres
clientInfo.nom(requis) — Nom du clientlignes(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
}/clientsListe 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" }
]
}/clientsCrée un client.
Paramètres
nom(requis) — Nom du clientemail(optionnel) — Emailtelephone(optionnel) — Téléphoneifu(optionnel) — IFU / Tax IDadresse(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" }/produitsListe 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 }
]
}/produitsCrée un produit.
Paramètres
nom(requis) — Nom du produitprix(requis) — Prix (XOF)gererStock(optionnel) — Activer le suivi de stock (booléen)quantiteStock(optionnel) — Quantité initialeentrepotId(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 }