Requisitos previos
- Una cuenta de Firma con una Clave API
- Una cuenta de Google AI Studio con una clave de la API de Gemini, o Gemini Code Assist instalado en tu IDE
- Al menos una Plantilla de Firma con Campos de firma configurados
Firma usa la Clave API sin modificar como valor del encabezado
Authorization; no la antepongas con Bearer. Esto difiere de la propia API de Gemini, que usa x-goog-api-key.Primeros pasos
- Function calling
- Gemini CLI via MCP
El function calling permite que un modelo de Gemini decida cuándo llamar a tu código. Declaras una función que el modelo puede invocar y, cuando el usuario le pide que envíe un contrato, Gemini devuelve una llamada a herramienta estructurada que tu app ejecuta contra la API de Firma.Este enfoque es el más adecuado para agentes de IA, chatbots y cualquier app donde una solicitud de usuario en lenguaje natural deba convertirse en una Solicitud de Firma.Un mensaje de usuario como “Envía el contrato de consultoría a alice@acme.com” activará la llamada a la función. El modelo devuelve el
Paso 1: Guarda tus claves API
Guarda tanto tu clave de la API de Gemini como tu Clave API de Firma en variables de entorno. Nunca las pongas en código de frontend.Paso 2: Declara una función y gestiona las llamadas a herramientas
Declara la función con la forma que Gemini espera y luego ejecuta un bucle de chat que gestione la llamada a la herramienta invocando el endpointcreate-and-send de Firma.El endpoint
create-and-send crea la Solicitud de Firma y la envía a los Destinatarios en una sola llamada a la API. Si necesitas que el modelo redacte una solicitud para revisión antes de enviarla, usa POST /signing-requests para crear un borrador y luego POST /signing-requests/{id}/send una vez aprobada.Paso 3: Conéctalo a tu app
Llama ahandleUserMessage desde tu backend cada vez que el usuario envíe un mensaje de chat. Gemini decide por su cuenta cuándo la solicitud amerita un flujo de firma:functionCall estructurado, tu código lo ejecuta contra Firma, y el siguiente turno le permite a Gemini resumirle el resultado al usuario.Alternativa en Python
El mismo flujo con el SDK de Python:Integración de webhooks
Para hacer seguimiento de los eventos de firma en tiempo real, registra un webhook de Firma que apunte a un endpoint de tu app. Aquí tienes un manejador mínimo parasigning_request.completed:
Firma incrustada
Para apps donde los Firmantes completan documentos dentro de tu interfaz en lugar de abrir una página alojada por Firma, la respuesta decreate-and-send incluye first_signer.id (el signing_request_user_id) y un first_signer.signing_link ya listo para usar. Carga la URL del Firmante en un iframe:
Consejos
- Usa function calling para agentes en tiempo de ejecución, MCP para tiempo de construcción. El function calling es lo que tu app en producción usa para enviar documentos de verdad. Los servidores MCP son lo que tú y la Gemini CLI usan para construir esa integración.
- Pasa
template_idcomo argumento de la herramienta, no como texto libre. Las Plantillas son la forma más segura de limitar lo que el modelo puede enviar. Deja que el modelo elija un ID de Plantilla de una lista corta y con nombre que tú controles. - Valida antes de enviar. Para documentos de mayor riesgo, incluye un paso de confirmación. Usa
POST /signing-requestspara crear un borrador, muéstraselo al usuario y luego llama aPOST /signing-requests/{id}/sendsolo después de que confirme. - Espacios de Trabajo para apps multiinquilino. Si estás construyendo un producto SaaS sobre Gemini, dale a cada cliente final su propio Espacio de Trabajo de Firma para que las Plantillas y el uso se mantengan aislados.
Próximos pasos
- Autenticación de la API - Claves API y alcance por Espacio de Trabajo
- Guía de webhooks - Tipos de eventos, payloads y verificación de firmas
- Firma incrustada - Experiencia de firma dentro de la app
- Creación de Espacios de Trabajo - Configuraciones multiinquilino para apps SaaS
- Integración MCP - Referencia completa del servidor MCP con las 84 herramientas
- Guía de configuración completa - Recorrido completo de integración de Firma
- Referencia de la API - Documentación completa de endpoints