Aller au contenu principal

Partner Signer — Aperçu

Partner Signer est l'offre pour les éditeurs de logiciels (ISV) qui veulent permettre à leurs propres clients de signer localement des factures TEIF avec leur carte à puce TunTrust (PKCS#11/USB), via l'agent local FatooraSigner — sans jamais manipuler le code PIN ni le transmettre à vos serveurs.

Différent de Partner API

Contrairement à Partner API, il n'y a aucune étape de consentement côté client : c'est vous, le partenaire, qui pré-enregistrez directement les matricules fiscaux de vos clients, sur la base de votre propre relation commerciale avec eux.

Les acteurs

  • Vous (l'application partenaire) — un ISV qui intègre une UI de signature dans sa propre application web.
  • Fatoora Cloud (business.fatoora.tn) — émet les JWT du client final et valide chaque session de signature contre votre whitelist de domaines et votre liste de clients pré-enregistrés.
  • FatooraSigner — l'agent local installé sur la machine du client final. Il parle au token PKCS#11 directement, et à Fatoora Cloud pour la validation de session — jamais à vos serveurs.
  • Le client final — la personne qui signe, avec sa propre carte à puce TunTrust.
  • TTN — l'agent local FatooraSigner peut soumettre directement les factures signées à TTN (voir Authentification et signature) — une capacité que Partner API n'expose pas.

Principes clés

  • Pas d'étape OTP. Vous pré-enregistrez vous-même le matricule fiscal d'un client (POST /api/partner/signer/clients) — Fatoora ne demande pas au client d'approuver. Vous êtes responsable d'avoir votre propre accord avec chaque client avant de le pré-enregistrer.
  • Le PIN ne quitte jamais la machine du client. Il est envoyé directement du navigateur vers 127.0.0.1:38443, chiffré en mémoire pour la durée de la session, jamais transmis à Fatoora Cloud ni à vos serveurs.
  • La whitelist de domaines protège la vérification de session côté cloud, pas la politique CORS de l'agent local — ce sont deux couches distinctes, détaillées dans Authentification et signature.

Workflow

ÉtapeActeurAction
1ClientCrée un compte Fatoora
2Partenaire → FatooraWhiteliste le domaine de son application web (une fois)
3Partenaire → FatooraPré-enregistre le matricule du client (aucune action requise du client)
4Client → FatooraSe connecte, obtient un JWT court-terme
5Client → FatooraSignerOuvre une session de pont locale (JWT + identifiant partenaire)
6FatooraSigner → FatooraValide la session (domaine + matricule pré-enregistré)
7Client → FatooraSignerSigne la facture TEIF avec le PIN PKCS#11 local
8Partenaire → FatooraPeut lister ses clients et domaines à tout moment

Onboarding

Étape 1 — Inscription

POST /api/partner/register
{ "partnerType": "signer", "companyName": "...", "contactEmail": "..." }

Provisionne un clientId + client secret (même mécanisme que Partner API). Votre compte démarre en pending_verification.

Pas de visibilité catalogue

Les partenaires Signer ne sont jamais listés dans le catalogue public — vos clients vous connaissent déjà via votre propre produit, pas via Fatoora.

Si votre produit a aussi besoin d'une intégration API classique, inscrivez-vous avec partnerType: "both" pour débloquer les deux offres.

Étape 2 — Whitelister vos domaines

POST /api/partner/signer/domains   { "domain": "votreapp.example.com" }

domain doit être un nom d'hôte nu (sans schéma). Plafonné à maxAllowedDomains selon votre plan (1 pour partner-signer, 5 pour partner-signer-pro).

Étape 3 — Pré-enregistrer vos clients

POST /api/partner/signer/clients   { "taxId": "1234567ABC000", "clientName": "Client SARL" }
POST /api/partner/signer/clients/bulk { "clients": [...] }

Plafonné à maxSignerClients selon votre plan (50 pour partner-signer, 300 pour partner-signer-pro).

Une fois le matricule pré-enregistré et actif, et le navigateur sur un domaine whitelisté, le client peut ouvrir une session de signature immédiatement.

Détail complet de ces endpoints : Gestion des domaines et clients.