Stack técnico

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

🏛️SIIDTE · actividades
🏦Banco CentralUF · UTM · divisas
📊CMFTasa máxima legal
⚖️Boletín ConcursalQuiebras
📰Diario OficialSociedades
🎯ChileCompraLicitaciones
🗺️SUBDEREComunas
↓ ↓ ↓

2 · Plataforma Cifra

Ingesta

⏱️Jobs programadosIngesta diaria
🧹NormalizaciónEsquema único
CachePostgres + CDN

Motor DTE

📄XML SIIEsquema oficial
✍️XML-DSigFirma electrónica
🔳PDF417Timbre ISO 15438
🔢CAFFolios del SII

Seguridad transversal

🔑SHA-256Hash de API keys
🔐AES-256-GCMBóveda de certificados
🧂scrypt + saltContraseñas
🍪HMACSesiones firmadas
🚦Rate limitCuotas por plan
📋AuditoríaTrazabilidad
↓ ↓ ↓

3 · Superficie de entrega

🌐REST · JSONHTTPS · TLS 1.2+
📘OpenAPI 3.0Contrato generado
🔑x-api-keyAutenticación
📦Envoltorio únicoestado_datos · fuente
↓ ↓ ↓

4 · Canales de consumo

🖥️Tu backendERP · core · fintech
☁️Tu API ManagerAzure · AWS · Apigee · Kong
🪟Panel web CifraSin código
📊Excel / Power BIPower Query
🤖RPAUiPath · Power Automate

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.

Next.js 15App Router
🟩Node.jsRuntime
🔷TypeScriptTipado estricto
⚛️React 19UI

🗄️ Datos

Persistencia y validación.

🐘PostgreSQLBase de datos
☁️NeonServerless · sa-east-1
🛡️ZodValidación de entrada
🔌node-postgresDriver

🧾 Facturación electrónica

Generación y timbrado de DTE.

📐xml-cryptoXML-DSig
🔏node-forgePKCS#12 / PFX
🔳bwip-jsPDF417
🏛️SIIMaullín / Palena

🔒 Seguridad

Criptografía y control de acceso.

🔐AES-256-GCMCifrado en reposo
#️⃣SHA-256Hash de claves
🧂scryptContraseñas
🍪HMAC-SHA256Sesiones

🚀 Infraestructura

Despliegue y entrega.

VercelServerless + CDN
🌎Edge CDNBaja latencia
🔁CI/CDDeploy automático
📈AuditoríaLogs estructurados

🤝 Integración

Cómo se conecta con tu empresa.

📘OpenAPI 3.0Contrato estándar
💳StripeSuscripciones
🧠ClaudeAsistente IA
☁️APIMAzure · AWS · Kong

Estándares y contrato

ProtocoloHTTPS (TLS 1.2+). HTTP plano no está disponible.
EstiloREST sobre recursos, verbos HTTP estándar, sin estado.
Formatoapplication/json, codificación UTF-8.
ContratoOpenAPI 3.0 en /api/openapi.json, generado automáticamente desde el código.
AutenticaciónAPI key en cabecera x-api-key. Nunca por query string (quedaría en logs).
VersionadoPrefijo de ruta /api/v1. Los cambios incompatibles van en una versión nueva; los campos se agregan de forma retrocompatible.
FechasISO 8601. Las marcas de tiempo en UTC; las fechas de calendario en hora de Chile.
DTEXML 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:

OpenAPI Generator
# 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-cifra

Compatibilidad 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íaCómo se integraNota
.NET / C#HttpClient nativo o Refit. Sin dependencias de terceros.Compatible con .NET Framework 4.6.2+ y .NET 6/8/9.
Java / Kotlinjava.net.http.HttpClient (JDK 11+), OkHttp o Spring RestClient.Generación de cliente con OpenAPI Generator.
JavaScript / TypeScriptfetch nativo, axios o el cliente que generes del spec.Node 18+, Deno, Bun y navegador (solo vía backend).
Pythonrequests, httpx o cliente generado.Python 3.8+.
PHPcURL nativo o Guzzle.PHP 7.4+. Compatible con Laravel y Symfony.
SAP / ABAPClase CL_HTTP_CLIENT sobre HTTPS.Requiere cargar la CA en STRUST.
Power BI / ExcelPower 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.

Modelo de responsabilidad del DTE. El certificado digital y los folios (CAF) son siempre del cliente. Cifra firma en tu nombre con tu propio certificado; nunca emitimos documentos con certificados de terceros.

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.

OrganismoQué entrega
Banco Central de ChileUF, 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 ReemprendimientoBoletín Concursal
Diario OficialConstitución y modificación de sociedades
ChileCompra / Mercado PúblicoLicitaciones públicas
SUBDERERegiones y comunas
Ministerio del InteriorFeriados legales

Operación e infraestructura

HostingInfraestructura serverless con CDN global y despliegue en la región más cercana.
Base de datosPostgreSQL gestionado, con réplica y respaldos automáticos.
EscaladoHorizontal y automático por demanda: no hay ventana de mantención programada.
Latencia típicaDatos cached: decenas de milisegundos. Datos live: depende de la fuente oficial.
ReintentosAnte 502 upstream_error o 429, reintenta con backoff exponencial y jitter.
IdempotenciaTodos los GET son idempotentes y cacheables. La emisión de DTE se controla por folio.
¿Necesitas SLA formal, IP fija o datos en tu propia nube? Es parte de la conversación enterprise: escríbenos y lo definimos por contrato.

Siguiente paso: integración paso a paso en tu nube →