API REST de
Certifirm
Automatiza envíos certificados, sellos de tiempo y gestión de contactos directamente desde tu aplicación o ERP.
curl -X POST \ https://api-v2.certifirm.eu/envios/crear \ -H "Authorization: Bearer <tu_token>" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "id_plantilla=12" \ -d "[email protected],612000111,false,false" \ -d "tipo_datos=XWWWFORMURLENCODED" \ -d "descripcion=Contrato+de+servicios+2024" \ -d "documento=<base64_urlencoded>"
Autenticación
Todos los endpoints requieren autenticación mediante token Bearer. Genera tus tokens desde el Panel de control → Configuración → API.
URL base
https://api-v2.certifirm.euHeader de autenticación
Authorization: Bearer <token>Formato de datos
JSON o form-data (POST/PUT/PATCH) · query string (GET/DELETE).
Referencia rápida
Endpoints principales
Los endpoints más habituales para automatizar envíos certificados, gestionar contactos e integrarse con sellos de tiempo.
/tokens/crearGenera un token de acceso a la APIParámetros
| Campo | Tipo | Req. |
|---|---|---|
| nombre | string | Sí |
| valido_hasta | number | No — UNIX ms |
Ejemplo
curl -X POST https://api-v2.certifirm.eu/tokens/crear \ -H "Authorization: Bearer <sesión>" \ -H "Content-Type: application/json" \ -d '{"nombre":"Integración ERP","valido_hasta":1893456000000}' // Respuesta 200 { "id": 7, "nombre": "Integración ERP", "token": "4Tz8...xK2n", "valido_hasta": 1893456000000, "createdAt": 1745488800000 }
/envios/crearCrea un nuevo envío de Entrega CertificadaParámetros
| Campo | Tipo | Req. |
|---|---|---|
| id_plantilla | number | Sí |
| destinos | string | Sí |
| tipo_datos | string | No — BINARIO|XWWW… |
| tipo_firma | string | No — SIMPLE|MULTIPLE |
| descripcion | string | No |
| fecha_programada_envio | string | No — DD-MM-AAAA |
| documento | string | Solo XWWW — base64+URL |
destinos:Destinatarios separados por punto y coma. Cada uno:
email,telefono,firma_manuscrita,doc_identificacionEjemplo:
[email protected],612000111,false,false;[email protected],,false,trueEjemplo (binario)
curl -X POST https://api-v2.certifirm.eu/envios/crear \ -H "Authorization: Bearer <tu_token>" \ -F "id_plantilla=12" \ -F "[email protected],612000111,false,false" \ -F "descripcion=Contrato servicio 2024" \ -F "documento=@/ruta/al/contrato.pdf" // Respuesta 200 — array de envíos creados [ { "id": 1042, "email_destinatario": "[email protected]" } ]
/envios/listarLista los envíos con paginación y filtrosParámetros (query string)
| Campo | Descripción |
|---|---|
| inicio | Offset (paginación), defecto 0 |
| filas | Número de resultados, defecto 10 |
| filtro_id | Filtrar por ID de envío |
| filtro_tipo_firma | SIMPLE o MULTIPLE |
| filtro_fecha_inicio | Fecha inicio DD-MM-AAAA |
Ejemplo
curl "https://api-v2.certifirm.eu/envios/listar?inicio=0&filas=5" \ -H "Authorization: Bearer <tu_token>" // Respuesta 200 { "lista": [ { "id": 1042, "email_destinatario": "[email protected]", "descripcion": "Contrato servicio 2024", "estado_actual": "EMAIL_ENVIADO", "estado_final": null, "createdAt": 1745488800000 } ], "total": 1 }
/envios/verConsulta el detalle completo de un envíoParámetros (query string)
| Campo | Tipo | Req. |
|---|---|---|
| id_envio | number | Sí |
Ejemplo
curl "https://api-v2.certifirm.eu/envios/ver?id_envio=1042" \ -H "Authorization: Bearer <tu_token>" // Respuesta 200 (fragmento) { "id": 1042, "email_destinatario": "[email protected]", "estado_actual": "FIRMADO", "estado_final": "COMPLETADO", "timestamp_envio_completado": 1745510400000, "liveness_score": 0.98, "face_match_score": 0.96, "verificacion_decision": "APROBADO" }
/envios/cancelarCancela un envío antes de que sea firmadoParámetros (body JSON)
| Campo | Tipo | Req. |
|---|---|---|
| id_envio | number | Sí |
Ejemplo
curl -X PATCH https://api-v2.certifirm.eu/envios/cancelar \ -H "Authorization: Bearer <tu_token>" \ -H "Content-Type: application/json" \ -d '{"id_envio":1042}' // Respuesta 200 — envío actualizado { "id": 1042, "estado_actual": "CANCELADO", "estado_final": "CANCELADO" }
/contactos/crearAñade un contacto a la agendaParámetros (body JSON)
| Campo | Tipo | Req. |
|---|---|---|
| string | Sí | |
| nombre | string | No |
| empresa | string | No |
| telefono | string | No |
Ejemplo
curl -X POST https://api-v2.certifirm.eu/contactos/crear \ -H "Authorization: Bearer <tu_token>" \ -H "Content-Type: application/json" \ -d '{ "email": "[email protected]", "nombre": "Ana García", "empresa": "Empresa S.L.", "telefono": "612000111" }' // Respuesta 200 { "id": 58, "email": "[email protected]", "nombre": "Ana García", "empresa": "Empresa S.L.", "telefono": "612000111" }
/sellos-de-tiempo/inicio-certificado-ficheroSella temporalmente un fichero por su hashParámetros (body JSON)
| Campo | Tipo | Req. |
|---|---|---|
| hash | string | Sí |
| nombre | string | Sí |
| descripcion | string | No |
hash debe ser el SHA-256 hexadecimal del fichero original. Certifirm nunca recibe el fichero en sí, solo su huella digital. Ejemplo
# Calcular el hash SHA-256 del fichero HASH=$(sha256sum contrato.pdf | awk '{print $1}') curl -X POST \ https://api-v2.certifirm.eu/sellos-de-tiempo/inicio-certificado-fichero \ -H "Authorization: Bearer <tu_token>" \ -H "Content-Type: application/json" \ -d '{ "hash": "'$HASH'", "nombre": "contrato_2024.pdf", "descripcion":"Versión firmada por cliente" }' // Respuesta 200 { "id": 312, "nombre": "contrato_2024.pdf", "estado_actual": "EN_COLA", "createdAt": 1745488800000 }
Referencia
Documentación de la API
La referencia completa de endpoints — parámetros, tipos de datos, respuestas de ejemplo y explorador interactivo — está disponible dentro del panel de control.
Acceso disponible tras registro
El registro es gratuito.
Documentación interactiva
Desde el panel de control tienes acceso a la referencia completa de todos los endpoints, con parámetros, tipos de datos, respuestas de ejemplo y un explorador interactivo.
Abrir documentación completa¿Necesitas ayuda?
Si tienes dudas sobre la integración o necesitas soporte técnico, nuestro equipo está disponible por email o desde la pestaña de soporte del panel.
Contactar con soporteEmpieza a integrar hoy
Crea tu cuenta, genera un token de acceso y realiza tu primera llamada a la API en minutos.