Skip to Content
SFEC 1.0 Documentation 🎉
Authentification

Authentification

L’authentification varie selon le type d’intégration choisi. Cette page détaille les procédures pour chaque mode d’accès.

Prérequis : Disposer d’une clé API ou d’un token d’authentification + NIU (voir Prérequis)


1. Authentification API (ERP en ligne)

Pour les intégrations ERP, l’authentification se fait via une clé API dans l’en-tête HTTP.

Format :

X-API-Key: {votre_clé_api}

Exemple d’utilisation :

POST /api/invoices/certify X-API-Key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... Content-Type: application/json Accept: application/json

2. Authentification TCC/TFC (Module de contrĂ´le & Terminal fiscal)

Le processus d’authentification est identique pour les modules TCC et TFC.

Étape 1 : Récupération des certificats

Endpoint : POST /api/certificates/claim-with-token

RequĂŞte

POST https://dev-pgsfec.akieni.tech/api/certificates/claim-with-token Content-Type: application/json Accept: application/json

Paramètres de requête

ParamètreTypeDescriptionObligatoire
tokenstringToken d’authentification fourni via le portail e-Facture✅
niustringNuméro d’Identification Unique du contribuable✅

Exemple de payload

{ "token": "3710a397", "niu": "P000001212112130" }

Réponse

La réponse contient tous les éléments nécessaires pour l’authentification mTLS :

ParamètreTypeDescription
signingPrivateKeystringClé privée pour la signature numérique des factures (format PEM)
encryptionMasterKeystringClé maître de chiffrement pour sécuriser les données locales (hexadécimal)
mtlsClientCertificatestringCertificat client pour l’authentification mTLS (format PEM)
mtlsClientPrivateKeystringClé privée du certificat client mTLS (format PEM)
taxpayerInfoobjectInformations détaillées du contribuable
mtlsEndpointsobjectURLs des endpoints sécurisés mTLS

Exemple de réponse

{ "signingPrivateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC...", "encryptionMasterKey": "a1b2c3d4e5f6789012345678901234567890abcdef", "mtlsClientCertificate": "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAKoK...", "mtlsClientPrivateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...", "taxpayerInfo": { "id": "5a68e8a5-2183-44ab-8453-ba39dbeeaa63", "business_name": null, "trade_name": "akieni", "sciet": null, "scie_number": null, "niu": "P000001212112130", "phone": "0612345677", "email": "kratos@akieni.com", "rccm": "CG-BZV-1601", "legal_representative": "SARL", "currency": "CFA", "tax_residency_id": 3, "social_capital": "200000", "street_address": "Etienne Rue", "city": "Brazzaville", "department": "Brazzaville", "country": "Congo", "issuedAt": 1754487058075 }, "mtlsEndpoints": { "baseUrl": "https://dev-pgsfec.akieni.tech/api", "invoiceSubmission": "/invoices/report/tcc", "auditReporting": "/audit/report", "verification": "/verify-invoice?sign=" } }

Informations contribuable (taxpayerInfo)

ChampTypeDescription
idstringIdentifiant unique interne
trade_namestringNom commercial
niustringNuméro d’Identification Unique
rccmstringNuméro du Registre du Commerce
currencystringDevise utilisée
issuedAttimestampDate d’émission des certificats (Unix timestamp)

Endpoints mTLS (mtlsEndpoints)

ChampTypeDescription
baseUrlstringURL de base de l’API
invoiceSubmissionstringEndpoint pour la soumission des factures TCC/TFC
auditReportingstringEndpoint pour les rapports d’audit
verificationstringEndpoint pour la vérification des factures

Étape 2 : Configuration mTLS

Une fois les certificats obtenus, configurez votre client HTTP pour utiliser l’authentification mutuelle TLS :

  1. Certificat client : Utilisez mtlsClientCertificate et mtlsClientPrivateKey
  2. Validation serveur : Vérifiez le certificat du serveur SFEC
  3. Endpoints sécurisés : Utilisez uniquement les URLs fournies dans mtlsEndpoints
⚠️

Les certificats mTLS sont sensibles et doivent être stockés de manière sécurisée. Ne jamais les exposer dans les logs ou les transmettre via des canaux non sécurisés.