Qué vas a consumir, y sobre qué corre
Esta página es para el equipo técnico que evalúa Cifra: arquitectura, estándares, seguridad y cómo encaja con la tecnología que ya usan. Sin sorpresas en la integración.
Arquitectura de Cifra
Cifra se sitúa entre las fuentes oficiales chilenas —que exponen formatos heterogéneos, portales lentos o directamente sin API— y tus sistemas. Ingesta, normaliza, cachea y entrega un contrato único y estable.
1 · Fuentes oficiales
2 · Plataforma Cifra
Ingesta
Motor DTE
Seguridad transversal
3 · Superficie de entrega
4 · Canales de consumo
Stack tecnológico
Sobre qué está construido lo que vas a consumir. Lo publicamos porque en una evaluación técnica seria esto se pregunta igual.
⚙️ Núcleo de la aplicación
Ejecución y lógica de negocio.
🗄️ Datos
Persistencia y validación.
🧾 Facturación electrónica
Generación y timbrado de DTE.
🔒 Seguridad
Criptografía y control de acceso.
🚀 Infraestructura
Despliegue y entrega.
🤝 Integración
Cómo se conecta con tu empresa.
Estándares y contrato
| Protocolo | HTTPS (TLS 1.2+). HTTP plano no está disponible. |
| Estilo | REST sobre recursos, verbos HTTP estándar, sin estado. |
| Formato | application/json, codificación UTF-8. |
| Contrato | OpenAPI 3.0 en /api/openapi.json, generado automáticamente desde el código. |
| Autenticación | API key en cabecera x-api-key. Nunca por query string (quedaría en logs). |
| Versionado | Prefijo de ruta /api/v1. Los cambios incompatibles van en una versión nueva; los campos se agregan de forma retrocompatible. |
| Fechas | ISO 8601. Las marcas de tiempo en UTC; las fechas de calendario en hora de Chile. |
| DTE | XML según esquema del SII, timbre electrónico PDF417 (ISO/IEC 15438), firma XML-DSig. |
Generar un cliente desde el contrato
Como el spec es OpenAPI 3.0 estándar, puedes generar un SDK tipado en tu lenguaje sin escribirlo a mano:
# C# (.NET)
npx @openapitools/openapi-generator-cli generate \
-i https://mimicifra.cl/api/openapi.json \
-g csharp -o ./cliente-cifra
# Java
npx @openapitools/openapi-generator-cli generate \
-i https://mimicifra.cl/api/openapi.json \
-g java -o ./cliente-cifra
# TypeScript
npx @openapitools/openapi-generator-cli generate \
-i https://mimicifra.cl/api/openapi.json \
-g typescript-fetch -o ./cliente-cifraCompatibilidad por tecnología
Cifra no exige ningún SDK propietario: si tu stack puede hacer una llamada HTTPS con una cabecera, puede consumir Cifra. Esta tabla es lo que ya hemos verificado.
| Tecnología | Cómo se integra | Nota |
|---|---|---|
| .NET / C# | HttpClient nativo o Refit. Sin dependencias de terceros. | Compatible con .NET Framework 4.6.2+ y .NET 6/8/9. |
| Java / Kotlin | java.net.http.HttpClient (JDK 11+), OkHttp o Spring RestClient. | Generación de cliente con OpenAPI Generator. |
| JavaScript / TypeScript | fetch nativo, axios o el cliente que generes del spec. | Node 18+, Deno, Bun y navegador (solo vía backend). |
| Python | requests, httpx o cliente generado. | Python 3.8+. |
| PHP | cURL nativo o Guzzle. | PHP 7.4+. Compatible con Laravel y Symfony. |
| SAP / ABAP | Clase CL_HTTP_CLIENT sobre HTTPS. | Requiere cargar la CA en STRUST. |
| Power BI / Excel | Power Query con Web.Contents y cabecera x-api-key. | Ideal para reportería sin desarrollo. |
| RPA (UiPath, Power Automate) | Actividad HTTP Request con cabecera personalizada. | No requiere código. |
Seguridad
🔑 Claves hasheadas
Las API keys se guardan solo como hash SHA-256. Ni siquiera nosotros podemos leer tu clave: se muestra una vez y se revoca, no se recupera.
🔐 Certificados cifrados
Tu certificado digital (.pfx) se cifra con AES-256-GCM antes de guardarse y solo se usa para firmar tus propios documentos.
🛡️ Cabeceras de seguridad
HSTS, X-Content-Type-Options, X-Frame-Options y Referrer-Policy en todas las respuestas.
📋 Auditoría
Cada emisión de DTE y operación sensible queda registrada con prefijo de clave, IP y marca de tiempo.
⚖️ Ley 21.719
Solo tratamos datos de fuentes públicas y oficiales. No comercializamos datos personales ni construimos perfiles de personas naturales.
🚦 Cuotas por plan
Límite de tasa por API key con cabeceras estándar de rate limit, para que tu cliente sepa cuándo reintentar.
Fuentes de los datos
Trazabilidad total: cada respuesta incluye el campo fuente y estado_datos, para que puedas auditar de dónde vino cada valor.
| Organismo | Qué entrega |
|---|---|
| Banco Central de Chile | UF, UTM, dólar, euro, IPC, IVP |
| Comisión para el Mercado Financiero (CMF) | Tasa Máxima Convencional |
| Servicio de Impuestos Internos (SII) | Actividades económicas, DTE, folios |
| Superintendencia de Insolvencia y Reemprendimiento | Boletín Concursal |
| Diario Oficial | Constitución y modificación de sociedades |
| ChileCompra / Mercado Público | Licitaciones públicas |
| SUBDERE | Regiones y comunas |
| Ministerio del Interior | Feriados legales |
Operación e infraestructura
| Hosting | Infraestructura serverless con CDN global y despliegue en la región más cercana. |
| Base de datos | PostgreSQL gestionado, con réplica y respaldos automáticos. |
| Escalado | Horizontal y automático por demanda: no hay ventana de mantención programada. |
| Latencia típica | Datos cached: decenas de milisegundos. Datos live: depende de la fuente oficial. |
| Reintentos | Ante 502 upstream_error o 429, reintenta con backoff exponencial y jitter. |
| Idempotencia | Todos los GET son idempotentes y cacheables. La emisión de DTE se controla por folio. |
Siguiente paso: integración paso a paso en tu nube →