Skip to Content
APIExemples de code

Exemples de code — API

Clients prêts à copier-coller pour les trois opérations de l’API (ERP en ligne)certifier, lister et récupérer une facture — en cURL, PHP, Python, JavaScript (Node.js), Java et C#. Toutes les requêtes partagent la même authentification par en-tête X-API-Key et la même base d’URL.

  • Base URL : https://api.sfec.gouv.cg (production) · https://sandbox.api.sfec.gouv.cg (sandbox).
  • Authentification : en-tête X-API-Key: <votre_clé> sur chaque requête. Voir Authentification.
  • Les exemples lisent la clé depuis la variable d’environnement SFEC_API_KEY — ne codez jamais votre clé en dur.

Certifier une facture

POST /api/v1/invoices201 Created. Le corps est la facture au format JSON (le SFEC renvoie le numéro de certification, la signature et le QR code). Facture d’exemple cohérente utilisée dans tous les onglets :

{ "invoice_id": "INV-2026-000123", "invoice_type": "salesInvoice", "recipient_type": "individual", "recipient_name": "Jean Dupont", "is_recipient_taxable": false, "subtotal": 10000, "total_tax_t_amount": 1800, "total_tax_r_amount": 0, "total_exempt_amount": 0, "total_tax_amount": 1800, "discount_amount": 0, "total_line_discount_amount": 0, "additional_cent_tax": 0, "electronic_stamp_duty": 0, "total_amount": 11800, "amount_due": 11800, "currency": "XAF", "payment_method": "cash", "items": [ { "designation": "Service de conseil", "type": "service", "unit_price": 10000, "quantity": 1, "subtotal": 10000, "discount_amount": 0, "discount_type": "fixed", "net_amount": 10000, "tax_rate": "18", "tax_amount": 1800, "total_amount": 11800 } ] }
curl -X POST "https://api.sfec.gouv.cg/api/v1/invoices" \ -H "X-API-Key: $SFEC_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "invoice_id": "INV-2026-000123", "invoice_type": "salesInvoice", "recipient_type": "individual", "recipient_name": "Jean Dupont", "is_recipient_taxable": false, "subtotal": 10000, "total_tax_t_amount": 1800, "total_tax_r_amount": 0, "total_exempt_amount": 0, "total_tax_amount": 1800, "discount_amount": 0, "total_line_discount_amount": 0, "additional_cent_tax": 0, "electronic_stamp_duty": 0, "total_amount": 11800, "amount_due": 11800, "currency": "XAF", "payment_method": "cash", "items": [{ "designation": "Service de conseil", "type": "service", "unit_price": 10000, "quantity": 1, "subtotal": 10000, "discount_amount": 0, "discount_type": "fixed", "net_amount": 10000, "tax_rate": "18", "tax_amount": 1800, "total_amount": 11800 }] }'

Lister les factures

GET /api/v1/invoices200 OK. Pagination (page ≥ 1, pageSize 1–20) et filtres optionnels (invoice_type, date_start, date_end). Voir Lister les factures.

curl "https://api.sfec.gouv.cg/api/v1/invoices?page=1&pageSize=10&invoice_type=salesInvoice" \ -H "X-API-Key: $SFEC_API_KEY" \ -H "Accept: application/json"

Récupérer une facture

GET /api/v1/invoices/{id}200 OK. {id} est l’identifiant unique (UUID) ou le invoice_number (ex. INV-2026-000123). Renvoie 404 si la facture est introuvable.

curl "https://api.sfec.gouv.cg/api/v1/invoices/INV-2026-000123" \ -H "X-API-Key: $SFEC_API_KEY" \ -H "Accept: application/json"

Toutes les requêtes exigent l’en-tête X-API-Key. Une clé absente ou invalide renvoie 401 ; une pagination hors plage (pageSize > 20) renvoie 400. Voir les codes d’erreur et la FAQ.


Étape suivante → Référence OpenAPI