Skip to main content
Añade firmas electrónicas legalmente vinculantes a cualquier aplicación de Supabase. Usa Supabase Edge Functions para llamar a la API de Firma, guarda el estado de la firma en tu base de datos Postgres y recibe actualizaciones en tiempo real mediante webhooks.

Qué puedes construir

  • Flujos de firma de contratos — activa Solicitudes de Firma cuando los usuarios completan un formulario o un pago
  • Paneles de estado de documentos — controla qué documentos están pendientes, firmados o rechazados
  • Firma incrustada — permite que los usuarios firmen documentos sin salir de tu app
  • Flujos de trabajo automatizados — usa los webhooks de Firma junto con triggers de la base de datos de Supabase para iniciar acciones posteriores cuando se firman los documentos

Requisitos previos

Descripción general de la arquitectura

Tu frontend llama a una Supabase Edge Function, que a su vez llama de forma segura a la API de Firma para crear Solicitudes de Firma. Cuando los destinatarios firman (o rechazan), Firma envía un webhook a otra Edge Function que actualiza tu base de datos.

Paso 1: Guarda tu clave API de Firma

Añade tu clave API de Firma como un secreto de Supabase para que las Edge Functions puedan acceder a ella de forma segura:

Paso 2: Crea una tabla para controlar las Solicitudes de Firma

Ejecuta este SQL en el Editor SQL de Supabase para crear una tabla que controle el estado de los documentos:

Paso 3: Crea una Edge Function para enviar Solicitudes de Firma

Genera una nueva Edge Function:
Luego reemplaza el contenido de supabase/functions/send-signing-request/index.ts:
Despliégala:

Paso 4: Gestiona los webhooks de Firma

Crea otra Edge Function para recibir eventos de webhook de Firma cuando los documentos se firman, se rechazan o se actualizan:
Reemplaza el contenido de supabase/functions/firma-webhook/index.ts:
Despliégala y hazla accesible públicamente (los webhooks no envían encabezados de autenticación):
Luego registra la URL del webhook en tu panel de Firma, en Configuración → Webhooks. La URL de tu endpoint será:
Para uso en producción, verifica la firma del webhook usando tu secreto de firma de webhooks de Firma. Consulta la guía de webhooks para más detalles sobre la verificación de firmas.

Paso 5: Incrusta la experiencia de firma (opcional)

Para una experiencia de firma dentro de la app, usa el componente de firma incrustada de Firma. Una vez que tengas el signing_request_user_id de la respuesta de la API, cárgalo en un iframe:
Consulta la guía de firma incrustada para las instrucciones de configuración completas, incluidas las prácticas recomendadas de seguridad.

Paso 6: Consulta el estado de la firma desde tu frontend

Con Row Level Security habilitado, tu frontend puede consultar el estado de la firma directamente:

Próximos pasos