API FacturEvo pour développeurs
REST publique pour automatiser facturation Factur-X, lire vos comptes, déclencher des écritures, intégrer Zapier/n8n/scripts. OpenAPI 3.0, trois niveaux d'accès par clé, limite de débit, webhooks signés HMAC-SHA256.
Authentification
Générez une clé sur /settings/api-keys (rôle admin requis). Format : flab_live_xxxxxxxx_yyyyyyyy.
curl https://facturevo.fr/api/public/v1/invoices \ -H "Authorization: Bearer flab_live_..."
Toutes les requêtes nécessitent ce header. Le niveau d'accès choisi à la création (lecture seule, lecture-écriture ou complet) détermine les droits de la clé (read:invoices, write:invoices, read:clients, etc.).
Lister les factures payées du mois
curl "https://facturevo.fr/api/public/v1/invoices?status=paid&from=2026-04-01&to=2026-04-30" \ -H "Authorization: Bearer flab_live_..."
Réponse : { "data": [...], "limit": 50, "offset": 0, "count": 12 }
Créer un brouillon de facture
curl -X POST https://facturevo.fr/api/public/v1/invoices \
-H "Authorization: Bearer flab_live_..." \
-H "Content-Type: application/json" \
-d '{
"client_id": "8f1c...uuid",
"issue_date": "2026-04-30",
"payment_terms": 30,
"lines": [
{
"description": "Audit RGPD",
"quantity": 5,
"unit": "jour",
"unit_price_ht": 800,
"vat_rate": 20
}
]
}'La facture est créée en status: draft. La numérotation officielle + génération PDF Factur-X EN16931 ne s'active qu'à l'envoi (UI ou POST /invoices/{id}/send).
Recevoir des événements (webhooks)
Configurez un endpoint HTTPS sur /settings/webhooks. Vous recevez un POST JSON signé HMAC-SHA256 dans le header X-FacturEvo-Signature: sha256=<hex64> à chaque événement abonné.
Vérification signature côté receveur :
// Node.js / Next.js
import { createHmac, timingSafeEqual } from "node:crypto";
function verify(rawBody: string, header: string, secret: string) {
const expected =
"sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
return timingSafeEqual(
Buffer.from(expected, "utf8"),
Buffer.from(header, "utf8"),
);
}Événements disponibles : invoice.created, invoice.sent, invoice.paid, invoice.overdue, invoice.credited, invoice.refunded, expense.posted, client.created.
Sécurité & rate limiting
- • HTTPS obligatoire. URL de webhook refusée sinon.
- • Trois niveaux d'accès par clé : lecture seule, lecture-écriture ou complet — donnez à chaque outil le minimum nécessaire.
- • Auto-désactivation webhook après 10 échecs consécutifs (votre endpoint devient instable → on coupe pour éviter le DoS).
- • Serveurs de l'API en France (Clever Cloud, Paris).
OpenAPI 3.0 spec
Spec machine-readable pour générer un SDK avec openapi-generator, importer dans Postman, ou explorer dans Swagger UI.