API de firma electrónica simple
Agrega la firma electrónica a tu sistema con un llamado a la API.
Mandas el PDF y el RUT de cada firmante. Les escribimos por WhatsApp o por correo, cada uno confirma con su rostro que es él y firma en su celular, y un webhook firmado le avisa a tu sistema cuando el documento vuelve sellado.
- Firma simple, Ley 19.799
- Modo de prueba gratis
- Referencia OpenAPI
El módulo de firma
Tu proceso ya anda. La firma la ponemos nosotros.
Para que un proceso tuyo termine en un documento firmado faltan cuatro piezas, y las cuatro corren del lado de ValidaFirma. Tu sistema manda el documento y recibe el resultado.
Las pantallas de firma
El firmante abre su enlace en el navegador del celular, sin instalar nada y sin crear cuenta. Lee el documento, lo firma o lo rechaza ahí mismo.
La verificación de identidad
PINRUT, el servicio de identidad de REDCUMBRE, revisa la cédula y el rostro de quien firma. Tu sistema recibe el resultado y un comprobante firmado, nunca un dato biométrico.
Los mensajes
La cuenta de WhatsApp y sus plantillas, el respaldo por SMS y los correos. Tú no contratas ni configuras ninguno.
El sello y la custodia
El PDF lleva su sello y su sello de tiempo adentro, y la evidencia de cada firma la guardamos 6 años.
Desde tu sistema
Tu sistema hace un llamado y espera el aviso
Tu sistema termina su parte con el llamado. Desde ahí el documento avanza solo hasta volver firmado y sellado.
- 01tu sistema
Manda el documento
Un POST multipart con el PDF, de hasta 10 MB, y de 1 a 20 firmantes. De cada uno basta su RUT y el dato de su canal: WhatsApp con respaldo por SMS, correo, o un enlace que repartes tú.
- 02ValidaFirma
Cada firmante firma en su celular
Lo invitamos por su canal. Lee el documento hasta el final, confirma con su rostro que es él y firma. La respuesta del llamado ya trae su enlace de firma, por si prefieres entregarlo tú.
- 03ValidaFirma
Te avisa por webhook
Cuando firma el último, el PDF queda sellado y tu webhook_url recibe documento.completado, firmado con el secreto de tu cuenta, con la verificación de cada firmante. El PDF lo descargas con su url_descarga.
curl -X POST https://api.validafirma.cl/api/fes/documentos \
-H "X-API-Key: $VALIDAFIRMA_API_KEY" \
-F "documento=@contrato.pdf" \
-F 'firmantes=[{"rut":"49999901-1","canal":"whatsapp","telefono":"+56912345678"}]' \
-F "webhook_url=https://tu-sistema.cl/webhooks/validafirma"{
"mensaje": "Documento creado exitosamente",
"documento": {
"id": "9f1c2a7e-4b3d-4e6f-8a21-5c0d7e9b1f44",
"codigo_verificacion": "mu8k2x4p-9A4C71E8",
"estado": "pendiente",
"es_prueba": true,
"sandbox": true,
"firmantes": [{
"id": "c81d4e2e-bcf2-4b3a-9d1a-2f6e0c7a5b90",
"rut": "49999901-1",
"canal": "whatsapp",
"estado": "pendiente",
"es_prueba": true,
"sandbox": true,
"url_firma": "https://app.validafirma.cl/firma/eyJ…"
}]
},
"creditos": {
"consumidos": 0,
"saldo_restante": 999999,
"transaccion_id": null,
"costo_por_firmante": 0,
"es_prueba": true,
"sandbox": true
}
}Valores ficticios. Con una llave de prueba, este llamado corre tal cual: el RUT49999901-1 firma solo y tu webhook recibe el aviso, sin que salga un mensaje a nadie.
Un solo host
api.validafirma.cl, para prueba y producción. La llave decide el modo.
Dos tipos de llave
X-API-Key en la cuenta personal, Authorization: Bearer en la corporativa. El llamado es el mismo.
7 días para firmar
Por defecto. Con dias_expiracion fijas de 1 a 30. Si vence sin todas las firmas, te avisamos.
Diez eventos
Cinco cierran el documento, como rechazado o expirado, y cinco son de un firmante, como una invitación que no llegó.
Modo de prueba
Pruebas con otra llave, en el mismo servidor
Con una llave de prueba corre la integración entera: validaciones, estados, webhooks firmados y el PDF sellado. Los mensajes van a una bandeja simulada, la verificación se simula y nada se cobra. Pasar a producción es cambiar la llave.
- En la cuenta personal, una llave que empieza con
vf_test_. En la corporativa, una API key de prueba de la plataforma de REDCUMBRE. - Hasta 200 documentos al día. Cada PDF sale marcado «PRUEBA, sin validez» y se borra 3 días después de terminar.
Los RUT de prueba y su desenlace
- 49999901-1Firma
- 49999902-KVerificación rechazada: gasta 1 de 5 intentos y el firmante puede reintentar
- 49999903-8Bloqueo de 24 horas, por intentos fallidos
- 49999904-6Rechaza el documento
- 49999905-4Identidad en revisión, luego aprobada
- 49999906-2La invitación no se entrega y el firmante sigue pendiente
- 49999907-0Nunca actúa: el documento vence
Con una llave de prueba, cada uno de estos RUT llega solo a su desenlace, y así pruebas cómo responde tu sistema a cada caso.
Identidad verificada
Cada firma queda a nombre de una persona verificada
Quien firma confirma con su rostro que es él, cada vez que firma. La verificación la hace PINRUT, y tu sistema recibe el resultado.
Que la cédula es vigente y de ese RUT
La primera vez que usa PINRUT, se lee su cédula y se revisa que esté vigente y que su número de serie corresponda al RUT que mandaste.
Que es la misma persona
Su rostro se compara con el de la cédula. Desde ahí, cada vez que firma le basta su rostro.
Que está ahí, ahora
Una prueba de vida frente a la cámara, cada vez que firma.
Lo que recibe tu sistema
- El nombre tal como está en la cédula, que es el que lleva la página de certificado del PDF
- El método y la fecha de la verificación
- Un identificador y un comprobante firmado que puedes verificar por tu cuenta
- Un aviso si la cédula no es la del RUT que declaraste, o si el firmante llegó al límite de intentos
La biometría nunca llega a tu sistema.
Validez legal
Firma electrónica simple, según la Ley 19.799
La firma electrónica simple vale como firma manuscrita según la Ley 19.799 (art. 3), salvo en los actos que ese artículo excluye, como los que exigen la presencia de la persona o una solemnidad, y en los instrumentos públicos, que piden firma electrónica avanzada (art. 4).
La avanzada exige un certificado emitido por un prestador acreditado, y ValidaFirma no la ofrece. Si tu documento la pide, esta API no sirve para él. Fuera de esos casos, sirve para cualquier PDF que las partes acuerden firmar: contratos de servicios, anexos, órdenes de compra, actas, autorizaciones y consentimientos.
El PDF firmado se comprueba sin pasar por tu sistema: cualquiera lo valida en línea con su código de verificación, y Adobe Acrobat verifica su sello sin conexión.
Preguntas sobre la API
Lo que pregunta quien integra
Si tu pregunta no está aquí, escríbenos. El detalle técnico está en la documentación.
¿Es una API REST?
Sí. Se habla por HTTPS con api.validafirma.cl: un POST en multipart/form-data crea el documento, y consultar el estado, descargar el PDF, reenviar la invitación o cancelar son llamados aparte. Las respuestas vienen en JSON, y la referencia OpenAPI está publicada.
¿Con qué lenguaje la integro?
Con cualquiera que haga una petición HTTP y calcule un HMAC-SHA256 para comprobar el webhook. La documentación trae los llamados en curl y la verificación del webhook en Node.js y en Python.
¿Es firma electrónica avanzada?
No. ValidaFirma es firma electrónica simple. La avanzada exige un certificado emitido por un prestador acreditado y es otra categoría legal, con otros requisitos.
La firma electrónica simple vale como firma manuscrita según la Ley 19.799 (art. 3), salvo en los actos que ese artículo excluye y en los instrumentos públicos, que piden firma electrónica avanzada (art. 4). Si tu documento la exige, ValidaFirma no sirve para él.
¿Es lo mismo que una API de firma digital?
La Ley 19.799 distingue dos firmas electrónicas, la simple y la avanzada, y «firma digital» no es una de ellas. Antes de elegir una API, conviene saber cuál de las dos pide tu documento. ValidaFirma es firma electrónica simple.
¿Puedo probarla sin pagar?
Sí, con el modo de prueba: el mismo host, la misma API y el mismo contrato, con una llave de prueba. Corren las validaciones, los estados, los webhooks firmados y el PDF sellado. Los mensajes van a una bandeja simulada, la verificación de identidad se simula y nada se cobra. El tope es de 200 documentos de prueba al día. Cómo funciona el modo de prueba.
¿Cómo sé que el aviso viene de ValidaFirma?
Cada aviso trae la cabecera X-Webhook-Signature, un HMAC-SHA256 calculado con el secreto de webhooks de tu cuenta. Lo recalculas con el cuerpo crudo y lo comparas. Si tu servidor no responde, el aviso se reintenta. Los eventos y cómo comprobar la firma.
¿El PDF firmado llega en el webhook?
No. El aviso trae la url_descarga del PDF firmado, y también lo puedes descargar con el identificador del documento. Cada firmante recibe por su canal un enlace propio para descargar su copia.
¿Quién puede firmar?
Una persona natural, con su RUT. Un RUT de persona jurídica se rechaza: si alguien firma por una empresa, va el RUT de esa persona. Un documento lleva de 1 a 20 firmantes, y todos reciben la invitación a la vez.
¿Cuánto cuesta?
En la cuenta personal pagas $690 + IVA por firmante, sin mensualidad, y cada firmante incluye la verificación de identidad, el WhatsApp, el sello de tiempo y la custodia. El Plan empresa tiene planes mensuales con firmas incluidas. El detalle está en precios.
Corre el ejemplo con una llave de prueba
Crea tu cuenta, genera una llave de prueba y manda tu primer documento. Nada se envía ni se cobra, y pasar a producción es cambiar la llave.