Resumen de Versiones
| Versión | Tipo de Versión | Cambios Clave |
|---|---|---|
| v1.30.0 | Versión Menor | Recuperación de marcas del firmante: imágenes de firma / iniciales / sello (PNG en base64) y descarga de archivos subidos por el firmante, por firmante, a través de la API |
| v1.29.0 | Versión Menor | Subida de documentos en dos pasos (POST /documents) para archivos grandes de hasta 50MB; nuevo campo document_id al crear y crear-y-enviar |
| v1.28.0 | Versión Menor | Ejemplos de código del SDK de TypeScript (@firma-dev/sdk) agregados a cada endpoint; los endpoints de solicitud de firma incrustada y el endpoint legado /documents se eliminaron de la referencia |
| v1.27.0 | Versión de Parche | Esquemas de configuración documentados: las respuestas de solicitud de firma ahora exponen show_qr_code, allow_presigning_download, identity_editable_fields, notify_identity_change_email; las respuestas de plantilla exponen show_qr_code; cancel devuelve emails_sent; resend devuelve recipients_failed; nuevos esquemas TemplateSettings y LegacyDocumentSettings |
| v1.26.0 | Versión Menor | Configuración de espacio de trabajo: anulaciones de la etiqueta del botón de firma, interruptor de código QR, interruptor de descarga antes de firmar, interruptor de marca de agua parcial |
| v1.25.2 | Versión de Parche | Los campos proporcionados que no coinciden con ningún campo de la plantilla ahora devuelven 400 (anteriormente se ignoraban en silencio) en POST /signing-requests y /create-and-send; los valores de type de campo ahora se comparan sin distinguir mayúsculas y minúsculas |
| v1.25.1 | Versión de Parche | Los fallos del paso de envío en create-and-send ahora devuelven el estado real (400/402/422) con un code legible por máquina, en lugar de enmascararlos como 500 |
| v1.25.0 | Versión Menor | Colores de marca del editor: 5 nuevos campos de apariencia (color_accent, color_accent_fg, color_canvas, color_muted, color_muted_fg) en la configuración de empresa y espacio de trabajo; color_palette resuelto ahora devuelve 11 claves |
| v1.24.0 | Versión Menor | Claves API de prueba del espacio de trabajo: la creación devuelve un par live+test, las lecturas devuelven ambas, regeneración/expiración según key_type |
| v1.23.0 | Versión Menor | Endpoints de términos del firmante, endpoints de configuración de empresa, configuración de aceptación de términos |
| v1.22.1 | Versión de Parche | Ahora se puede eliminar el dominio de correo personalizado principal/único (DELETE ya no devuelve 400) |
| v1.22.0 | Versión Menor | Endpoint de eliminación de solicitud de firma, evento de webhook signing_request.deleted |
| v1.21.1 | Versión de Parche | Activación del webhook del espacio de trabajo vía API |
| v1.21.0 | Versión Menor | Configuración de la parte local del remitente de correo personalizado |
| v1.20.0 | Versión Menor | Configuración de control de navegación guiada |
| v1.19.0 | Versión Menor | Endpoints de gestión de logotipo, icon_url del espacio de trabajo |
| v1.18.0 | Versión Menor | Campos editables de identidad, datos precompletados editables, validación de valor de campo |
| v1.17.0 | Versión Menor | Personalización de color para la experiencia de firma |
| v1.16.0 | Versión Menor | Endpoint de Descarga de Solicitud de Firma |
| v1.15.3 | Menor | Alias de campos limpios |
| v01.15.02 | Versión de Parche | Se agregaron tipos de campo faltantes al esquema de campos de create-and-send |
| v01.15.01 | Versión de Parche | Se agregó soporte de idioma ruso y polaco a los esquemas de la API |
| v01.15.00 | Versión Menor | Webhooks de espacio de trabajo, endpoints de rotación/estado de secretos |
| v01.14.00 | Versión Menor | Designaciones de Aprobador/CC, tipos de campo de aprobación |
| v01.13.00 | Versión Menor | Tipo de campo de sello |
| v01.12.01 | Versión de Parche | Nombres de variable de campo personalizado (variable_defined_name) |
| v01.12.00 | Versión Menor | Integración con servidor MCP |
| v01.11.00 | Versión Menor | Campos de subida de archivos, etiquetas de anclaje, colores de fondo de campo, cambio del valor predeterminado del orden de firma |
| v01.10.00 | Versión Menor | Campos condicionales, soporte DOCX, registro de auditoría, control del marco de firma |
| v01.09.00 | Versión Menor | Verificación OTP, reemplazo de documento de plantilla |
| v01.08.00 | Versión Menor | API de plantillas de correo, soporte de idiomas, observabilidad de webhooks |
| v01.07.00 | Versión Menor | Firmas manuscritas, campos de configuración heredados |
| v01.06.00 | Versión Menor | Descargas de PDF divididas, normalización de tipos de campo |
| v01.05.00 | Versión de Parche | Advertencias de validación de correo electrónico |
| v01.04.00 | Versión Menor | Nuevos tipos de campo, operaciones PATCH de campo, coincidencia de usuario de plantilla |
| v01.03.00 | Versión Menor | API de dominios de correo, coste en créditos, estado rechazado |
| v01.02.00 | Versión Menor | Campos de usuario mejorados, indicadores de listo para enviar |
| v01.01.00 | Versión Menor | CRUD de plantillas, gestión de claves API, actualizaciones completas |
| v01.00.02 | Versión de Parche | API de campos personalizados |
| v01.00.01 | Versión Inicial | Funcionalidades principales de la API |
v1.30.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIRecuperar las marcas del firmante como imágenes
Cuatro nuevos endpoints de solo lectura devuelven las marcas capturadas de un firmante de forma individual, separadas del PDF firmado:GET /signing-requests/{id}/signers/{signer_id}/signature— la firma adoptada por el firmanteGET /signing-requests/{id}/signers/{signer_id}/initials— las iniciales adoptadas por el firmanteGET /signing-requests/{id}/signers/{signer_id}/stamps/{field_id}— un sello para un campo de sello específicoGET /signing-requests/{id}/signers/{signer_id}/files/{field_id}— un archivo que el firmante subió a un campo de archivo
data:image/png;base64,...), utilizable directamente en un <img src>. El endpoint de archivo devuelve una URL de descarga pre-firmada de corta duración (300 segundos). Un firmante adopta una firma y unas iniciales, aplicadas a todos sus campos de ese tipo, por lo que esos endpoints no reciben field_id; los sellos y archivos son por campo y requieren field_id (obtén los IDs de campo desde GET /signing-requests/{id}/fields).
Por defecto se superpone un marco de ID de firmante en las imágenes devueltas; pasa include_frame=false para obtener la marca sin marco. Estos endpoints tienen un límite de 60 solicitudes por minuto. La validez legal de una firma reside en el PDF sellado y su certificado de finalización, no en una imagen recuperada.
Guía de Migración
Sin cambios importantes. Estos son endpoints nuevos y aditivos; las integraciones existentes no requieren cambios.v1.29.0
Tipo de versión: Versión Menor Descargar especificación OpenAPISubida de documentos en dos pasos
Un nuevo endpointPOST /documents permite subir documentos más grandes que el límite de tamaño de solicitud en línea. En lugar de enviar un documento codificado en base64 en el cuerpo de la solicitud, ahora puedes:
- Llamar a
POST /documentscon los metadatos del archivo para recibir una URL de subida pre-firmada - Hacer
PUTde los bytes del archivo directamente a la URL de subida (soporta hasta 50MB) - Pasar el
document_iddevuelto en tu solicitudPOST /signing-requestsoPOST /signing-requests/create-and-send
document en línea.
Nuevo campo de solicitud: document_id
El endpoint POST /signing-requests/create-and-send ahora acepta document_id como alternativa a document y template_id. Los tres campos son mutuamente excluyentes: proporciona exactamente uno.
Aumento del límite de tamaño de documento
El tamaño máximo de documento se ha aumentado de 20MB a 50MB al usar el flujo de subida en dos pasos.Guía de Migración
Sin cambios importantes. Las integraciones existentes que usandocument o template_id en línea siguen funcionando sin cambios. Para subir documentos más grandes, adopta el flujo en dos pasos mediante POST /documents.
v1.28.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIEjemplos de código del SDK de TypeScript
Cada endpoint en la referencia de la API ahora incluye un ejemplo de código listo para copiar y pegar para el cliente oficial de TypeScript@firma-dev/sdk, que muestra la llamada tipada exacta para esa operación. Consulta la nueva guía del SDK de TypeScript para instalar el cliente y comenzar.
Cambios en la superficie de referencia
Los siguientes endpoints se eliminaron de la referencia de la API porque no forman parte de la superficie de API de socios documentada:| Endpoint | Notas |
|---|---|
POST /save-embedded-signing-request | Endpoint del editor incrustado (autenticado con JWT). La firma incrustada está documentada en las guías de Incrustables. |
POST /send-embedded-signing-request | Endpoint del editor incrustado (autenticado con JWT). |
GET /get-embedded-signing-request | Endpoint del editor incrustado (autenticado con JWT). |
POST /documents | Endpoint de documento legado, sustituido por los endpoints de plantilla y solicitud de firma. |
Guía de Migración
No se requieren cambios para las integraciones que usan los endpoints de la API de socios documentados aquí. Si hacías referencia a los endpoints de solicitud de firma incrustada, usa en su lugar las guías de Incrustables; el editor incrustado sigue dependiendo de esos endpoints. Si usabas los endpoints legados de/documents, migra a los endpoints de plantilla (POST /templates) y de solicitud de firma (POST /signing-requests).
v1.27.0
Tipo de versión: Versión de Parche Descargar especificación OpenAPICampos de configuración ahora documentados en las respuestas
Esta versión documenta campos de configuración que la API ya devolvía. Todos los cambios son aditivos y compatibles con versiones anteriores: no cambió ningún comportamiento de la API, solo se actualizó la especificación OpenAPI para reflejar lo que los endpoints ya enviaban.Configuración de solicitud de firma
El objeto de configuración devuelto por los endpoints de solicitud de firma (POST /signing-requests, POST /signing-requests/create-and-send, GET /signing-requests, GET /signing-requests/{id}, PUT /signing-requests/{id}, PATCH /signing-requests/{id}) ahora documenta cuatro campos adicionales:
| Campo | Tipo | Descripción |
|---|---|---|
show_qr_code | boolean o null | Muestra un código QR en la página de firma que permite a los firmantes continuar en su teléfono. Hereda de la configuración del espacio de trabajo o de la empresa cuando es null. |
allow_presigning_download | boolean o null | Permite a los firmantes descargar el documento original antes de firmar. Hereda de la configuración del espacio de trabajo o de la empresa cuando es null. |
identity_editable_fields | string[] o null | Campos de identidad que los firmantes pueden editar antes de firmar (por ejemplo, ["name", "company"]). null deshabilita la edición de identidad. |
notify_identity_change_email | boolean | Envía una notificación por correo electrónico cuando un firmante cambia su identidad. |
Configuración de plantilla
El objeto de configuración devuelto por los endpoints de plantilla (POST /templates, PUT /templates/{id}, PATCH /templates/{id}, GET /templates, GET /templates/{id}, POST /templates/{id}/replace-document) ahora documenta el campo show_qr_code. La configuración de plantilla cubre las mismas opciones que la configuración de solicitud de firma, excepto los campos de identidad del firmante (identity_editable_fields, notify_identity_change_email), que aplican solo a las solicitudes de firma.
Respuestas de cancelación y reenvío
| Endpoint | Nuevo campo de respuesta | Tipo | Descripción |
|---|---|---|---|
POST /signing-requests/{id}/cancel | emails_sent | integer | Número de correos de notificación de cancelación enviados a los firmantes |
POST /signing-requests/{id}/resend | recipients_failed | integer | Número de destinatarios cuya notificación de reenvío no se pudo enviar |
Nuevos esquemas
Dos nuevos esquemas dividen las formas de configuración que difieren entre endpoints, de modo que cada respuesta documenta exactamente los campos que devuelve:| Esquema | Descripción |
|---|---|
TemplateSettings | Configuración devuelta por los endpoints de plantilla. Coincide con SigningRequestSettings menos los campos de identidad del firmante (identity_editable_fields, notify_identity_change_email), que aplican solo a las solicitudes de firma. |
LegacyDocumentSettings | Conjunto de configuración reducido devuelto por el endpoint obsoleto POST /documents. Las nuevas integraciones deben usar los endpoints de solicitud de firma, que devuelven SigningRequestSettings. |
Guía de Migración
Sin cambios importantes. Estas son adiciones únicamente de documentación que describen campos que la API ya devolvía. Las integraciones existentes no se ven afectadas. Si analizas objetos de configuración, ahora puedes contar con los campos documentadosshow_qr_code, allow_presigning_download, identity_editable_fields y notify_identity_change_email, y con emails_sent / recipients_failed en las respuestas de cancelación y reenvío.
v1.26.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIConfiguración del espacio de trabajo: cuatro nuevos campos
Cuatro campos ahora están disponibles enGET /workspace/{workspace_id}/settings y PUT /workspace/{workspace_id}/settings:
| Campo | Tipo | Descripción |
|---|---|---|
signing_button_label_overrides | object o null | Etiquetas personalizadas por idioma para los botones de la vista de firma. Las claves son códigos de idioma, los valores son objetos que asignan claves de botón a texto personalizado. Establece null para usar los valores predeterminados. |
show_qr_code | boolean o null | Muestra un código QR en la página de firma para que los firmantes puedan continuar en su teléfono. Hereda de la configuración de la empresa cuando es null. |
allow_presigning_download | boolean o null | Permite a los firmantes descargar el documento original antes de firmar. Hereda de la configuración de la empresa cuando es null. |
show_partial_watermark | boolean o null | Muestra una marca de agua de EN PROGRESO en las descargas de PDF parciales. Hereda de la configuración de la empresa cuando es null. |
Estructura de anulaciones de etiquetas de botón
common.finish, signing.approveAndFinish, signing.nextRequiredField, signing.saveAndFinishLater, signing.decline.confirm, signing.decline.title, signing.decline.cancel, signing.finishAnyway, signing.goBack.
Los valores se sanean en el servidor (se elimina el HTML, máximo 200 caracteres). Los valores vacíos o que solo contienen espacios en blanco se ignoran.
v1.25.2
Tipo de versión: Versión de Parche Descargar especificación OpenAPIValidación más estricta para las anulaciones de campos de plantilla
Al crear una solicitud de firma a partir de una plantilla, cualquier campo proporcionado que no coincida con un campo en esa plantilla ahora se rechaza con400 VALIDATION_ERROR en lugar de ignorarse en silencio. Anteriormente ese campo se descartaba y la solicitud igualmente tenía éxito, por lo que un identificador mal escrito significaba que el campo simplemente nunca aparecía en el documento sin ningún error.
Un campo proporcionado coincide con un campo de plantilla mediante template_field_id, variable_name o variable_defined_name. El error nombra el/los campo(s) infractor(es):
POST /signing-requests y POST /signing-requests/create-and-send.
Migración: asegúrate de que cada campo que envíes en una creación basada en plantilla haga referencia a un campo de plantilla existente. Si dependías de que los campos adicionales/no coincidentes se ignoraran, elimínalos.
Tipos de campo sin distinción de mayúsculas y minúsculas
Los valores detype de campo ahora se normalizan sin distinguir mayúsculas y minúsculas. "Initials", "Signature", "TextArea", etc. se resuelven a su tipo canónico (initial, signature, text_area) en lugar de rechazarse como inválidos. Los valores en minúsculas no cambian.
v1.25.1
Tipo de versión: Versión de Parche Descargar especificación OpenAPIRespuestas de error precisas para create-and-send
POST /signing-requests/create-and-send anteriormente devolvía un 500 genérico cada vez que el paso de envío rechazaba una solicitud, ocultando el motivo real. Ahora devuelve el estado accionable por el cliente (400, 402 o 422) con un code legible por máquina y el detalle correspondiente:
400VALIDATION_ERROR— falló la validación de la solicitud o del envío (por ejemplo, a un firmante le falta información obligatoria); la respuesta incluyevalidation_errors,field_errorsodetailsidentificando qué corregir.402INSUFFICIENT_CREDITS— créditos insuficientes para enviar;current_creditsinforma el saldo.422RECIPIENT_EMAIL_SUPPRESSED(nuevo) — la dirección de correo de un destinatario está suprimida (previamente rebotada o marcada como spam) y no se le puede enviar.
500. Cuando falla el paso de envío, la solicitud de firma creada parcialmente se revierte, por lo que no queda ningún borrador huérfano.
Guía de migración: No se requiere ninguna acción para los clientes que ya tratan cualquier respuesta no-2xx como un fallo. Si antes tratabas de forma especial el 500 opaco de este endpoint, cambia a ramificar según el estado HTTP / code: 400 y 422 significan “corrige la solicitud y vuelve a intentar”, 402 significa “agrega créditos”.
v1.25.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIColores de marca del editor
La configuración de apariencia ahora incluye cinco colores de marca adicionales que dan tema a los editores incrustados (los editores de plantilla y de solicitud de firma que incrustas en tus propias páginas):color_accent— color de acento para resaltados, pestañas activas, interruptores y controles principales en el marco del editor.color_accent_fg— color de primer plano (texto/icono) mostrado sobre superficies de acento.color_canvas— el color del entorno del lienzo del documento detrás de la página.color_muted— color de superficie atenuada (separadores, estados de hover, pistas de interruptores).color_muted_fg— color de texto atenuado.
color_*:
GET/PUT /company/settingsyGET/PUT /workspace/{workspace_id}/settingsaceptan y devuelven los cinco nuevos campos. Cada uno es una cadena hexadecimal#rrggbbanulable;nullsignifica heredar (espacio de trabajo → empresa → predeterminado de Firma).- El objeto
color_paletteresuelto devuelto en los payloads del editor incrustado ahora contiene once claves (las seis existentes másaccent,accent_fg,canvas,muted,muted_fg). Cuando no está establecido,mutedtoma como predeterminado el colorcardresuelto ymuted_fgse deriva para garantizar la legibilidad, por lo que la paleta siempre está completamente poblada.
color_* (hexadecimal #rrggbb válido, o null para borrar) al endpoint de configuración de empresa o de espacio de trabajo.
v1.24.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIClaves API de prueba del espacio de trabajo
Los espacios de trabajo ahora exponen una clave API en modo de prueba junto a la clave live existente. Las solicitudes autenticadas con una clave de prueba no consumen créditos y producen solicitudes de firma marcadas como prueba y con marca de agua.POST /workspacesahora provisiona un par de claves live + test y devuelve tantoapi_key(live) como el nuevo campotest_api_key.GET /workspaces/{id}yGET /workspacesahora devuelven tantoapi_keycomotest_api_key.POST /workspaces/{id}/api-key/regeneratey/api-key/expireaceptan unkey_typeopcional ("live"o"test", predeterminado"live"). Regenerar un tipo de clave ya no afecta al otro.- Los espacios de trabajo existentes creados a través de la API se completan retroactivamente con una clave de prueba.
api_key siguen funcionando sin cambios.
Guía de migración: No se requiere ninguna acción. Para usar el modo de prueba, lee test_api_key desde cualquier respuesta de creación/obtención de espacio de trabajo y envíala como la clave de Authorization para las solicitudes que quieras ejecutar en modo de prueba.
v1.23.0
Tipo de versión: Versión Menor Descargar especificación OpenAPITérminos del Firmante
Nuevos endpoints de Términos del Firmante te permiten gestionar declaraciones de consentimiento personalizadas del firmante a nivel de empresa y de espacio de trabajo:- Los endpoints
GETlistan los términos del firmante de empresa y de espacio de trabajo - Los endpoints
PUTcrean o actualizan los términos del firmante por idioma a nivel de empresa y de espacio de trabajo - Los endpoints
DELETEeliminan los términos del firmante de empresa y de espacio de trabajo
Configuración de Empresa
Los nuevos endpointsGET /company/settings y PUT /company/settings exponen la configuración de la empresa, incluyendo la puerta de aceptación de términos.
Cambios de Esquema
- Esquema de configuración de empresa: se agregó
require_terms_acceptance(boolean) - Esquema de configuración de espacio de trabajo: se agregó
require_terms_acceptance(boolean, anulable). Usanullpara heredar la configuración de la empresa.
Guía de Migración
Sin cambios importantes. Esta versión es aditiva y no se requiere ninguna acción para las integraciones existentes.v1.22.1
Tipo de versión: Versión de Parche Descargar especificación OpenAPIEliminación de dominio de correo
DELETE /company/domains/{id} y DELETE /workspace/{workspace_id}/domains/{id} ahora tienen éxito cuando el objetivo es el dominio principal del espacio de trabajo o su único dominio. Anteriormente esto devolvía 400 "Cannot delete primary domain". Después de la eliminación, el correo saliente recurre al remitente predeterminado de la empresa, o al predeterminado de la plataforma si no hay ninguno configurado. Para volver a usar un dominio de envío personalizado, agrega y verifica un nuevo dominio, y luego establécelo como principal.
Guía de Migración
Sin cambios importantes. Las respuestas400 "Cannot delete primary domain" y “cannot delete the only domain” se eliminan de ambos endpoints DELETE de dominio; ahora devuelven 200 en esos casos. Las integraciones que trataban ese 400 de forma especial pueden eliminar ese manejo.
v1.22.0
Tipo de versión: Versión Menor Descargar especificación OpenAPIEndpoint de Eliminación de Solicitud de Firma
Nuevo endpointDELETE /signing-requests/{id} para eliminar solicitudes de firma sin enviar (borrador). Este endpoint solo funciona en solicitudes de firma que aún no se han enviado. Para solicitudes de firma enviadas, usa en su lugar el endpoint de cancelación existente.
Respuesta:
200consigning_request_idydeleted_onen caso de éxito409 ALREADY_SENTsi la solicitud de firma ya se ha enviado404si no se encuentra o ya se eliminó
Nuevo Evento de Webhook
signing_request.deletedse dispara cuando una solicitud de firma se elimina a través de la API
Guía de Migración
Sin cambios importantes. El nuevo métodoDELETE en /signing-requests/{id} es puramente aditivo. Las integraciones existentes no se ven afectadas.
v1.21.1
Tipo de versión: Versión de Parche Descargar especificación OpenAPIGestión de Webhooks del Espacio de Trabajo
El endpointPATCH /workspaces/{id} ahora admite dos nuevos campos para gestionar los webhooks a nivel de espacio de trabajo a través de la API:
webhook_enabled(boolean) - Habilita o deshabilita los webhooks a nivel de espacio de trabajo. Cuando se establece entruepor primera vez, se genera automáticamente un secret de webhook.ignore_company_webhooks(boolean) - Si estrue, los webhooks a nivel de empresa no se dispararán para eventos en este espacio de trabajo.
Cambios de Esquema
- Cuerpo de la solicitud de PATCH /workspaces/: se agregaron
webhook_enabled(boolean, opcional) eignore_company_webhooks(boolean, opcional) - Respuesta de PATCH /workspaces/: ahora incluye
webhook_enabled,webhook_secret,webhook_secret_rotated_at,webhook_secret_created_ateignore_company_webhooks
Guía de Migración
Sin cambios importantes. Las configuraciones de webhook de espacio de trabajo existentes no se ven afectadas. UsaPATCH /workspaces/{id} con webhook_enabled: true para habilitar los webhooks de espacio de trabajo a través de la API en lugar del panel.
v1.21.0
Tipo de versión: Versión Menor Descargar especificación OpenAPINuevas Configuraciones
email_local_part(string, anulable) - Personaliza la parte local (antes del @) de los correos de firma salientes cuando se usa un dominio personalizado verificado. Disponible en dos niveles:- Configuración de Empresa (
GET/PATCH /company) - Establece el valor predeterminado para todos los espacios de trabajo. Cadena con valor predeterminado"support". - Configuración de Espacio de Trabajo (
GET/PUT /workspace/{id}/settings) - Anula el valor predeterminado de la empresa. Cadena anulable (null hereda de la empresa).
- Configuración de Empresa (
{email_local_part}@{tu-dominio-personalizado}. Por ejemplo, establecer email_local_part en "noreply" envía correos desde noreply@tudominio.com en lugar de support@tudominio.com.
Validación: alfanumérico en minúsculas, puntos, guiones y guiones bajos. Debe comenzar y terminar con un carácter alfanumérico. 1-64 caracteres. Patrón: ^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$
Cambios de Esquema
- Esquema de Company: se agregó
email_local_part(string, predeterminado"support") - Esquema de configuración de espacio de trabajo: se agregó
email_local_part(string, anulable)
Guía de Migración
Sin cambios importantes. Las configuraciones existentes siguen enviando correos desdesupport@{dominio} de forma predeterminada. Establece email_local_part a nivel de empresa o de espacio de trabajo para personalizar la dirección del remitente.
v1.20.0
Tipo de versión: Versión MenorNuevas Configuraciones
disable_guided_navigation(boolean, anulable) - Deshabilita el desplazamiento automático al siguiente campo obligatorio durante la firma. Disponible en cuatro niveles:- Configuración de Empresa (
GET/PUT /company/settings) - Establece el valor predeterminado para todos los espacios de trabajo. Boolean (no anulable). - Configuración de Espacio de Trabajo (
GET/PUT /workspace/{id}/settings) - Anula el valor predeterminado de la empresa. Boolean o null (null hereda de la empresa). - Plantilla (
POST/PATCH /templates) - Se copia a las solicitudes de firma creadas a partir de esta plantilla. Boolean o null. - Solicitud de Firma (
POST/PATCH /signing-requests) - Anulación de mayor prioridad. Boolean o null (null hereda del espacio de trabajo/empresa).
- Configuración de Empresa (
require_otp_verification: el nivel de solicitud de firma tiene prioridad, luego el espacio de trabajo, luego la configuración de la empresa.
Cambios de Esquema
- Esquema de configuración de empresa: se agregó
disable_guided_navigation(boolean) - Esquema de configuración de espacio de trabajo: se agregó
disable_guided_navigation(boolean, anulable) - Esquema de configuración de plantilla: se agregó
disable_guided_navigation(boolean, anulable) - Esquema de configuración de solicitud de firma: se agregó
disable_guided_navigation(boolean, anulable)
Guía de Migración
Sin cambios importantes. Las solicitudes de firma y plantillas existentes siguen funcionando como antes (desplazamiento automático habilitado de forma predeterminada). Para deshabilitar el desplazamiento automático, establecedisable_guided_navigation: true en el nivel deseado.
Descargar especificación OpenAPI
v1.19.0
Tipo de versión: Versión MenorNuevos Endpoints
POST /company/logo- Sube una imagen de logotipo de empresa (PNG o JPEG, máximo 2MB). El logotipo aparece en los certificados de firma y correos electrónicos.DELETE /company/logo- Elimina el logotipo de la empresa. Los certificados recurren al predeterminado de Firma.POST /workspaces/{id}/logo- Sube un logotipo específico del espacio de trabajo que anula el logotipo de la empresa para ese espacio de trabajo.DELETE /workspaces/{id}/logo- Elimina el logotipo del espacio de trabajo. Recurre al logotipo de la empresa.
Cambios de Esquema
- El esquema de Workspace ahora incluye
icon_url(string, anulable) - una URL públicamente accesible a la imagen del logotipo del espacio de trabajo icon_urlde Company ahora es de solo lectura en las solicitudes PATCH/PUT. Usa el nuevo endpointPOST /company/logopara gestionar los logotipos.
Guía de Migración
- Si establecías
icon_urldirectamente mediantePATCH /companyoPATCH /workspaces/{id}, cambia a los nuevos endpointsPOST .../logoen su lugar. El campoicon_urlya no se acepta en los cuerpos de solicitud de actualización. icon_urlen las respuestas GET ahora devuelve una URL públicamente accesible en lugar de una referencia interna.
v1.18.0
Fecha de lanzamiento: 5 de mayo de 2026Nuevas Funcionalidades
Campos Editables de Identidad
Las solicitudes de firma ahora admiten la edición de identidad por campo y por firmante. Cuando se configura, los firmantes ven un diálogo de confirmación antes de firmar donde pueden revisar y editar campos de identidad específicos (nombre, empresa, cargo, teléfono, dirección). Nueva propiedad de configuración:| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
identity_editable_fields | string[] o null | null | Array de claves de campo de identidad que los firmantes pueden editar. null = deshabilitado. |
notify_identity_change_email | boolean | false | Envía un correo cuando un firmante cambia su identidad |
name, company, title, phone, address
Anulación por destinatario mediante identity_editable_fields en el objeto del destinatario:
null- usar el predeterminado de la solicitud[]- deshabilitado para este firmante["name", "company"]- campos personalizados para este firmante
signing_request.recipient.identity_changed ya está disponible como un evento de webhook estándar. Suscríbete a él en tu configuración de webhook para recibir notificaciones cuando un firmante modifica su identidad durante la firma.
Campos de Datos Precompletados Editables
Los campos de datos precompletados ahora pueden ser opcionalmente editables por los firmantes. Anteriormente, todos los campos conprefilled_data establecido se bloqueaban automáticamente como de solo lectura. Una nueva propiedad prefilled_editable te permite controlar este comportamiento.
Cuando prefilled_editable es true, el valor del campo sigue completándose automáticamente desde los datos del destinatario, pero el firmante puede modificarlo durante el proceso de firma.
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
prefilled_editable | boolean | false | Cuando es true, los firmantes pueden editar los valores precompletados |
- Campos de plantilla (
PATCH /templates/{id},PUT /templates/{id}) - Campos de solicitud de firma (
POST /signing-requests,POST /signing-requests/create-and-send) - Objetos de respuesta de campo (
GET /signing-requests/{id})
Validación del Origen del Valor de Campo
La API ahora valida que los campos usen solo una fuente de valor a la vez. Las solicitudes que combinanread_only_value, prefilled_data y un value explícito en el mismo campo devolverán un 400 VALIDATION_ERROR. Esta validación aplica a:
POST /signing-requestsPOST /signing-requests/create-and-sendPATCH /templates/{id}(creación y actualización de campos)PUT /templates/{id}(upsert de campos)
Precedencia de Valores
Cuandoprefilled_editable es true y tanto un value explícito como prefilled_data están establecidos en un campo, el valor explícito tiene precedencia sobre los datos del destinatario auto-completados.
Guía de Migración
Sin cambios importantes. Las nuevas funcionalidades son opcionales:- La edición de identidad está deshabilitada de forma predeterminada (
identity_editable_fields: null). Establécela en un array de claves de campo para habilitarla. - Los campos de datos precompletados existentes permanecen bloqueados (de solo lectura) de forma predeterminada. Establece
prefilled_editable: trueenformat_rulespara hacerlos editables.
v1.17.0
Fecha de lanzamiento: 30 de abril de 2026 Descargar especificación OpenAPINuevas Funcionalidades
Personalización de Color para la Experiencia de Firma
Seis nuevos campos de color anulables te permiten personalizar la apariencia de la experiencia de firma tanto a nivel de empresa como de espacio de trabajo. Los colores siguen una cascada de 3 niveles: los predeterminados de Firma se usan a menos que se anulen a nivel de empresa, y los colores de la empresa se usan a menos que se anulen a nivel de espacio de trabajo. Nuevos campos en Company (GET /company, PUT /company, PATCH /company):
| Campo | Tipo | Descripción |
|---|---|---|
color_primary | string | null | Color de acción principal para botones, enlaces y acentos (hexadecimal #rrggbb) |
color_primary_fg | string | null | Color de texto en elementos con el color principal |
color_background | string | null | Color de fondo de página/lienzo |
color_foreground | string | null | Color de texto principal |
color_card | string | null | Color de fondo de tarjeta/panel |
color_border | string | null | Color de borde y divisor |
GET /workspace/{workspace_id}/settings, PUT /workspace/{workspace_id}/settings):
Los mismos seis campos están disponibles en la configuración del espacio de trabajo. Establece un valor para anular el predeterminado de la empresa, o establece null para heredar de la empresa.
| Campo | Tipo | Descripción |
|---|---|---|
color_primary | string | null | Anulación del color principal. Null para heredar de la empresa. |
color_primary_fg | string | null | Anulación del color de primer plano principal. Null para heredar. |
color_background | string | null | Anulación del color de fondo. Null para heredar. |
color_foreground | string | null | Anulación del color de primer plano/texto. Null para heredar. |
color_card | string | null | Anulación del color de fondo de tarjeta. Null para heredar. |
color_border | string | null | Anulación del color de borde. Null para heredar. |
Esquema ColorPalette
Un nuevo esquemaColorPalette representa la paleta de colores resuelta aplicada a la experiencia de firma. Todos los valores son cadenas de color hexadecimal (#rrggbb).
| Propiedad | Descripción |
|---|---|
primary | Color de acción principal (botones, enlaces, acentos) |
primary_fg | Color de texto en elementos con el color principal |
background | Color de fondo de página/lienzo |
foreground | Color de texto principal |
card | Color de fondo de tarjeta/panel |
border | Color de borde y divisor |
Guía de Migración
De v1.16.0 a v1.17.0: Este es un cambio aditivo sin efectos disruptivos. Las integraciones existentes siguen funcionando sin modificaciones.- Los seis campos de color son
nullde forma predeterminada, lo que preserva la apariencia predeterminada existente de Firma. - Para personalizar los colores, establece valores hexadecimales en la configuración de la empresa (predeterminados para toda la empresa) o en la configuración del espacio de trabajo (anulaciones por espacio de trabajo).
- La cascada de colores es: predeterminados de Firma -> anulaciones de empresa -> anulaciones de espacio de trabajo. Cada nivel solo anula los campos que están explícitamente establecidos (no nulos).
v1.16.0
Fecha de lanzamiento: 27 de abril de 2026 Descargar especificación OpenAPINuevas Funcionalidades
Descarga del Documento de la Solicitud de Firma
Un nuevo endpoint recupera una URL de descarga para el documento de una solicitud de firma. Para las solicitudes de firma completadas, la URL apunta al PDF final firmado. Para las solicitudes en progreso, canceladas, rechazadas o expiradas, la URL apunta a un PDF de instantánea parcial que captura el estado del documento en el momento de la última acción del firmante. Endpoint:GET /signing-requests/{id}/download
Campos de respuesta:
| Campo | Tipo | Descripción |
|---|---|---|
status | string | Estado de la solicitud de firma: finished, in_progress, cancelled, declined o expired |
is_partial | boolean | true cuando el documento es una instantánea parcial (no todos los firmantes completaron) |
download_url | string | URL pre-firmada al documento PDF |
generated_at | date-time | null | Cuándo se generó el documento por última vez |
expires_at | date-time | Cuándo expira el download_url |
| Estado de la Solicitud de Firma | Respuesta |
|---|---|
| Aún no enviada | 409 Conflict — descarga no disponible |
| Enviada, generación en progreso | 503 Service Unavailable con encabezado Retry-After |
| Enviada, al menos un firmante completó | 200 con is_partial: true |
| Cancelada / Rechazada / Expirada | 200 con is_partial: true (instantánea del último estado conocido) |
| Completada (todos los firmantes finalizaron) | 200 con is_partial: false |
503 con un encabezado Retry-After mientras se genera el PDF; vuelve a intentarlo después del intervalo indicado.
Expiración de URL: El download_url es una URL pre-firmada. Vuelve a llamar al endpoint después de expires_at para obtener una URL nueva.
Configuración de Marca de Agua de Descarga Parcial
Una nueva configuración de espacio de trabajoshow_partial_watermark controla si las descargas de PDF parciales incluyen una marca de agua diagonal “EN PROGRESO — AÚN NO EJECUTADO”. Deshabilitada de forma predeterminada. Se puede establecer a nivel de empresa (predeterminado para todos los espacios de trabajo) o anular por espacio de trabajo.
Endpoint: PUT /workspace/{workspace_id}/settings
| Campo | Tipo | Descripción |
|---|---|---|
show_partial_watermark | boolean | null | true para habilitar la marca de agua, false para deshabilitarla, null para heredar el predeterminado de la empresa |
Guía de Migración
De v1.15.3 a v1.16.0: Este es un cambio aditivo sin efectos disruptivos. Las integraciones existentes siguen funcionando sin modificaciones.- El endpoint de descarga es puramente opcional. No cambia ningún comportamiento existente.
- Llama a
GET /signing-requests/{id}/download— maneja503conRetry-Afterhasta que el documento esté listo.
v1.15.3
Fecha de lanzamiento: 27 de abril de 2026 Descargar especificación OpenAPIAlias de campos limpios para GET /signing-requests//fields
El endpoint de campos ahora devuelve campos limpios y con nombres consistentes junto a los nombres de columna de base de datos existentes:| Campo Nuevo | Reemplaza (Obsoleto) | Notas |
|---|---|---|
type | field_type | Cadena de tipo de campo |
recipient_id | companies_workspaces_signing_requests_users_id | UUID del destinatario |
value | final_value | Valor de campo firmado |
position.x | x_postion | Corrige el error tipográfico en el nombre original |
position.y | y_position | Anidado en el objeto position |
position.width | width | Anidado en el objeto position |
position.height | heigh | Corrige el error tipográfico en el nombre original |
required, read_only y date_signing_default ahora devuelven booleanos (true/false) en lugar de enteros (0/1).
Todos los campos obsoletos permanecen en la respuesta por compatibilidad con versiones anteriores y se eliminarán en una futura versión mayor.
Guía de migración
Actualiza tu análisis de campos para usar los nombres nuevos. Los nombres obsoletos siguen funcionando:v01.15.02
Fecha de Lanzamiento: 23 de abril de 2026Descargar especificación OpenAPI
Corrección de Errores
Tipos de Campo de Create-and-Send Ampliados
Al esquemafields del endpoint create-and-send le faltaban varios tipos de campo que ya eran compatibles con el backend y disponibles a través de anchor_tags. Se han agregado los siguientes tipos al enum fields.type:
dropdown(con la propiedaddropdown_options)radio_buttonstext_areaurlfile
POST /signing-requests/create-and-send— enumfields[].type
v01.15.01
Fecha de Lanzamiento: 17 de abril de 2026Descargar especificación OpenAPI
Corrección de Errores
Enum de Idioma Actualizado
Se agregaron los códigos de idioma faltantesru (ruso) y pl (polaco) a todos los campos enum de idioma en la API. Estos idiomas ya eran compatibles con la plataforma pero faltaban en la especificación OpenAPI, lo que impedía a los usuarios de la API establecerlos a través de endpoints documentados.
Endpoints afectados:
PUT /workspace/{workspace_id}/settings— campolanguagePUT /companyyPATCH /company— campolanguageGET /email-templates/defaults— parámetro de consultalanguage
v01.15.00
Fecha de Lanzamiento: 16 de abril de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Webhooks con Alcance de Espacio de Trabajo
Los webhooks ahora pueden tener alcance a espacios de trabajo individuales en lugar de aplicarse a toda la empresa. Esto permite que diferentes espacios de trabajo tengan configuraciones de webhook y secretos de firma independientes.- Parámetro
workspace_iden la creación de webhooks — Pasa unworkspace_idopcional al crear un webhook para limitarlo a un espacio de trabajo específico. Omitirlo crea un webhook a nivel de empresa (comportamiento existente). - Filtro
workspace_iden el listado de webhooks — Filtra la lista de webhooks por espacio de trabajo. Cuando se omite, solo se devuelven los webhooks a nivel de empresa. - Campo de espacio de trabajo
ignore_company_webhooks— Los espacios de trabajo pueden excluirse de recibir eventos de webhook a nivel de empresa estableciendo este indicador entrue.
Gestión de Secretos de Webhook de Espacio de Trabajo
Dos nuevos endpoints para gestionar los secretos de firma de webhook a nivel de espacio de trabajo:POST /workspaces/{id}/webhooks/rotate-secret— Genera un nuevo secret de firma de webhook para el espacio de trabajo. El secreto anterior sigue siendo válido durante un período de gracia de 7 días.GET /workspaces/{id}/webhooks/secret-status— Devuelve el estado del secret de webhook del espacio de trabajo, incluyendo fecha de creación, fecha de rotación e información del período de gracia.
Campos de Webhook en la Respuesta del Espacio de Trabajo
La respuesta GET del espacio de trabajo ahora incluye campos relacionados con webhooks:webhook_enabled— Si los webhooks a nivel de espacio de trabajo están habilitadoswebhook_secret— El secret de firma de webhook actualwebhook_secret_created_at— Cuándo se creó el secret actualwebhook_secret_rotated_at— Cuándo se rotó el secret por última vezignore_company_webhooks— Si el espacio de trabajo ignora los eventos de webhook a nivel de empresa
Cambios
- Se agregó el parámetro opcional
workspace_idaPOST /webhooksyGET /webhooks - Se agregaron 5 nuevos campos al esquema
Workspace:webhook_enabled,webhook_secret,webhook_secret_created_at,webhook_secret_rotated_at,ignore_company_webhooks - Se agregaron 2 nuevos endpoints:
POST /workspaces/{id}/webhooks/rotate-secret,GET /workspaces/{id}/webhooks/secret-status - Se aplicó protección SSRF a la validación de URL de webhook
Guía de Migración
De v01.14.00 a v01.15.00: Este es un cambio aditivo sin efectos disruptivos. Las integraciones existentes siguen funcionando sin modificaciones.- Los webhooks a nivel de empresa siguen siendo el predeterminado. El parámetro
workspace_ides opcional tanto en la creación como en el listado. - Los webhooks existentes no se ven afectados. Los nuevos campos de espacio de trabajo en la respuesta de espacio de trabajo son predeterminadamente
webhook_enabled: falseeignore_company_webhooks: false. - Para adoptar los webhooks de espacio de trabajo, crea un webhook con un
workspace_idy luego usa el endpoint de rotación de secret del espacio de trabajo para generar un secret de firma para ese espacio de trabajo.
v01.14.00
Fecha de Lanzamiento: 12 de abril de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Designaciones de Destinatario
El campodesignation en los destinatarios de solicitud de firma y plantilla ahora acepta tres valores: "Signer", "Approver" y "CC".
- Signer — Firma el documento (comportamiento existente, sigue siendo el predeterminado)
- Approver — Aprueba el documento usando campos específicos de aprobación. Los aprobadores no firman pero deben completar todos los campos de aprobación asignados antes de que la solicitud pueda finalizar.
- CC — Recibe una copia completada del documento firmado. Los destinatarios en CC no pueden firmar ni tener campos asignados.
Tipos de Campo de Aprobación
Tres nuevos tipos de campo para destinatarios Approver:approval_signature— Un sello de aprobación colocado por el aprobadorapproval_checkmark— Una casilla de aprobaciónapproval_date— Fecha auto-completada cuando el aprobador aprueba
"Approver".
Destinatarios CC
Los destinatarios CC ahora son compatibles en todos los endpoints de creación y actualización tanto para plantillas como para solicitudes de firma. Los destinatarios CC aparecen en la lista de destinatarios pero no tienen campos ni participan en el flujo de firma o aprobación.Cambios
- Se amplió el enum
designationde["Signer"]a["Signer", "Approver", "CC"]en 7 esquemas - Se agregaron
approval_signature,approval_checkmarkyapproval_datea los enums de tipo de campo en 10 esquemas
Guía de Migración
De v01.13.00 a v01.14.00: Este es un cambio aditivo sin efectos disruptivos. Las integraciones existentes siguen funcionando sin modificaciones.- Los nuevos valores de
designationson opcionales. Omitir el campodesignationusa"Signer"de forma predeterminada, preservando el comportamiento existente. - Los nuevos tipos de campo son aditivos. Todos los valores de tipo de campo existentes siguen siendo válidos y sin cambios.
- Si integras flujos de aprobación, asigna la designación
"Approver"a los destinatarios relevantes y usa los tipos de campoapproval_*para sus campos.
v01.13.00
Fecha de Lanzamiento: 12 de abril de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Tipo de Campo de Sello
Nuevo tipo de campostamp para colocar imágenes de sello preconfiguradas o sellos de empresa en documentos. Los sellos son imágenes PNG de solo lectura establecidas por el creador de la plantilla o solicitud de firma, se renderizan en el momento de la firma sin interacción del firmante, y se incrustan en el PDF final.
Cambios
- Se agregó
stampa los enums de tipo de campo en todos los esquemas relacionados con campos (plantillas, solicitudes de firma, create-and-send) - Se actualizaron las descripciones de tipo de campo para documentar el comportamiento del sello
Guía de Migración
De v01.12.01 a v01.13.00: Este es un cambio aditivo sin efectos disruptivos. Las integraciones existentes no se ven afectadas.- Si creas campos a través de la API, ahora puedes usar
"stamp"como tipo de campo. Los campos de sello deben establecerse comoread_only: truecon la imagen del sello como una URL de datos PNG enread_only_value. - Los campos de sello también son compatibles con las etiquetas de anclaje. Al usar etiquetas de anclaje, la imagen del sello debe proporcionarse mediante
read_only_valuecomo una URL de datos PNG.
v01.12.01
Fecha de Lanzamiento: 2 de abril de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
variable_defined_name en las Respuestas de Campo
Todos los endpoints de la API que devuelven campos de plantilla o de solicitud de firma ahora incluyen una propiedad variable_defined_name. Este es el field_name legible por humanos de la definición de campo personalizado al que está vinculado el campo.
Anteriormente, los campos vinculados a definiciones de campo personalizado solo exponían variable_name, que contiene el identificador interno (por ejemplo, custom_template_a1b2c3d4-...). El nuevo variable_defined_name devuelve el nombre que definiste originalmente (por ejemplo, artist_name), facilitando el mapeo de campos en tu integración sin tener que hacer referencia cruzada al endpoint de campos personalizados.
Endpoints afectados:
GET /templates(lista y único)GET /templates/{id}/fieldsPOST /templates/{id}/replace-documentGET /signing-requests(lista)GET /signing-requests/{id}/fieldsGET /documents(legado)
variable_defined_name es null.
variable_defined_name como Entrada para la Coincidencia de Campos
Al crear una solicitud de firma a partir de una plantilla mediante POST /signing-requests/create-and-send, ahora puedes usar variable_defined_name para dirigir campos para anulaciones en lugar del variable_name interno:
variable_name como variable_defined_name. variable_name tiene prioridad cuando se proporcionan ambos.
Sin Cambios Importantes
Esta es una versión de parche sin efectos disruptivos. Todo el comportamiento existente de la API no cambia.v01.12.00
Fecha de Lanzamiento: 26 de marzo de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Integración con Servidor MCP
Firma ahora es compatible con el Model Context Protocol (MCP), lo que permite que asistentes de IA como Claude interactúen con la API de Firma mediante lenguaje natural. El servidor MCP expone las operaciones principales de la API de Firma como herramientas que los asistentes de IA pueden descubrir y llamar directamente. URL del Servidor:https://mcp.firma.dev/mcp
Autenticación:
- Autenticación con clave API a través del encabezado
Authorization - OAuth 2.1 con PKCE para clientes basados en navegador (Claude.ai, Claude Desktop)
- Espacios de trabajo — listar, crear, obtener, actualizar
- Plantillas — CRUD completo, duplicar, ver campos/usuarios/recordatorios
- Solicitudes de Firma — CRUD completo, enviar, cancelar, reenviar, registros de auditoría
- Webhooks — CRUD completo, prueba de entrega
- Empresa — ver y actualizar información de la empresa
Sin Cambios Importantes
Esta versión no agrega nuevos endpoints de API ni cambios de esquema. La especificación OpenAPI no ha cambiado respecto a v1.11.0.v01.11.00
Fecha de Lanzamiento: 19 de marzo de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Tipo de Campo de Subida de Archivos
Un nuevo tipo de campofile permite a los firmantes subir archivos adjuntos. Compatible tanto en solicitudes de firma como en plantillas.
- Los firmantes pueden subir imágenes (JPG, PNG) y/o archivos PDF según la configuración
- Los archivos se validan por bytes mágicos, no solo por la extensión del archivo
- Tamaño máximo de archivo: 10MB
format_rules:
Valor de acceptedFileTypes | Formatos Aceptados |
|---|---|
image_and_pdf (predeterminado) | JPG, PNG, PDF |
image | Solo JPG, PNG |
pdf | Solo PDF |
Etiquetas de Anclaje para la Colocación Automática de Campos
Un nuevo arrayanchor_tags en la creación de solicitudes de firma habilita la colocación automática de campos usando marcadores de texto incrustados en documentos PDF (por ejemplo, {{SIGN_HERE}}). El texto de anclaje se elimina del PDF después del procesamiento de forma predeterminada.
- Hasta 100 etiquetas de anclaje por solicitud
- Solo disponible para la creación basada en documentos (no basada en plantillas)
- Los campos creados a partir de etiquetas de anclaje se agregan junto a cualquier campo especificado manualmente
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
anchor_string | string (obligatorio) | — | Texto a buscar en el PDF |
type | string (obligatorio) | — | Tipo de campo a colocar en la ubicación de anclaje |
recipient_id | string|integer (obligatorio) | — | Destinatario asignado al campo |
x_offset / y_offset | number | 0 | Desplazamiento desde la posición de anclaje |
offset_units | percent | pixels | percent | Tipo de unidad para los desplazamientos |
width / height | number | varía según el tipo | Dimensiones del campo como porcentaje de la página |
occurrence | integer | 0 (todas) | Qué ocurrencia dirigir (0 = todas) |
ignore_if_not_present | boolean | false | Omitir sin error si no se encuentra el anclaje |
remove_anchor_text | boolean | true | Eliminar el texto de anclaje del PDF |
case_sensitive | boolean | false | Coincidencia sensible a mayúsculas y minúsculas |
match_whole_word | boolean | true | Coincidir solo palabras completas |
Color de Fondo de Campo
Todos los tipos de campo ahora admiten una propiedadbackground_color — una cadena de color hexadecimal (por ejemplo, #FFFDE7, #fff) útil para resaltar campos que requieren atención. Disponible tanto en campos estándar como en definiciones de etiquetas de anclaje.
Cambios de Esquema
Nuevos Esquemas
| Esquema | Descripción |
|---|---|
FileFormatRules | Reglas de formato para campos de subida de archivos (enum acceptedFileTypes) |
AnchorTag | Definición de etiqueta de anclaje para la colocación automática de campos (~25 propiedades) |
Field / TemplateField / SigningRequestField
| Campo Agregado | Tipo | Descripción |
|---|---|---|
background_color | string | null | Color hexadecimal para el fondo del campo (por ejemplo, #FFFDE7) |
Enum de Tipo de Campo
- Se agregó
filea la lista de tipos de campo aceptados
format_rules
- Ahora acepta
FileFormatRules(conacceptedFileTypes) además deDateFormatRulesy el texto a mostrar de URL
Creación de Solicitud de Firma
| Campo Agregado | Tipo | Descripción |
|---|---|---|
anchor_tags | AnchorTag[] | Etiquetas de anclaje para la colocación automática de campos (máximo 100) |
Cambios Importantes
Cambio del Valor Predeterminado de use_signing_order
El valor predeterminado de la configuración use_signing_order ha cambiado de false a true. Esto significa que las nuevas solicitudes de firma aplicarán el orden de firma de forma predeterminada. Cuando es true, los firmantes reciben el documento en secuencia según su campo order. Establece use_signing_order: false explícitamente para preservar el comportamiento anterior en el que todos los firmantes reciben el documento simultáneamente.
Guía de Migración
Si dependes del comportamiento anterior en el que todos los firmantes reciben los documentos simultáneamente, establece explícitamenteuse_signing_order: false al crear solicitudes de firma. Revisa cualquier código de integración que cree solicitudes de firma sin especificar este campo.
v01.10.00
Fecha de Lanzamiento: 10 de marzo de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Lógica de Campo Condicional
Los campos ahora admiten reglas condicionales tanto para el estado obligatorio como para la visibilidad. Dos nuevas propiedades anulables están disponibles en los objetos de campo:required_conditions— Cuando se establece, anula el indicador estáticorequired. El campo es obligatorio solo cuando las condiciones se evalúan como verdaderas según los valores de otros campos.visibility_conditions— Cuando se establece, el campo se oculta a menos que las condiciones se evalúen como verdaderas. Los campos ocultos no se validan al enviar.
| Esquema | Descripción |
|---|---|
ConditionSet | Contenedor de nivel superior con un operador logic (and/or) y un array de groups |
ConditionGroup | Contiene un array de conditions, combinadas usando el operador lógico opuesto al de su padre |
Condition | Evalúa un único campo por field_id, operator y value opcional |
is_filled, is_empty, equals, not_equals, contains, not_contains, greater_than, less_than, greater_than_or_equal, less_than_or_equal
Ejemplo: hacer que un campo sea obligatorio solo cuando se completa otro campo:
Soporte de Documentos DOCX
Todos los endpoints de subida de documentos ahora aceptan archivos DOCX además de PDF. Los archivos DOCX se convierten automáticamente a PDF al subirlos. Esto aplica a:- Creación de plantilla (
POST /templates) - Reemplazo de documento de plantilla (
POST /templates/{id}/replace-document) - Creación de solicitud de firma (
POST /signing-requests) - Actualizaciones de plantilla/solicitud de firma (PUT y PATCH)
Endpoint de Registro de Auditoría
Un nuevo endpoint recupera el registro de auditoría completo de una solicitud de firma, combinando las acciones del administrador (creado, editado, enviado, cancelado) y las acciones del firmante (visto, firmado, rechazado, descargado). Los eventos se ordenan cronológicamente. Endpoint:GET /signing-requests/{id}/audit
Campos de respuesta:
| Campo | Tipo | Descripción |
|---|---|---|
id | uuid | ID del evento de auditoría |
timestamp | date-time | Cuándo ocurrió el evento |
source | string | admin o signer |
event | string | Identificador del tipo de evento |
description | string | Descripción legible del evento |
actor | object | null | Quién realizó la acción |
ip_address | string | null | Dirección IP (solo eventos de firmante) |
details | object | null | Metadatos adicionales específicos del evento |
Control del Marco de Firma
Una nueva configuraciónshow_signature_frame controla si se renderiza un marco visual con el ID de Firma alrededor de las firmas en los PDF completados. Disponible a nivel de empresa, espacio de trabajo y solicitud de firma.
| Nivel | Campo | Comportamiento |
|---|---|---|
| Empresa | show_signature_frame | Establece el predeterminado (habilitado de forma predeterminada) |
| Configuración de Espacio de Trabajo | show_signature_frame | Anula el predeterminado de la empresa; null hereda |
| Configuración de Solicitud de Firma | show_signature_frame | Anula el predeterminado del espacio de trabajo; null hereda |
true— Mostrar el marco de firma con el ID de Firmafalse— Ocultar el marco de firmanull— Heredar del nivel padre
Forzar la Eliminación de Condiciones al Eliminar Usuarios
Al eliminar destinatarios cuyos campos son referenciados por condiciones en otros campos, un nuevo parámetro booleanoforce_remove_conditions controla el comportamiento:
false(predeterminado) — La solicitud se rechaza con un error que lista los campos dependientestrue— Elimina automáticamente las referencias de condición y procede con la eliminación
Cambios de Esquema
Field
| Campo Agregado | Tipo | Descripción |
|---|---|---|
required_conditions | ConditionSet | null | Reglas condicionales para cuándo este campo es obligatorio |
visibility_conditions | ConditionSet | null | Reglas condicionales para cuándo este campo es visible |
Nuevos Esquemas
| Esquema | Descripción |
|---|---|
ConditionSet | Un conjunto de grupos de condición con lógica anidada (contiene logic y groups) |
ConditionGroup | Un grupo de condiciones (contiene un array conditions) |
Condition | Una condición única que evalúa el valor de un campo (contiene field_id, operator, value) |
SigningRequestSettings / WorkspaceSettings / Company
| Campo Agregado | Tipo | Descripción |
|---|---|---|
show_signature_frame | boolean | null | Si se deben renderizar marcos de firma en los PDF completados |
Eliminación de Usuario de Plantilla y Solicitud de Firma
| Parámetro Agregado | Tipo | Descripción |
|---|---|---|
force_remove_conditions | boolean | Forzar la eliminación de las referencias de condición al eliminar usuarios cuyos campos son referenciados (predeterminado: false) |
Nuevos Endpoints
| Endpoint | Método | Descripción |
|---|---|---|
/signing-requests/{id}/audit | GET | Obtener el registro de auditoría de la solicitud de firma |
Guía de Migración
Sin cambios importantes. Todas las nuevas funcionalidades son aditivas:- Las propiedades de campo condicional son predeterminadamente
null(sin condiciones) show_signature_framees predeterminadamentenull(heredar, que está habilitado de forma predeterminada)force_remove_conditionses predeterminadamentefalse(preservando el comportamiento de rechazo existente)- El soporte DOCX es transparente: las subidas de PDF existentes siguen funcionando sin cambios
- El endpoint de registro de auditoría es puramente aditivo
v01.09.00
Fecha de Lanzamiento: 5 de marzo de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Verificación OTP por Correo Electrónico
Una nueva configuraciónrequire_otp_verification te permite exigir que los firmantes verifiquen su dirección de correo electrónico con un código de un solo uso antes de acceder a los documentos de firma. Esto agrega una capa adicional de verificación de identidad.
Dónde está disponible:
| Nivel | Campo | Comportamiento |
|---|---|---|
| Empresa | require_otp_verification | Establece el predeterminado para todos los espacios de trabajo |
| Configuración de Espacio de Trabajo | require_otp_verification | Anula el predeterminado de la empresa; null hereda de la empresa |
| Configuración de Solicitud de Firma | require_otp_verification | Anula el predeterminado del espacio de trabajo; null hereda del espacio de trabajo |
true— Requerir verificación OTP antes de acceder al documentofalse— No requerir verificación OTPnull— Heredar del nivel padre (espacio de trabajo → empresa, solicitud de firma → espacio de trabajo)
Reemplazar Documento de Plantilla
Un nuevo endpoint permite reemplazar el documento PDF de una plantilla mientras se preservan todas las colocaciones de campos. Esto es útil cuando necesitas actualizar un documento (por ejemplo, corregir un error tipográfico) sin recrear todas las configuraciones de campos. Endpoint:POST /templates/{id}/replace-document
Requisitos:
- El documento de reemplazo debe tener el mismo número de páginas que el original
- Las dimensiones de página deben coincidir dentro de una tolerancia de 1pt
- El documento debe proporcionarse como un PDF codificado en base64
| Error | Causa |
|---|---|
| 400 | Discrepancia en el número de páginas |
| 400 | Discrepancia en las dimensiones de página (excede la tolerancia de 1pt) |
| 400 | Documento PDF inválido o corrupto |
Cambios de Esquema
SigningRequestSettings
| Campo Agregado | Tipo | Descripción |
|---|---|---|
require_otp_verification | boolean | null | Requiere verificación OTP por correo electrónico; null hereda del espacio de trabajo |
WorkspaceSettings
| Campo Agregado | Tipo | Descripción |
|---|---|---|
require_otp_verification | boolean | null | Requiere verificación OTP por correo electrónico; null hereda de la empresa |
Nuevos Endpoints
| Endpoint | Método | Descripción |
|---|---|---|
/templates/{id}/replace-document | POST | Reemplazar el PDF de la plantilla preservando los campos |
Guía de Migración
Sin cambios importantes. El camporequire_otp_verification es predeterminadamente null (heredar), por lo que el comportamiento existente no cambia. El endpoint de reemplazo de documento es puramente aditivo.
v01.08.00
Fecha de Lanzamiento: 3 de marzo de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
API de Plantillas de Correo
Un nuevo grupo de endpoints de Plantillas de Correo te permite personalizar los correos de notificación enviados durante el proceso de firma. Las plantillas se pueden configurar tanto a nivel de empresa como de espacio de trabajo, y las plantillas a nivel de espacio de trabajo anulan los predeterminados a nivel de empresa. Tipos de correo admitidos:| Tipo de Correo | Cuándo se Envía |
|---|---|
signing_invite | Cuando se envía una solicitud de firma a un destinatario |
next_signer | Cuando es el turno del siguiente firmante en un orden de firma |
signing_expired | Cuando expira una solicitud de firma |
signing_cancelled | Cuando se cancela una solicitud de firma |
signing_declined | Cuando un firmante rechaza |
| Endpoint | Descripción |
|---|---|
GET /workspace/{workspace_id}/email-templates | Listar las plantillas de correo del espacio de trabajo |
GET /workspace/{workspace_id}/email-templates/{email_type} | Obtener una plantilla de correo específica del espacio de trabajo |
PUT /workspace/{workspace_id}/email-templates/{email_type} | Crear o actualizar una plantilla de correo del espacio de trabajo |
DELETE /workspace/{workspace_id}/email-templates/{email_type} | Eliminar una plantilla de correo del espacio de trabajo |
GET /company/email-templates | Listar las plantillas de correo de la empresa |
PUT /company/email-templates/{email_type} | Crear o actualizar una plantilla de correo de la empresa |
DELETE /company/email-templates/{email_type} | Eliminar una plantilla de correo de la empresa |
GET /email-templates/defaults/{language} | Obtener las plantillas predeterminadas incorporadas para un idioma |
GET /email-templates/placeholders | Obtener los marcadores de plantilla disponibles |
{{signing_link}}, {{signer_name}}, etc. Se devuelve una advertencia si el cuerpo no contiene {{signing_link}}.
Ejemplo:
Soporte de Idiomas
Nuevo campolanguage agregado tanto al esquema Company como al WorkspaceSettings para admitir plantillas de correo multi-idioma.
| Campo | Tipo | Valores | Predeterminado |
|---|---|---|---|
language | string | en, es, it, pt, fr, de, el | en |
Cambios de Esquema
Correcciones de Marca de Tiempo
Los nombres de los campos de marca de tiempo se han corregido en la especificación para coincidir con las respuestas reales de la API:| Esquema | Especificación Anterior | Corregido |
|---|---|---|
Company | date_created, date_changed | created_date, updated_date |
Workspace | date_created, date_changed | created_date, updated_date |
Template | date_created, date_changed | created_date, updated_date |
Reminder | date_created, date_changed | created_at, updated_at |
Webhook | date_created, date_changed | created_at, updated_at |
Estas son solo correcciones de especificación: las respuestas de la API no han cambiado. Si tu integración ya maneja los campos de respuesta reales de la API, no se necesitan cambios de código.
Esquema Company
| Cambio | Detalles |
|---|---|
| Corregido | company_name → name (coincide con la respuesta real de la API) |
| Agregado | language (enum, predeterminado "en") |
| Corregido | date_created/date_changed → created_date/updated_date |
Esquema Template (Ampliado)
El esquemaTemplate ahora incluye destinatarios y campos en línea al obtener una única plantilla (GET /templates/{id}), reduciendo la necesidad de llamadas API separadas.
| Campo Agregado | Tipo | Descripción |
|---|---|---|
page_count | integer | Número de páginas en el documento |
expiration_hours | integer | Horas hasta que expiren las solicitudes de firma (predeterminado: 168) |
settings | SigningRequestSettings | Configuración a nivel de plantilla |
recipients | array | Destinatarios de la plantilla (en línea) |
fields | array | Campos de la plantilla (en línea) |
Formas de Respuesta de Solicitud de Firma
El esquema monolíticoSigningRequest se ha dividido en formas de respuesta específicas por endpoint:
| Esquema | Usado Por |
|---|---|
SigningRequestListItem | GET /signing-requests (lista) |
SigningRequestCreateResponse | POST /signing-requests, POST /documents |
SigningRequestDetail | GET /signing-requests/{id} (sin cambios desde v1.7.0) |
recipients y fields en línea, y usan campos de marca de tiempo estandarizados (created_date, sent_date, finished_date, etc.).
SigningRequestSettings
use_signing_order (boolean, predeterminado false) ahora está incluido en el objeto settings. Anteriormente solo estaba disponible como un campo entero obsoleto de nivel superior.
Esquema Reminder
| Campo Agregado | Descripción |
|---|---|
recipient_id | Destinatario específico al que enviar el recordatorio (contexto de solicitud de firma) |
sent_on | Marca de tiempo de cuándo se envió realmente el recordatorio |
Esquema Webhook
| Campo Agregado | Tipo | Descripción |
|---|---|---|
description | string | Descripción del webhook |
consecutive_failures | integer | Número de fallos de entrega consecutivos |
auto_disabled_at | datetime | Cuándo se deshabilitó automáticamente el webhook debido a fallos |
SendSigningRequestResponse (Corregido)
La especificación ahora refleja con precisión la forma real de la respuesta:| Especificación Anterior | Corregido |
|---|---|
success (boolean) | message (string) |
sentTo (email) | signing_request_id (uuid) |
sentAt (datetime) | recipients_notified (integer), sent_date, expires_at |
WorkspaceSettings
| Campo Agregado | Descripción |
|---|---|
name | Nombre del espacio de trabajo |
language | Idioma del espacio de trabajo para las plantillas de correo |
v01.07.00
Fecha de Lanzamiento: 25 de febrero de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Firmas Solo Manuscritas
Una nueva configuraciónhand_drawn_only te permite exigir que los firmantes dibujen a mano su firma en lugar de usar opciones tipeadas o basadas en fuentes.
Agregado al esquema SigningRequestSettings:
| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
hand_drawn_only | boolean | false | Cuando está habilitado, los firmantes solo pueden dibujar a mano sus firmas |
- Creación de solicitudes de firma (
POST /signing-requests) - Creación y envío de solicitudes de firma (
POST /signing-requests/create-and-send) - Actualizaciones completas (
PUT /signing-requests/{id}) - Actualizaciones parciales (
PATCH /signing-requests/{id}) - Creación y actualización de plantillas
Cambios de Esquema
Campos de Configuración Heredados Obsoletos
El esquemaSigningRequest ahora incluye campos enteros obsoletos de nivel superior que reflejan el objeto settings booleano. Estos existen por compatibilidad con versiones anteriores y no deben usarse en nuevas integraciones:
| Campo Obsoleto | Tipo | Usar en su Lugar |
|---|---|---|
use_signing_order | integer (0/1) | settings.use_signing_order |
allow_download | integer (0/1) | settings.allow_download |
allow_editing_before_sending | integer (0/1) | settings.allow_editing_before_sending |
hand_drawn_only | integer (0/1) | settings.hand_drawn_only |
attach_pdf_on_finish | integer (0/1) | settings.attach_pdf_on_finish |
Guía de Migración
Sin cambios importantes. La configuraciónhand_drawn_only es predeterminadamente false, preservando el comportamiento existente. Los campos enteros obsoletos de nivel superior son puramente aditivos.
v01.06.00
Fecha de Lanzamiento: 12 de febrero de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Descargas de PDF Divididas
Las solicitudes de firma completadas ahora admiten la descarga del documento firmado y el certificado de registro de auditoría como archivos separados, además de la descarga combinada existente. Nuevos campos en el esquemaSigningRequest:
| Campo | Descripción |
|---|---|
document_only_download_url | URL firmada para descargar solo el documento firmado (sin las páginas de certificado/registro de auditoría) |
document_only_download_error | Indicador de error si el archivo de solo documento es inaccesible |
certificate_only_download_url | URL firmada para descargar solo las páginas de certificado/registro de auditoría |
certificate_only_download_error | Indicador de error si el archivo de solo certificado es inaccesible |
- Solo disponible cuando la funcionalidad de PDF dividido se ha aplicado a la solicitud de firma
- Las URL expiran después de 1 hora: vuelve a obtener la solicitud de firma para obtener una URL nueva
- Los campos de error devuelven
"file_not_accessible"si la ruta del archivo existe pero el archivo falta
Cambios de Esquema
Normalización de Tipo de Campo
Los enums de tipo de campo ahora aceptan tanto las formas originales como las normalizadas en todos los esquemas. La API normaliza las entradas automáticamente:| Entrada | Normalizado A |
|---|---|
initials | initial |
textarea | text_area |
| Esquema | Cambio |
|---|---|
TemplateField.type | initials → initial; el enum ahora incluye ambas variantes, initial e initials |
Field.type (solicitudes de firma) | Ahora acepta initial/initials y textarea/text_area |
SigningRequestField.field_type | initials → initial, textarea → text_area |
PATCH de plantilla field.type | Ahora acepta ambas formas con normalización |
PATCH de solicitud de firma field.type | Ahora acepta ambas formas con normalización |
Guía de Migración
Sin cambios importantes. Se aceptan tanto los nombres de tipo de campo antiguos como los nuevos. Los campos de descarga de PDF dividido son puramente aditivos.v01.05.00
Fecha de Lanzamiento: 5 de febrero de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Advertencias de Validación de Correo Electrónico
Los endpoints de solicitud de firma ahora devuelven advertencias no bloqueantes cuando las direcciones de correo electrónico de los destinatarios tienen formatos potencialmente inválidos (por ejemplo, TLD inusuales, puntos faltantes). Estas advertencias ayudan a identificar posibles problemas de entrega sin hacer fallar la solicitud. Endpoints Afectados:| Endpoint | Campo de Respuesta |
|---|---|
POST /signing-requests (crear) | array warnings |
PATCH /signing-requests/{id} (actualización parcial) | campo warning |
PUT /signing-requests/{id} (actualización completa) | array warnings |
- Las advertencias no son bloqueantes: la solicitud sigue teniendo éxito
- Útil para marcar posibles errores tipográficos o dominios de correo inválidos
- Verifica el campo
warningsowarningen la respuesta para mostrar esto a los usuarios
Guía de Migración
Sin cambios importantes. Las advertencias de validación de correo electrónico son puramente aditivas y no afectan a las integraciones existentes.v01.04.00
Fecha de Lanzamiento: 31 de enero de 2026Descargar especificación OpenAPI
Nuevas Funcionalidades
Nuevos Tipos de Campo
Se han agregado tres nuevos tipos de campo:| Tipo de Campo | Descripción |
|---|---|
textarea | Campo de entrada de texto multilínea |
url | Campo de enlace clicable (automáticamente de solo lectura) |
radio_buttons | Grupo de botones de radio (renombrado de radio) |
- Se establece automáticamente en
read_only: true - Usa
read_only_valuepara establecer la URL de destino - Usa
format_rules.urlDisplayTextpara personalizar el texto mostrado
Operaciones PATCH de Campo
Ambos endpoints PATCH de Plantilla y Solicitud de Firma ahora admiten operaciones de campo único: PATCH de Plantilla (PATCH /templates/{id}):
- Ahora puede actualizar propiedades, un solo usuario, O un solo campo
- Incluye el objeto
fielden el cuerpo de la solicitud - Incluye
field.idpara actualizar un campo existente, omítelo para crear uno nuevo
PATCH /signing-requests/{id}):
- Ahora puede actualizar propiedades, un solo destinatario, O un solo campo
- Misma estructura de objeto de campo que las plantillas
Coincidencia de Usuario de Plantilla para Destinatarios
Al crear solicitudes de firma a partir de plantillas, ahora puedes usartemplate_user_id para coincidir explícitamente destinatarios con usuarios de plantilla:
template_user_ides el método preferido para la coincidenciaordersigue disponible como alternativa
Cambios de Esquema
Enum de Tipo de Campo
Actualizado de:Esquema Recipient
- La creación de solicitud de firma ahora usa la referencia del esquema
Recipientcompartido - Se agregó la propiedad
template_user_idpara la coincidencia explícita de usuario de plantilla
v01.03.00
Descargar especificación OpenAPINuevas Funcionalidades
API de Dominios de Correo
Una nueva categoría de API completa para configurar dominios de correo personalizados para el envío de correos de solicitud de firma: Nuevos Endpoints:GET /company/domains- Listar todos los dominios de correo de la empresaPOST /company/domains- Agregar un nuevo dominio de correoGET /company/domains/{id}- Obtener detalles del dominioDELETE /company/domains/{id}- Eliminar un dominioPOST /company/domains/{id}/verify-ownership- Verificar la propiedad del dominio mediante un registro TXTPOST /company/domains/{id}/finalize- Completar la configuración del dominio con el proveedor de correoPOST /company/domains/{id}/verify-dns- Verificar los registros SPF, DKIM, DMARCPOST /company/domains/{id}/set-primary- Establecer el dominio de envío principal
Domain- Configuración de dominio de correo con estado de verificaciónDomainDnsRecord- Detalles del registro DNS para la verificación del dominio
Seguimiento del Coste en Créditos
- Se agregó el campo
credit_costal esquemaTemplate- Número de créditos consumidos al enviar - Se agregó el campo
credit_costal esquemaSigningRequest- Créditos consumidos al enviar
Estado Rechazado de la Solicitud de Firma
- Se agregó
declineda los valores del enumSigningRequest.status - Se agregó el campo
date_declinedal esquemaSigningRequest
Mejoras de Esquema
Campos de Plantilla
- Se agregó el campo
date_defaultpara establecer valores de fecha predeterminados (formato ISO 8601) - Descripción mejorada de
multi_group_id: explica la agrupación mutuamente excluyente de campos para casillas de verificación/botones de radio - Se agregó una aclaración de que
page_numbercomienza en 1 y no debe exceder el número de páginas del documento
Campos de Solicitud de Firma
- Descripción mejorada de
multi_group_idcon las mismas mejoras que los campos de plantilla
v01.02.00
Descargar especificación OpenAPIInformación de Usuario Mejorada
Mejoras del Esquema TemplateUser
Se agregaron campos completos de información del destinatario:first_name- Nombre del destinatariolast_name- Apellido del destinatariophone_number- Número de teléfono de contactostreet_address- Direccióncity- Ciudadstate_province- Estado o provinciapostal_code- Código postalcountry- Paístitle- Cargocompany- Nombre de la empresa
Indicadores de Listo para Enviar
Nuevos campos para ayudar a determinar la preparación del destinatario:required_fields- Lista de campos de datos de destinatario obligatorios según la configuración de la plantillamissing_fields- Lista de campos obligatorios que actualmente están vacíosrequired_read_only_fields- Campos de solo lectura que necesitan valores precompletadosready_to_send- Booleano que indica si el destinatario tiene todos los datos obligatorios
Mejoras del Esquema SigningRequestUser
Las mismas mejoras que TemplateUser, más:declined_on- Marca de tiempo de cuándo el destinatario rechazó firmardecline_reason- Motivo proporcionado por el destinatario para rechazarcustom_fields- Valores de campo personalizado para el destinatario- Propiedad
has_valueenrequired_read_only_fields- Indica si el campo de solo lectura tiene un valor
Cambios en el Formato de Respuesta
El endpoint de usuarios de plantilla (GET /templates/{id}/users) ahora devuelve:
v01.01.00
Descargar especificación OpenAPINuevos Endpoints
Gestión de Plantillas
Soporte CRUD completo para plantillas:POST /templates- Crear una nueva plantilla con PDF codificado en base64PATCH /templates/{id}- Actualización parcial (propiedades O un solo usuario)PUT /templates/{id}- Actualización completa (propiedades, usuarios, campos, recordatorios)DELETE /templates/{id}- Eliminación suave de una plantilla
Sub-Recursos de Plantilla
GET /templates/{id}/users- Obtener todos los destinatarios de la plantillaGET /templates/{id}/fields- Obtener todos los campos de la plantillaGET /templates/{id}/reminders- Obtener todos los recordatorios de la plantilla
Gestión de Claves API
Nuevos endpoints para el ciclo de vida de la clave API del espacio de trabajo:POST /workspaces/{id}/api-key/regenerate- Generar una nueva clave API con un período de gracia de 24 horasPOST /workspaces/{id}/api-key/expire- Expirar inmediatamente las claves pendientes
Operaciones Mejoradas
Actualizaciones Completas
El endpoint PUT para plantillas admite:template_properties- Actualizar metadatos y configuraciónusers- Upsert de usuarios (incluye id para actualizar, omítelo para crear)deleted_users- Eliminar usuarios con estrategia de manejo de campos (deleteoreassign)fields- Upsert de camposreminders- Upsert de recordatorios
v01.00.02
Descargar especificación OpenAPINuevas Funcionalidades
API de Campos Personalizados
Se agregó la gestión de definiciones de campo personalizado para espacios de trabajo, plantillas y solicitudes de firma. Nueva Etiqueta:Custom Fields- Gestión de definiciones de campo personalizado
WorkspaceCustomField
TemplateCustomField
SigningRequestCustomField
Mejoras de Esquema
Esquema TemplateField
Mejorado con descripciones más claras y propiedades adicionales:- Propiedad
typeexplícita con valores enum - Objeto
positioncon x, y, width, height read_onlyyread_only_valuepara campos precompletados
v01.00.01
Descargar especificación OpenAPIVersión Inicial
La versión inicial de la API de Socios de Firma con las siguientes funcionalidades principales:Etiquetas / Categorías de la API
- Company - Información y configuración de la empresa
- Workspaces - Operaciones de gestión de espacios de trabajo
- Templates - Operaciones de gestión de plantillas
- Signing Requests - Operaciones de solicitud de firma de documentos
- Webhooks - Configuración y gestión de webhooks
- JWT Management - Generación y revocación de tokens JWT
- Legacy - Endpoints obsoletos por compatibilidad con versiones anteriores
Autenticación
- Autenticación con clave API mediante el encabezado
Authorization - Soporte opcional de prefijo Bearer
Límite de Solicitudes
Límites de solicitudes escalonados según el tipo de operación:- Operaciones de lectura (GET): 200 solicitudes/minuto
- Operaciones de escritura (POST/PUT/PATCH/DELETE): 120 solicitudes/minuto
- CRUD de Webhook: 60 solicitudes/minuto
- Prueba de Webhook: 10 solicitudes/minuto
- Operaciones de clave API: 1 solicitud/minuto
- Rotación de secretos: 1 solicitud/minuto
Esquemas Principales
Company
id,company_name,account_owner,account_owner_emailwebsite,icon_url,credits(solo lectura)date_created,date_changed
Workspace
id,name,protected,api_keydate_created,date_changed
Template
id,name,descriptiondocument_url(pre-firmada, expira)document_url_expires_atdate_created,date_changed
SigningRequest
id,name,descriptiondocument_url,document_url_expires_atdocument_page_count,status,expiration_hourssettings,template_id- Campos de fecha:
date_created,date_sent,date_finished,date_cancelled,expires_at - Objeto
certificatecon estado de generación final_document_download_url,final_document_download_error
Recipient
- Principal:
id,first_name,last_name,email,designation,order - Dirección:
street_address,city,state_province,postal_code,country - Profesional:
phone_number,title,company custom_fieldspara datos adicionales- Soporte de ID temporal para la creación basada en documentos
Field
id,type,position,page_number,requiredrecipient_id,variable_name- Específico del tipo:
dropdown_options,date_default,date_signing_default - Solo lectura:
read_only,read_only_value,prefilled_data - Formato:
format_rules,validation_rules
Webhook
id,url,events,enableddate_created,date_changed
Gestión JWT
- Generar JWT para la incrustación de plantillas
- Generar JWT para la incrustación de solicitudes de firma
- Revocar tokens JWT
Guía de Migración
Migración de v01.00.01 a v01.00.02
- Sin cambios importantes
- API de Campos Personalizados disponible para su uso
Migración de v01.00.02 a v01.01.00
- Sin cambios importantes
- Nuevos endpoints de gestión de plantillas disponibles
- Endpoints de regeneración de clave API disponibles
Migración de v01.01.00 a v01.02.00
- Sin cambios importantes
- Los usuarios de plantilla y de solicitud de firma ahora incluyen campos adicionales
- Booleano
ready_to_senddisponible para verificar la preparación del destinatario
Migración de v01.02.00 a v01.03.00
- Sin cambios importantes
- Configuración de dominio de correo disponible para dominios de envío personalizados
- Estado
declinedagregado al enum de estado de la solicitud de firma - Seguimiento del coste en créditos disponible en plantillas y solicitudes de firma
Migración de v01.03.00 a v01.04.00
- Sin cambios importantes
- El tipo de campo
radiose renombró aradio_buttons(ambos siguen siendo aceptados) - Nuevos tipos de campo disponibles:
textarea,url - Los endpoints PATCH ahora admiten operaciones de campo único
- Usa
template_user_idpara la coincidencia explícita de usuario de plantilla en solicitudes de firma
Migración de v01.04.00 a v01.05.00
- Sin cambios importantes
- Las advertencias de validación de correo electrónico son puramente aditivas
Migración de v01.05.00 a v01.06.00
- Sin cambios importantes
- URL de descarga de PDF dividido disponibles en solicitudes de firma completadas
- Las entradas de tipo de campo
initials/initialytextarea/text_arease aceptan ambas con normalización automática
Migración de v01.06.00 a v01.07.00
- Sin cambios importantes
- Nueva configuración
hand_drawn_onlydisponible en la configuración de solicitud de firma (predeterminadofalse) - Los campos enteros obsoletos de nivel superior ahora son visibles en el esquema
SigningRequest: usa el objetosettingsen su lugar
Migración de v01.07.00 a v01.08.00
- Sin cambios importantes: las correcciones de nombres de campo del esquema reflejan las respuestas reales de la API
- Nueva API de Plantillas de Correo para personalizar los correos de notificación de firma
- Campo
languageagregado aCompanyyWorkspaceSettings - Esquema Template ampliado con
recipients,fields,settings,page_count,expiration_hoursen línea use_signing_orderagregado aSigningRequestSettings- El esquema Webhook incluye
description,consecutive_failures,auto_disabled_at - Las respuestas de solicitud de firma se dividieron en formas específicas por endpoint con datos en línea
Migración de v01.08.00 a v01.09.00
- Sin cambios importantes
- Nueva configuración
require_otp_verificationdisponible a nivel de empresa, espacio de trabajo y solicitud de firma - Nuevo endpoint
POST /templates/{id}/replace-documentpara reemplazar los PDF de plantilla preservando los campos
Migración de v01.09.00 a v01.10.00
- Sin cambios importantes
- Lógica de campo condicional disponible mediante
required_conditionsyvisibility_conditionsen los campos - Ahora se aceptan archivos DOCX junto con PDF en todos los endpoints de subida de documentos
- Nuevo endpoint
GET /signing-requests/{id}/auditpara recuperar registros de auditoría - Nueva configuración
show_signature_framea nivel de empresa, espacio de trabajo y solicitud de firma - Nuevo parámetro
force_remove_conditionsen las operaciones de eliminación de usuario
Migración de v01.10.00 a v01.11.00
- Cambio importante: el valor predeterminado de
use_signing_ordercambió defalseatrue; establece explícitamenteuse_signing_order: falsesi dependes de la entrega simultánea - Nuevo tipo de campo
filepara las subidas de archivos del firmante - Etiquetas de anclaje para la colocación automática de campos a partir de marcadores de texto en PDF
- Propiedad
background_colordisponible en todos los tipos de campo
Migración de v01.11.00 a v01.12.00
- Sin cambios importantes
- Integración con servidor MCP para el acceso de asistentes de IA a la API de Firma
- Sin nuevos endpoints de API ni cambios de esquema: la especificación OpenAPI no ha cambiado desde v1.11.0
Migración de v01.12.00 a v01.12.01
- Sin cambios importantes
- Nuevo campo
variable_defined_nameen todas las respuestas de campo: devuelve el nombre legible por humanos de la definición de campo personalizado junto alvariable_nameinterno variable_defined_nameaceptado como entrada para la coincidencia de campos enPOST /signing-requests/create-and-send
Migración de v01.15.03 a v01.16.00
- Sin cambios importantes
- Nuevo endpoint
GET /signing-requests/{id}/downloadpara recuperar una URL de descarga del documento firmado - Descargas parciales disponibles cuando
allow_partial_downloadestá habilitado en la configuración de solicitud de firma
Migración de v01.16.00 a v01.17.00
- Sin cambios importantes
- Seis nuevos campos de color anulables (
color_primary,color_primary_fg,color_background,color_foreground,color_card,color_border) en Company y Workspace Settings - Nuevo esquema
ColorPalettepara los colores resueltos de la experiencia de firma - Los colores siguen una cascada de 3 niveles: predeterminados de Firma -> Empresa -> Espacio de Trabajo
Migración de v1.19.0 a v1.20.0
- Sin cambios importantes
- Nueva configuración
disable_guided_navigationdisponible a nivel de empresa, espacio de trabajo, plantilla y solicitud de firma - Sigue el mismo patrón de cascada que
require_otp_verification: solicitud de firma -> espacio de trabajo -> empresa (el primer valor no nulo gana) - Predeterminado
false(desplazamiento automático habilitado), preservando el comportamiento existente
Migración de v1.20.0 a v1.21.0
- Sin cambios importantes
- Nueva configuración
email_local_parten Company (GET/PATCH /company) y Workspace Settings (GET/PUT /workspace/{id}/settings) - El valor del espacio de trabajo tiene prioridad sobre el valor de la empresa; el predeterminado es
"support" - Solo aplica cuando hay un dominio personalizado verificado configurado