Authentification

EFact utilise des clés API pour authentifier les requêtes. Deux types de clés existent, chacun avec un périmètre d'usage distinct.

Types de clés

TypePréfixeUtilisée parAccès
Clé secrète sk_live_xxx / sk_test_xxxBackend uniquementÉcriture + lecture (tous endpoints)
Clé publiable pk_live_xxx / pk_test_xxxFrontend (navigateur)Lecture seule via client_secret

Règle absolue : ne jamais exposer la clé secrète côté frontend ou dans un dépôt Git.

Utiliser la clé secrète

Via le header HTTP

HTTP Header
POST /v1/invoices
Authorization: Bearer sk_live_abc123...
Content-Type: application/json

Via le SDK Node

Node.js SDK
const itz = new Itzenata(process.env.ITZENATA_SECRET_KEY)

Via le SDK Java

Java SDK
Itzenata itz = new Itzenata(System.getenv("ITZENATA_SECRET_KEY"));

La clé secrète est passée à l'initialisation du client - elle est incluse dans chaque requête automatiquement.

Utiliser la clé publiable

La clé publiable est destinée à être embarquée dans le code frontend. Elle ne permet pas de créer des ressources - elle donne uniquement accès au statut d'une facture via son client_secret.

React Component
<ItzenataProvider publishableKey="pk_live_xyz789">
  <InvoiceStatus clientSecret={clientSecret} />
</ItzenataProvider>

Le client_secretest un token unique par facture, généré côté backend et transmis au frontend. Il ne donne accès qu'à cette unique facture.

Environnements

EnvironnementPréfixe des clésComportement DGI
Test sk_test_ / pk_test_Transmission mockée (aucun appel DGI réel)
Live sk_live_ / pk_live_Transmission réelle vers la DGI

Utiliser systématiquement les clés test en développement et préproduction.

Variables d'environnement recommandées

.env
# .env (ne jamais committer ce fichier)
ITZENATA_SECRET_KEY=sk_test_...
ITZENATA_PUBLISHABLE_KEY=pk_test_...
ITZENATA_WEBHOOK_SECRET=whsec_...

Important : ne jamais committer ce fichier dans votre dépôt Git.

Gestion des clés dans le dashboard

  1. 1
    Créer une clé : Dashboard > API Keys > Nouvelle clé
  2. 2
    Voir le préfixe : la clé complète n'est affichée qu'à la création - copier immédiatement
  3. 3
    Révoquer une clé : Dashboard > API Keys > Révoquer - effet immédiat, toutes les requêtes en cours avec cette clé sont rejetées
  4. 4
    Rotation : créer la nouvelle clé, déployer avec la nouvelle valeur, puis révoquer l'ancienne

Sécurité et stockage de vos clés

Pour garantir une sécurité maximale de vos données fiscales, EFact ne stocke jamais vos clés secrètes en clair.

Elles sont protégées en base de données par un algorithme de hachage unidirectionnel fort (bcrypt), conformément aux standards de sécurité de l'industrie. Ainsi, même en cas d'audit ou d'accès interne, personne ne peut lire votre clé. Si vous suspectez une fuite de votre côté, la révocation depuis votre Dashboard la neutralise instantanément.

Erreurs d'authentification courantes

Code HTTPCauseSolution
401 UnauthorizedClé manquante ou header mal formatéVérifier Authorization: Bearer sk_...
401 UnauthorizedClé invalide ou révoquéeRegénérer la clé dans le dashboard
403 ForbiddenClé publiable utilisée sur un endpoint d'écritureUtiliser la clé secrète côté backend
403 Forbiddenclient_secret ne correspond pas au tenantVérifier que le client_secret vient bien du même tenant