Cas d’usage
- Personnalisation des e-mails : Personnalisez les en-têtes et le corps des e-mails d’invitation à la signature
- Coordonnées de l’équipe : Définissez une adresse e-mail d’équipe pour les questions de support des destinataires
- Gestion du fuseau horaire : Configurez le fuseau horaire pour l’affichage des dates/heures et les rappels
- Applications multi-tenant : Séparez les paramètres par espace de travail pour les solutions en marque blanche
Consultez le guide sur les limites de débit.
Récupérer les paramètres de l’espace de travail
Récupérez les paramètres actuels de l’espace de travail, y compris les modèles d’e-mail, l’adresse e-mail de l’équipe et la configuration du fuseau horaire.Endpoint
Paramètres
workspace_id(string, requis) - UUID de l’espace de travail
Exemple - cURL
Réponse (200 OK)
La réponse inclut des champs supplémentaires au-delà des paramètres d’e-mail :
show_qr_code, require_otp_verification, require_terms_acceptance, allow_presigning_download, les paramètres de couleur, signing_button_label_overrides, les paramètres de la page de finalisation, et plus encore. Ce guide se concentre sur le sous-ensemble des modèles d’e-mail et de la personnalisation. Consultez la référence API pour le schéma complet de la réponse.En-têtes de limite de débit
Mettre à jour les paramètres de l’espace de travail
Mettez à jour les paramètres de l’espace de travail. Vous pouvez mettre à jour un ou plusieurs champs ; seuls les champs fournis seront modifiés.Endpoint
Paramètres
workspace_id(string, requis) - UUID de l’espace de travail
Corps de la requête
Tous les champs sont optionnels ; incluez uniquement les champs que vous souhaitez mettre à jour :Description des champs
signing_request_email_header(string, optionnel) - Texte d’en-tête personnalisé pour les e-mails de signature (max 500 caractères)signing_request_email_body(string, optionnel) - Texte de corps personnalisé pour les e-mails de signature (max 50000 caractères)team_email(string, optionnel) - Adresse e-mail valide pour le support aux destinatairestimezone(string, optionnel) - Identifiant de fuseau horaire IANA
Exemple - cURL
Réponse (200 OK)
Retourne les paramètres mis à jour de l’espace de travail :En-têtes de limite de débit
Exemples d’implémentation
Node.js (Express) - Récupérer les paramètres
Node.js (Express) - Mettre à jour les paramètres
Python (Flask) - Récupérer les paramètres
Python (Flask) - Mettre à jour les paramètres
React - Composant de gestion des paramètres
Personnalisation des modèles d’e-mail
Firma prend en charge deux niveaux de personnalisation des e-mails qui partagent le même moteur de placeholders : les champssigning_request_email_header / signing_request_email_body sur cet endpoint de paramètres (qui s’appliquent aux e-mails d’invitation à la signature et de signataire suivant, y compris les renvois manuels de l’un ou l’autre), et un éditeur de modèles d’e-mail par type plus riche dans la page Paramètres de l’espace de travail, qui vous permet de personnaliser le sujet et le corps indépendamment pour chaque type d’e-mail : invitation, signataire suivant, expiration, annulation, refus, finalisation et notifications de changement d’identité.
Référence des variables de modèle
Les placeholders sont insensibles à la casse et acceptent également la syntaxe historique
[bracket] (par exemple [signer_name]) en plus de la syntaxe {{curly}}. Un placeholder sans valeur pour un e-mail donné se résout simplement à rien ; les modèles n’affichent jamais un {{missing_variable}} brut.Disponibilité des variables par type d’e-mail
Les variables de signataire, document, équipe et entreprise se résolvent pour tous les types d’e-mail. Trois variables font exception :Les champs
signing_request_email_header / signing_request_email_body sur cet endpoint de paramètres n’affectent que les e-mails d’invitation et de signataire suivant. Pour personnaliser les e-mails d’expiration, d’annulation, de refus, de finalisation ou de changement d’identité, utilisez l’éditeur de modèles d’e-mail par type dans la page Paramètres de l’espace de travail.Logo de l’entreprise ({{company_logo}})
{{company_logo}} se résout via une chaîne de repli :
- Logo de l’espace de travail : utilisé si l’espace de travail a son propre logo téléchargé (rendu avec le nom de l’espace de travail comme texte
altde l’image). - Logo de l’entreprise : sinon, repli sur le logo de l’entreprise parente.
- Masqué : si aucun des deux n’est défini, le placeholder se résout à rien ; aucune image cassée n’est affichée.
max-width: 200px; max-height: 120px. La limite de hauteur empêche les logos inhabituellement grands de repousser le reste de l’e-mail sous la ligne de flottaison.
QR code dans les e-mails ({{signing_qr_code}})
{{signing_qr_code}} n’est renseigné que dans les e-mails d’invitation à la signature et de signataire suivant. Il permet au destinataire de scanner le code pour continuer la signature sur un autre appareil au lieu de cliquer sur un lien. Son affichage est contrôlé par un paramètre show_qr_code qui se propage en cascade :
- Paramètre au niveau de la demande de signature (si explicitement défini)
- Paramètre au niveau de l’espace de travail :
show_qr_codesur cet endpoint de paramètres - Valeur par défaut au niveau de l’entreprise
show_qr_code à true ou false au niveau de l’espace de travail via PUT /workspace/{workspace_id}/settings, ou laissez-le non défini (null) pour hériter de la valeur par défaut de l’entreprise.
E-mail de l’espace de travail ({{team_email}} / {{workspace_email}})
team_email est un champ au niveau de l’espace de travail, configuré sur cet endpoint de paramètres (ou depuis la page Paramètres de l’espace de travail, sous E-mail de contact de l’équipe). S’il n’est pas défini, il revient à support@firma.dev.
team_email est une valeur d’affichage uniquement ; elle est substituée partout où {{team_email}} ou {{workspace_email}} apparaît dans un modèle. Elle n’est pas utilisée comme adresse Reply-To de l’e-mail ; les réponses des destinataires vont à l’adresse d’envoi de Firma, pas à team_email.team_email a également un second rôle, sans rapport : pour les notifications de changement d’identité, c’est le destinataire réel. Firma envoie un e-mail à votre équipe à cette adresse lorsqu’un signataire change de nom en cours de processus, avec un repli sur l’e-mail du propriétaire du compte si team_email n’est pas défini.
Bonnes pratiques
En-tête d’e-mail (max 500 caractères) :- Soyez concis et orienté vers l’action
- Indiquez clairement l’objectif (« Signez votre contrat », « Consultez le document »)
- Évitez les textes génériques comme « Vous avez une notification »
- Expliquez ce que le destinataire doit faire
- Incluez les coordonnées du support
- Définissez les attentes (urgence, date limite si applicable)
- Gardez un ton professionnel mais convivial
Exemples de modèles
Services professionnels :Fuseaux horaires pris en charge
Les paramètres de l’espace de travail prennent en charge tous les identifiants de fuseau horaire IANA. Fuseaux horaires courants :États-Unis
America/New_York- Heure de l’EstAmerica/Chicago- Heure du CentreAmerica/Denver- Heure des RocheusesAmerica/Los_Angeles- Heure du PacifiqueAmerica/Anchorage- Heure de l’AlaskaPacific/Honolulu- Heure d’Hawaï
Europe
Europe/London- GMT/BSTEurope/Paris- Heure d’Europe centraleEurope/Berlin- Heure d’Europe centraleEurope/Madrid- Heure d’Europe centraleEurope/Rome- Heure d’Europe centrale
Asie-Pacifique
Asia/Tokyo- Heure standard du JaponAsia/Shanghai- Heure standard de ChineAsia/Singapore- Heure de SingapourAsia/Dubai- Heure standard du GolfeAustralia/Sydney- Heure de l’Est australien
Amériques
America/Toronto- Heure de l’Est (Canada)America/Vancouver- Heure du Pacifique (Canada)America/Mexico_City- Heure du Centre (Mexique)America/Sao_Paulo- Heure de Brasília
Limites de débit
Récupérer les paramètres de l’espace de travail
- Limite : 200 requêtes par minute
- Cas d’usage : Lectures fréquentes pour l’affichage du tableau de bord
- Recommandation : Mettre en cache les paramètres côté client pendant 5 à 10 minutes
Mettre à jour les paramètres de l’espace de travail
- Limite : 120 requêtes par minute
- Cas d’usage : Modifications de configuration par l’administrateur
- Recommandation : Temporiser les mises à jour dans l’interface (attendre 1 à 2 secondes après que l’utilisateur cesse de saisir)
En-têtes de limite de débit
Chaque réponse inclut :Gestion des limites de débit
Si vous dépassez la limite :- Implémenter la mise en cache côté client
- Temporiser les mises à jour fréquentes
- Vérifier
X-RateLimit-Remainingavant de faire des requêtes - Implémenter un backoff exponentiel pour les tentatives
Réponses d’erreur
400 Bad Request - Erreur de validation
Données d’entrée invalides (par exemple, e-mail mal formé, fuseau horaire invalide) :401 Unauthorized
Clé API invalide ou manquante :403 Forbidden
Vous n’avez pas accès à cet espace de travail (inter-entreprises ou permissions insuffisantes) :404 Not Found
L’espace de travail n’existe pas ou a été supprimé :429 Too Many Requests
Limite de débit dépassée :X-RateLimit-Reset (horodatage ISO 8601) pour savoir quand vous pouvez réessayer.
Bonnes pratiques multi-tenant
Pour les applications multi-tenant (plusieurs espaces de travail) :1. Mettre en cache les paramètres par espace de travail
2. Valider l’accès à l’espace de travail
Vérifiez toujours que l’utilisateur authentifié a accès à l’espace de travail :3. Journalisation d’audit
Journalisez tous les changements de paramètres pour la conformité :4. Paramètres par défaut à la création de l’espace de travail
Définissez des valeurs par défaut raisonnables lors de la création de nouveaux espaces de travail :Dépannage
Les paramètres ne s’appliquent pas aux e-mails
Symptôme : Les paramètres mis à jour n’apparaissent pas dans les e-mails de signature Causes possibles :- Cache des modèles d’e-mail non vidé
- Mauvais identifiant d’espace de travail utilisé
- Les mises à jour n’ont pas été sauvegardées (vérifiez la réponse de l’API)
- Vérifiez que la mise à jour a réussi (réponse 200)
- Testez avec une nouvelle demande de signature (pas un brouillon existant)
- Vérifiez que l’identifiant de l’espace de travail correspond à la demande de signature
Erreur de fuseau horaire invalide
Symptôme : Erreur 400 lors de la définition du fuseau horaire Solution : Utilisez les identifiants de fuseau horaire IANA (par exemple,America/New_York). L’API valide uniquement le format (lettres, underscores, barres obliques) ; les abréviations comme EST passent la validation mais peuvent ne pas fonctionner correctement pour les transitions d’heure d’été. Utilisez toujours le nom complet de la zone IANA.
Échec de validation de l’e-mail de l’équipe
Symptôme : Erreur 400 lors de la mise à jour de l’e-mail de l’équipe Solution : Assurez-vous d’un format d’e-mail valide (contient @ et un domaine)Limite de débit dépassée
Symptôme : Erreurs 429 lors de la mise à jour des paramètres Solution :- Implémenter la temporisation sur les champs de formulaire
- Mettre en cache les paramètres côté client
- Attendre
X-RateLimit-Resetavant de réessayer
Consultez le guide sur les limites de débit.
Référence API
Pour les détails complets sur les opérations d’espace de travail, consultez :Gestion des espaces de travail
- Lister les espaces de travail - Récupérer tous les espaces de travail (200 req/min)
- Créer un espace de travail - Créer un nouvel espace de travail (120 req/min)
- Mettre à jour un espace de travail - Mettre à jour les détails de l’espace de travail (120 req/min)
Paramètres de l’espace de travail
- Récupérer les paramètres - Récupérer les paramètres actuels (200 req/min)
- Mettre à jour les paramètres - Mettre à jour les modèles d’e-mail et préférences (120 req/min)
Endpoints associés
- Générer un jeton JWT pour les modèles - Pour l’éditeur de modèles embarqué (120 req/min)
- Créer un modèle - Créer des modèles par espace de travail (120 req/min)
- Créer une demande de signature - Envoyer des documents avec la personnalisation de l’espace de travail (120 req/min)
Prochaines étapes
- Créer des espaces de travail pour les applications multi-tenant
- Envoyer des demandes de signature avec des e-mails personnalisés
- Configurer des webhooks pour suivre l’activité de l’espace de travail
- Éditeur de modèles embarqué avec authentification JWT pour les intégrations embarquées