- Parcours 1 : routes API Next.js (full-stack) — Le schéma le plus courant sur Bolt.new. Des routes API côté serveur relaient les appels vers Firma et gardent votre clé API hors du code client. Idéal pour les applications qui restent sur Bolt Cloud ou se déploient n’importe où.
- Parcours 2 : fonctions serverless Netlify — Bolt propose un déploiement Netlify intégré. Les fonctions serverless gèrent les appels à l’API Firma en périphérie sans avoir à gérer un serveur. Idéal pour les frontends statiques qui ont besoin d’un backend léger.
- Parcours 3 : Supabase Edge Functions — Si votre application Bolt utilise déjà Supabase pour l’authentification et la base de données, vous pouvez appeler Firma depuis des Edge Functions et suivre le statut de signature dans Postgres. Consultez le guide d’intégration Supabase complet.
Prérequis
- Un compte Firma avec une clé API
- Un compte Bolt.new (un forfait payant est recommandé pour les projets privés et le déploiement personnalisé)
- Au moins un modèle Firma avec des champs de signature configurés
Firma utilise la clé API brute comme valeur de l’en-tête
Authorization — ne la préfixez pas avec Bearer. Cela diffère de nombreuses autres API.Parcours 1 : routes API Next.js
C’est l’approche recommandée pour la plupart des projets Bolt.new. Vous générez une application Next.js, ajoutez une route API côté serveur qui appelle Firma, et votre frontend appelle cette route. Votre clé API ne touche jamais le navigateur.Étape 1 : Créer votre projet
Ouvrez bolt.new et demandez-lui de générer un projet Next.js. Vous pouvez être précis :« Crée une application Next.js avec TypeScript et Tailwind CSS. J’ai besoin d’une page où les utilisateurs peuvent saisir le nom et l’e-mail d’un signataire, puis envoyer un contrat pour signature via une API externe. »Bolt génère la structure du projet, installe les dépendances et démarre le serveur de développement.
Étape 2 : Ajouter votre clé API Firma
Pour le développement local dans le WebContainer de Bolt, créez un fichier.env.local à la racine de votre projet. Vous pouvez demander à Bolt de le créer, ou l’ajouter manuellement dans l’arborescence des fichiers :
FIRMA_API_KEY.
Étape 3 : Créer une route API pour envoyer des demandes de signature
Créez un nouveau fichier àapp/api/send-signing-request/route.ts (ou demandez à Bolt de le générer). Cette route reçoit les informations du signataire depuis votre frontend et appelle l’API Firma côté serveur :
Le endpoint
create-and-send crée la demande de signature et l’envoie aux destinataires de manière atomique. Si vous avez besoin de revoir ou modifier la demande avant l’envoi, utilisez POST /signing-requests pour créer un brouillon, puis POST /signing-requests/{id}/send séparément.Étape 4 : Appeler la route API depuis votre frontend
Dans votre composant React, appelez la route API lorsque l’utilisateur soumet le formulaire :/api/send-signing-request avec l’ID du modèle, l’e-mail du signataire et le nom depuis les champs du formulaire. »
Étape 5 : Déployer
Bolt Cloud : Cliquez sur Publish en haut à droite de l’éditeur. Bolt attribue une URL aléatoire en*.bolt.host que vous pouvez personnaliser par la suite. Stockez FIRMA_API_KEY via l’icône de base de données → onglet Secrets pour que vos routes API puissent la lire.
Netlify : Cliquez sur l’icône en forme d’engrenage → All project settings → Domains & Hosting, puis sélectionnez Netlify dans le menu déroulant du fournisseur et cliquez sur Publish. Après le déploiement, ajoutez FIRMA_API_KEY dans le tableau de bord Netlify sous Site Settings → Environment Variables.
Vercel ou autres hébergeurs : Exportez le projet vers GitHub, puis connectez le dépôt à votre hébergeur. Ajoutez FIRMA_API_KEY comme variable d’environnement dans le tableau de bord de votre hébergeur.
Parcours 2 : fonctions serverless Netlify
Si votre projet Bolt utilise un framework sans routes API intégrées (React avec Vite, HTML simple, Astro en mode statique), les fonctions serverless Netlify vous offrent un backend sans avoir à restructurer votre application.Étape 1 : Créer le répertoire de fonctions
Créez un répertoire ànetlify/functions/ à la racine de votre projet Bolt. Netlify détecte et déploie automatiquement les fonctions présentes dans ce chemin.
Étape 2 : Ajouter la fonction de demande de signature
Créeznetlify/functions/send-signing-request.ts :
Étape 3 : Appeler la fonction depuis votre frontend
Les fonctions Netlify sont disponibles à/.netlify/functions/<function-name> :
Étape 4 : Configurer les variables d’environnement et déployer
- Dans Bolt, cliquez sur l’icône en forme d’engrenage → All project settings → Domains & Hosting et sélectionnez Netlify
- Cliquez sur Publish pour déployer
- Dans le tableau de bord Netlify, allez dans Site Settings → Environment Variables
- Ajoutez
FIRMA_API_KEYavec votre clé API Firma comme valeur
Parcours 3 : Supabase Edge Functions
Si votre application Bolt utilise Supabase pour l’authentification et la base de données, vous pouvez traiter les appels à l’API Firma via des Supabase Edge Functions et suivre le statut des demandes de signature dans Postgres. Ce parcours est couvert en détail dans le guide d’intégration Supabase. Il explique comment stocker votre clé API en tant que secret Supabase, créer des Edge Functions pour l’envoi de demandes de signature et la gestion des webhooks, et configurer une tablesigning_requests avec Row Level Security.
Pour connecter Supabase dans Bolt, utilisez l’intégration Supabase intégrée ou demandez au chat IA de Bolt : « Connecte ce projet à Supabase et ajoute la bibliothèque client Supabase. »
Intégration des webhooks
Pour suivre le moment où les documents sont signés, configurez un webhook Firma pointant vers votre application. La configuration dépend du parcours que vous avez choisi.Route API Next.js
Créezapp/api/firma-webhook/route.ts :
Fonction serverless Netlify
Créeznetlify/functions/firma-webhook.ts :
Enregistrer le webhook
Dans le tableau de bord Firma, sous Paramètres → Webhooks, enregistrez un webhook pointant vers votre endpoint :- Next.js (Bolt Cloud) :
https://your-app.bolt.host/api/firma-webhook - Next.js (Netlify) :
https://your-site.netlify.app/api/firma-webhook - Fonction Netlify :
https://your-site.netlify.app/.netlify/functions/firma-webhook
Signature intégrée
Pour les applications où les signataires complètent les documents directement dans votre interface, Firma propose une expérience de signature intégrable. La réponse decreate-and-send inclut un first_signer.id (le signing_request_user_id) et un first_signer.signing_link prêt à l’emploi. Chargez l’URL du signataire dans une iframe au sein de votre application Bolt :
Bonus : connexion MCP pour la création assistée par IA
Firma propose un serveur MCP Docs que vous pouvez connecter à Bolt.new. Cela permet au chat IA de Bolt de rechercher dans la documentation Firma pendant que vous développez, afin de vous aider à écrire du code d’intégration avec des détails d’API précis. Pour le configurer :- Depuis la zone de chat de Bolt, cliquez sur l’icône plus
- Sélectionnez Connectors, puis Manage connectors
- Cliquez sur Add custom connector
- Définissez un nom descriptif (par exemple, « Firma Docs »)
- Entrez l’URL du serveur :
https://docs.firma.dev/mcp - Choisissez le type de transport et l’authentification (aucune n’est requise pour le serveur de documentation public)
- Cliquez sur Add
Étapes suivantes
- Authentification API — clés API et périmètre d’espace de travail
- Guide des webhooks — types d’événements, payloads et vérification de signature
- Signature intégrée — expérience de signature intégrée à l’application
- Créer des espaces de travail — configurations multi-tenant pour les applications SaaS
- Intégration Supabase — parcours complet Supabase + Firma
- Guide de configuration complet — parcours d’intégration Firma de bout en bout
- Référence API — documentation complète des endpoints