Skip to main content
Ajoutez des signatures électroniques juridiquement valables à n’importe quelle application Supabase. Utilisez les Supabase Edge Functions pour appeler l’API Firma, stockez le statut de signature dans votre base de données Postgres et recevez des mises à jour en temps réel via des webhooks.

Ce que vous pouvez créer

  • Flux de signature de contrats — déclenchez des demandes de signature lorsque les utilisateurs remplissent un formulaire ou passent commande
  • Tableaux de bord de statut des documents — suivez quels documents sont en attente, signés ou refusés
  • Signature intégrée — permettez aux utilisateurs de signer des documents sans quitter votre application
  • Flux de travail automatisés — utilisez les webhooks Firma et les déclencheurs de base de données Supabase pour lancer des actions en aval lorsque les documents sont signés

Prérequis

  • Un compte Firma avec une clé API
  • Un projet Supabase avec les Edge Functions activées
  • Le CLI Supabase installé localement

Vue d’ensemble de l’architecture

Votre frontend appelle une Supabase Edge Function, qui appelle de manière sécurisée l’API Firma pour créer des demandes de signature. Lorsque les destinataires signent (ou refusent), Firma envoie un webhook à une autre Edge Function qui met à jour votre base de données.

Étape 1 : Stocker votre clé API Firma

Ajoutez votre clé API Firma en tant que secret Supabase afin que les Edge Functions puissent y accéder de manière sécurisée :

Étape 2 : Créer une table pour suivre les demandes de signature

Exécutez ce SQL dans l’éditeur SQL de Supabase pour créer une table de suivi du statut des documents :

Étape 3 : Créer une Edge Function pour envoyer les demandes de signature

Générez une nouvelle Edge Function :
Puis remplacez le contenu de supabase/functions/send-signing-request/index.ts :
Déployez-la :

Étape 4 : Gérer les webhooks Firma

Créez une autre Edge Function pour recevoir les événements webhook de Firma lorsque des documents sont signés, refusés ou mis à jour :
Remplacez le contenu de supabase/functions/firma-webhook/index.ts :
Déployez-la et rendez-la publiquement accessible (les webhooks n’envoient pas d’en-têtes d’authentification) :
Enregistrez ensuite l’URL du webhook dans votre tableau de bord Firma sous Paramètres → Webhooks. L’URL de votre endpoint sera :
Pour une utilisation en production, vérifiez la signature du webhook à l’aide de votre secret de signature de webhook Firma. Consultez le guide des webhooks pour plus de détails sur la vérification de signature.

Étape 5 : Intégrer l’expérience de signature (facultatif)

Pour une expérience de signature intégrée à l’application, utilisez le composant signature intégrable de Firma. Une fois que vous avez le signing_request_user_id de la réponse de l’API, chargez-le dans une iframe :
Consultez le guide de signature intégrée pour des instructions de configuration complètes, y compris les bonnes pratiques de sécurité.

Étape 6 : Interroger le statut de signature depuis votre frontend

Avec la sécurité au niveau des lignes (Row Level Security) en place, votre frontend peut interroger directement le statut de signature :

Étapes suivantes