API REST pour développeurs

eFacture Connect

Intégrez la facture électronique tunisienne dans votre ERP existant. Envoyez du JSON, recevez un XML signé (TEIF v1.8.8 + XAdES) et un PDF avec QR code.

Déjà inscrit ? Accéder à mon tableau de bord →
Réponse en moins de 5 secondes
TEIF v1.8.8 conforme
Archivage 10 ans
Statut des services
Signer une facture
$ curl -X POST \
  https://efacturetn.com/api/v1/einvoices/process \
  -H "X-Api-Key: sk_test_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "invoice_number": "F-001",
     "date": "2026-06-13",
     "seller": { "name":"...", "tax_id":"1234567MAM000", "address":"Tunis" },
     "buyer":  { "name":"...", "tax_id":"7654321XAM000" },
     "items":  [ { "description":"Service", "quantity":1,
                   "unit_price":500, "vat_rate":19 } ] }'

// Réponse (~5 secondes)
{
  "success": true,
  "data": {
    "status":        "signed",
    "ttn_reference": "TTN-TEST-XXXXX",
    "xml_base64":    "PD94bWwgdmVyc2lvbj0i...",
    "pdf_base64":    "JVBERi0xLjQKJaqr..."
  }
}

Comment ça marche

Vous envoyez, on s'occupe de tout

1
Vous envoyez
Vos données de facturation en JSON
2
On traite
XML conforme, signature, envoi TTN
Vous recevez
XML signé + PDF avec QR code

Tout est inclus

Un prix par facture, pas de frais cachés

Signature électronique

XAdES-BES conforme avec certificat tunisien. SEAL automatique ou DigiGo avec PIN + OTP.

Envoi TTN automatique

Soumission directe avec retry intelligent et circuit breaker si TTN indisponible.

PDF + QR Code

PDF professionnel avec QR code de vérification généré automatiquement.

Archivage 10 ans

Chaque facture archivée conformément à la législation tunisienne.

Validation gratuite

Vérifiez vos factures avant signature avec /einvoices/validate. Aucun crédit consommé.

Dashboard temps réel

Taux de succès, crédits, erreurs et latence p50/p95 dans votre console admin.

Webhooks HMAC

Notification sur votre URL callback à chaque facture validée ou rejetée, signée HMAC-SHA256.

2 environnements

Sandbox gratuit illimité (sk_test_) pour tester, production (sk_live_) quand vous êtes prêt.

Deux modes de signature

Choisissez selon votre cas d'usage. Vous pouvez basculer de l'un à l'autre par requête.

RECOMMANDÉ

SEAL

Cachet électronique serveur

Synchrone, ~5 secondes, aucune interaction utilisateur. La signature est appliquée automatiquement par notre serveur.

  • Aucune page de signature, 0 clic utilisateur
  • Idéal pour ERP back-office et volumes élevés
  • XML signé + PDF retournés dans la réponse directe
POST /api/v1/einvoices/process

DigiGo

Signature à distance PIN + OTP

Asynchrone. Le client final signe lui-même sur une page sécurisée avec son PIN et un OTP reçu par SMS.

  • Certificat personnel du signataire
  • Récupération par polling ou webhook
  • Idéal pour signature personnelle / petits volumes
POST /api/v1/einvoices/prepare

Plus de détails dans le guide d'intégration.

Sécurité de niveau entreprise

Clés hashées SHA256
Les clés API ne sont jamais stockées en clair. Comparaison timing-safe (hash_equals) pour empêcher les attaques par chronométrage.
Rotation à la demande
Révoquez et regénérez votre clé live en 1 clic depuis le back-office. L'ancienne clé devient invalide immédiatement.
TLS 1.2+ obligatoire
Toutes les communications sont chiffrées en HTTPS. Aucun appel HTTP n'est accepté.
Rate limiting atomique
Sliding window via Symfony RateLimiter. 60 req/min par défaut, configurable par client.
Webhooks signés HMAC
Les notifications sortantes sont signées HMAC-SHA256 (header X-Efacture-Signature). Vérifiez l'intégrité côté serveur.
Logs traçables
Chaque requête tracée (endpoint, status, latence, IP) avec rétention 90 jours, 180 jours pour les erreurs.
Headers requis
// Requête entrante (votre ERP → notre API)
X-Api-Key: sk_live_xxxxx...
Content-Type: application/json

// Webhook sortant (notre API → votre URL)
// Vérifiez la signature HMAC côté serveur :
X-Efacture-Signature: sha256=<hex>
Content-Type: application/json

Testez maintenant

Inscrivez-vous, vérifiez votre email, recevez votre clé sandbox sk_test_xxx et commencez à intégrer. Aucun crédit consommé en mode test.

Terminal
$ curl https://efacturetn.com/api/v1/status

{
  "success": true,
  "data": {
    "status": "operational",
    "version": "1.0.0"
  }
}

Besoin d'aide pour l'intégration ?

Notre équipe prend en charge l'intégration dans votre système existant, quelle que soit la technologie (SAP, Odoo, Sage, logiciel maison). Sur devis.

Demander un devis

Questions fréquentes

Qu'est-ce qu'eFacture Connect ?
eFacture Connect est une API REST qui permet d'intégrer la facture électronique tunisienne (format TEIF v1.8.8 + signature XAdES) dans n'importe quel ERP ou logiciel existant. Vous envoyez vos données de facture en JSON, nous retournons le XML signé et le PDF avec QR code, prêts à être déposés chez TunisieTradeNet.
Faut-il changer de logiciel pour utiliser l'API ?
Non. eFacture Connect s'intègre à votre système existant. Vous gardez votre ERP, votre CRM ou votre logiciel de facturation. L'API s'ajoute comme une brique supplémentaire, en mode synchrone (SEAL) ou asynchrone (DigiGo).
Quelle est la différence entre SEAL et DigiGo ?
SEAL utilise un cachet électronique serveur : signature 100% automatique, synchrone (~5 secondes), idéal pour les volumes élevés. DigiGo nécessite une intervention utilisateur (PIN + OTP par SMS) sur une page sécurisée : recommandé pour la signature personnelle. Vous pouvez basculer entre les deux par requête via le champ method.
Les factures sont-elles archivées ?
Oui. Chaque facture signée est archivée automatiquement pendant 10 ans, conformément à la législation tunisienne. Vous pouvez télécharger vos fichiers à tout moment via l'endpoint GET /einvoices/{id}.
Comment tester l'API avant de s'engager ?
Inscrivez-vous sur le portail développeurs et vérifiez votre email : vous recevez ensuite une clé sandbox au format sk_test_xxx. L'environnement de test est gratuit, illimité, et signe avec un faux certificat (TTN-TEST-XXXXX). Aucun crédit consommé. Vous passez en production simplement en remplaçant la clé par sk_live_xxx.
Quel est le temps de réponse ?
En moyenne moins de 5 secondes pour signer une facture en mode SEAL et recevoir le XML + PDF. Le rate limiter accepte 60 requêtes par minute par défaut (configurable). Les latences p50/p95 sont visibles dans votre console admin.
Comment recevoir une notification quand une facture DigiGo est signée ?
Configurez un webhook : nous appelons votre URL HTTPS dès que la signature passe à validated ou rejected. Le payload est signé HMAC-SHA256 (header X-Efacture-Signature) pour vérifier l'intégrité. 3 tentatives en cas d'échec (immédiat, +1 min, +5 min).

Demander un devis

Tarification sur mesure selon votre volume. Réponse sous 24h.

14 - 2 = ?