Ceci est un guide d’architecture, pas une référence complète de l’API. Il se concentre sur la manière dont les éléments s’articulent pour les plateformes multi-tenant. Pour les corps de requête/réponse exhaustifs, suivez les liens vers Création d’espaces de travail, Marque blanche et Domaines personnalisés.
Vue d’ensemble de l’architecture : entreprise → espaces de travail
La hiérarchie de comptes de Firma comporte deux niveaux :- Entreprise — l’entité de facturation. Une entreprise détient un abonnement Firma, une clé API principale et des valeurs par défaut à l’échelle du compte.
- Espaces de travail — unités organisationnelles au sein d’une entreprise. Chaque espace de travail possède ses propres modèles, demandes de signature, utilisation d’enveloppes, clé API et marque.
null hérite de la valeur de l’entreprise. Cela signifie que l’intégration d’un nouveau client ne nécessite de définir que ce qui est réellement différent pour lui — tout le reste retombe sur la valeur par défaut de votre plateforme. Consultez Hiérarchie des paramètres pour l’ensemble des règles de cascade.
Un espace de travail par client final est le choix par défaut approprié. Ne répartissez un même client sur plusieurs espaces de travail que s’il possède des équipes ou unités commerciales véritablement distinctes ayant besoin de leurs propres bibliothèques de modèles isolées et de leur propre suivi d’utilisation — consultez Espaces de travail.
Provisionner un espace de travail par client
Lorsqu’un nouveau client s’inscrit sur votre plateforme, créez son espace de travail Firma dans le cadre de votre propre flux d’intégration.1
Créez l'espace de travail
Appelez La réponse inclut l’
POST /workspaces avec la clé API maîtresse de votre plateforme lorsqu’un nouveau client s’inscrit :id du nouvel espace de travail, son api_key de production et son test_api_key. Conservez l’id de l’espace de travail avec l’enregistrement du client dans votre propre base de données — vous l’utiliserez pour chaque appel API ultérieur associé à ce client.2
Appliquez la marque
Importez le logo du client et définissez ses couleurs immédiatement après la création (voir Marque par client ci-dessous), afin que l’espace de travail ne connaisse jamais un moment sans marque.
3
Stockez la clé propre à l'espace de travail
Décidez si votre backend appellera Firma avec la clé maîtresse de votre plateforme (avec
workspace_id dans le corps de la requête) ou avec la clé propre à l’espace de travail. Consultez Isolation des clés API pour connaître le compromis.Marque par client
Chaque espace de travail peut remplacer le logo et les couleurs par défaut de votre plateforme, afin que les signataires de chaque client voient la marque de ce client, ni la vôtre ni celle de Firma. Logo. Importez un logo spécifique à l’espace de travail, qui remplace votre logo au niveau de l’entreprise uniquement pour cet espace de travail :color_primary, color_background, color_card, entre autres) via PUT /workspace/{workspace_id}/settings. C’est la même ressource de paramètres qui est utilisée pour les autres options d’affichage par client, comme show_signature_frame et show_qr_code.
show_custom_branding_only est un interrupteur au niveau de l’entreprise, pas par espace de travail — il supprime la marque Firma pour toute votre entreprise (tous vos clients à la fois). Si vous appliquez une marque blanche pour vos propres clients, activez-le une seule fois au niveau de l’entreprise plutôt que d’essayer de le définir par espace de travail.
La référence complète des couleurs, les conditions personnalisées pour les signataires et la personnalisation du libellé du bouton de signature sont documentées dans Marque blanche.
Domaines d’email par client
Si un client souhaite que les invitations de signature proviennent de son propre domaine (noreply@sign.tenant.com) plutôt que du domaine de votre plateforme, configurez un domaine d’email au niveau de l’espace de travail. Les domaines d’espace de travail remplacent le domaine au niveau de l’entreprise uniquement pour cet espace de travail — tout le reste utilise par défaut le domaine de votre plateforme.
Le flux de vérification est le même processus en quatre étapes (ajouter le domaine → vérifier la propriété via un enregistrement TXT → finaliser → vérifier le DNS) que pour les domaines au niveau de l’entreprise, simplement sur des endpoints propres à l’espace de travail :
La plupart des plateformes multi-tenant n’en ont besoin que pour les clients qui le demandent explicitement. Le laisser non défini signifie que l’espace de travail du client hérite simplement du domaine de votre plateforme au niveau de l’entreprise (ou du domaine par défaut de Firma) — aucune action requise dans le cas courant.
Isolation et gestion des clés API
Chaque espace de travail obtient sa propre clé API de production et de test dès sa création, indépendante des clés de tout autre espace de travail et de la clé maîtresse de votre entreprise. Deux schémas d’intégration :- Clé maîtresse,
workspace_iddans le corps — votre backend détient une seule clé API (celle de l’entreprise) et transmetworkspace_idà chaque requête (création de modèles, envoi de demandes de signature, etc.). Plus simple à exploiter ; une seule clé à faire tourner. C’est le choix par défaut approprié pour la plupart des plateformes, puisque votre backend constitue déjà la frontière de confiance entre vos clients et Firma. - Clés propres à chaque client — remettez directement la clé d’espace de travail de chaque client à ce client (par exemple si le client exploite son propre backend et appelle Firma sans passer par vos serveurs). N’utilisez cette approche que lorsqu’un client a réellement besoin d’un accès API direct ; cela signifie que vous distribuez et faites désormais tourner N clés au lieu d’une seule.
expires_at) plutôt que de la désactiver instantanément, afin que les intégrations en cours ne se cassent pas en pleine requête. Une fois que vous avez confirmé que la nouvelle clé fonctionne, expirez l’ancienne immédiatement plutôt que d’attendre la fin du délai de grâce :
403 avec PROTECTED_WORKSPACE indique que vous en avez ciblé un par erreur. La régénération des clés live et test sont des opérations indépendantes ; régénérer l’une n’affecte jamais l’autre.
Éditeurs intégrés par client
Pour permettre aux propres utilisateurs d’un client de créer des modèles ou de configurer des demandes de signature sans quitter votre produit, intégrez les éditeurs de Firma avec un JWT de courte durée plutôt que d’exposer une clé API au navigateur :Assembler le tout
Un flux d’intégration multi-tenant typique, de bout en bout :- Le client s’inscrit sur votre plateforme →
POST /workspacescrée son espace de travail Firma. - Importez son logo et définissez ses couleurs (ou laissez les deux non définis pour hériter de la valeur par défaut de votre plateforme).
- S’il le demande, configurez un domaine d’email au niveau de l’espace de travail et/ou des conditions personnalisées pour les signataires.
- Votre backend stocke l’
idde l’espace de travail avec l’enregistrement du client et l’utilise (avec votre clé API maîtresse) pour chaque modèle, demande de signature et webhook associé à ce client. - Si les propres utilisateurs du client doivent créer des modèles ou configurer des demandes de signature dans l’application, générez des JWT par modèle et intégrez les éditeurs.
Guides associés
- Création d’espaces de travail — CRUD des espaces de travail, listage et l’indicateur
protected - Marque blanche — référence complète de marque, conditions, modèles d’email et intégration
- Domaines personnalisés — enregistrements DNS, états de vérification et résolution des conflits DKIM
- Éditeur de modèles intégrable · Éditeur de demandes de signature intégrable · Signature intégrable
- Webhooks — suivez l’activité de signature par espace de travail client