Requisitos previos
- Una cuenta de Firma con una clave API
- Una clave API de OpenAI (para function calling), o una cuenta de ChatGPT Plus/Pro/Enterprise (para la CLI de Codex y los conectores)
- Al menos una plantilla de Firma con campos de firma configurados
Firma usa la clave API sin procesar como valor del header
Authorization; no la antepongas con Bearer. Esto difiere de la API de OpenAI, que usa tokens Bearer.Primeros pasos
- Function calling
- Codex CLI vía MCP
- Conectores de ChatGPT
El function calling permite que un modelo GPT 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, el modelo devuelve una llamada de herramienta estructurada que tu app ejecuta contra la API de Firma.Esta vía es la adecuada para agentes de IA, chatbots y cualquier app donde una solicitud del usuario en lenguaje natural deba convertirse en una solicitud de firma.Un mensaje de usuario como “Envía el acuerdo de consultoría a alice@acme.com” activará la llamada de función.
Paso 1: Guarda tus claves API
Guarda tanto tu clave API de OpenAI como tu clave API de Firma en variables de entorno. Nunca las coloques en código de frontend.Paso 2: Declara una función y gestiona las llamadas de herramienta
Usando la Responses API de OpenAI (recomendada para proyectos nuevos):El endpoint
create-and-send crea la solicitud de firma y la envía a los destinatarios en una sola llamada 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 aprobado.Paso 3: Conéctalo a tu app
Llama ahandleUserMessage desde tu backend cada vez que el usuario envíe un mensaje de chat:Alternativa en Python
El mismo flujo con el SDK de Python:Integración de webhooks
Para hacer seguimiento de eventos de firma en tiempo real, registra un webhook de Firma que apunte a un endpoint de tu app:Firma incrustada
Para apps donde los firmantes completan documentos dentro de tu UI 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 generado. 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 usa tu app en producción para enviar documentos. Los servidores MCP son lo que tú y la CLI de Codex usan para construir esa integración.
- Pasa
template_idcomo argumento de herramienta, no como texto libre. Las plantillas son la forma más segura de limitar lo que el modelo puede enviar. - Valida antes de enviar. Para documentos de mayor riesgo, usa
POST /signing-requestspara crear un borrador, muéstraselo al usuario y llama aPOST /signing-requests/{id}/sendsolo después de que lo confirme. - Espacios de trabajo para apps multi-tenant. Si estás construyendo un producto SaaS sobre la API de OpenAI, dale a cada cliente final su propio espacio de trabajo de Firma para que las plantillas y el uso permanezcan 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 multi-tenant para apps SaaS
- Integración MCP - Referencia completa del servidor MCP con las 84 herramientas
- Guía de configuración completa - Recorrido de integración de Firma de extremo a extremo
- Referencia de la API - Documentación completa de endpoints