Skip to main content
Firma te permite agregar firmas electrónicas legalmente vinculantes a cualquier aplicación construida con Wasp. Dado que Wasp genera una aplicación full-stack de React + Node.js con autenticación, base de datos (Prisma) y acciones de servidor ya integradas, la integración es sencilla: crea una acción de Wasp que llame a la API de Firma e invócala desde tu frontend de React. Esta guía es especialmente útil si estás construyendo sobre la plantilla Open SaaS, que ya incluye autenticación, pagos y una base de datos. Agregar firmas electrónicas es una extensión natural para aplicaciones SaaS en los sectores legal, de RR. HH., consultoría e inmobiliario.

Requisitos previos

  • Una cuenta de Firma con una Clave API
  • Un proyecto Wasp (se recomienda v0.15+) o un proyecto Open SaaS
  • Al menos una Plantilla de Firma con Campos de firma configurados
  • Node.js 18+ instalado localmente
Firma usa la Clave API sin modificar como valor del encabezado Authorization; no la antepongas con Bearer. Esto difiere de muchas otras API.

Paso 1: Guarda tu Clave API como variable de entorno

Agrega tu Clave API de Firma al archivo .env.server en la raíz de tu proyecto:
Wasp separa las variables de entorno del cliente y del servidor. Usar .env.server garantiza que la clave solo esté disponible en el código del lado del servidor y nunca llegue al navegador.
Nunca expongas tu Clave API en código del lado del cliente. Las acciones de Wasp se ejecutan en el servidor de forma predeterminada, así que tu clave permanece segura mientras la uses solo dentro de acciones.

Paso 2: Define la acción en tu archivo Wasp

Agrega una declaración de acción de servidor a tu archivo main.wasp:
Si quieres hacer seguimiento de las Solicitudes de Firma en tu base de datos, agrega un modelo Prisma a tu archivo schema.prisma:
Luego ejecuta la migración:

Paso 3: Implementa la acción de servidor

Crea src/signing/actions.ts. Este ejemplo crea y envía una Solicitud de Firma a partir de una Plantilla en una sola llamada usando el endpoint create-and-send:
El endpoint create-and-send crea la Solicitud de Firma y la envía a los Destinatarios de forma atómica. Si necesitas revisar o modificar la solicitud antes de enviarla, usa POST /signing-requests para crear un borrador y luego POST /signing-requests/{id}/send por separado.

Paso 4: Llama a la acción desde tu frontend de React

Importa la acción desde wasp/client/operations y llámala cuando el usuario envíe un formulario:
Wasp gestiona la comunicación cliente-servidor automáticamente. La importación sendSigningRequest es una llamada RPC con tipado seguro a tu acción de servidor: no necesitas un fetch manual.

Integración de webhooks

Para hacer seguimiento de cuándo se firman los documentos, declara una ruta de API en tu archivo main.wasp e implementa un manejador que procese los eventos de Webhook de Firma. Agrega la ruta de API a main.wasp:
Luego crea el manejador:
Luego registra el Webhook:
  1. Despliega tu aplicación para que la ruta sea accesible públicamente
  2. En el panel de Firma, en Configuración → Webhooks, agrega un Webhook que apunte a https://<your-app-domain>/api/webhooks/firma
  3. Selecciona los eventos que quieres recibir. Consulta la guía de webhooks para conocer todos los tipos de evento y la verificación de firma
Para uso en producción, siempre verifica la firma del Webhook usando tu secreto de firma de Webhook de Firma. Consulta la guía de webhooks para conocer los detalles de implementación.

Firma incrustada

Para aplicaciones donde los Firmantes completan documentos dentro de tu interfaz en lugar de pasar por el correo electrónico, Firma ofrece una experiencia de firma incrustable. La respuesta de create-and-send incluye un first_signer.id (el signing_request_user_id) y un first_signer.signing_link ya generado. Renderízalo en un iframe:
Consulta la guía de firma incrustada para conocer la configuración completa, incluidas las mejores prácticas de seguridad.

Extra: conexión MCP para desarrollo asistido por IA

Firma ofrece un servidor MCP de documentación al que las herramientas de codificación con IA pueden conectarse directamente. Una vez conectado, tu asistente de IA busca en la documentación de Firma mientras genera código, de modo que use endpoints, nombres de campo y patrones precisos. Esto es una ayuda en tiempo de construcción y no afecta tu aplicación desplegada.

Próximos pasos