API REST de Facturación Electrónica DIAN para Desarrolladores
Integra timbrado de Facturas (FE), Notas Crédito (NC), Débito (ND), Documento Soporte (DS) y RADIAN a tu ERP, SaaS o punto de venta en horas. Motor Bun + Express ultra-rápido con 42 endpoints REST y cero mensualidades fijas obligatorias.
Prueba la API de Facturación DIAN en Tiempo Real
Envía un payload JSON interactivo, prueba los diferentes tipos de documentos electrónicos y simula la respuesta de timbrado con CUFE y QR en milisegundos.
Emite una Factura Electrónica en tu Lenguaje Favorito
Tú solo envías un objeto JSON limpio y recibes el CUFE, QR y URLs de descarga en milisegundos. Sin certificados difíciles de firmar, sin SOAP arcaico ni dependencias complejas.
# Timbrado directo mediante cURL
curl -X POST https://api.jcflow.com.co/v1/api/documentos/factura \
-H "Authorization: Bearer jcf_live_98a7f4bc32e18d09f7a1" \
-H "Content-Type: application/json" \
-d '{
"cliente": {
"numero_documento": "901234567",
"tipo_documento": "NIT",
"razon_social": "EMPRESA EJEMPLO S.A.S.",
"email": "facturacion@ejemplo.com"
},
"lineas": [
{
"descripcion": "Suscripción Software Cloud",
"cantidad": 1,
"precio_unitario": 150000,
"iva_porcentaje": 19
}
]
}'
// Node.js 18+ (Fetch nativo o Axios)
const API_KEY = process.env.JCFLOW_API_KEY || 'jcf_live_98a7f4bc32e18d09f7a1';
async function emitirFacturaDIAN() {
const payload = {
cliente: {
numero_documento: '901234567',
tipo_documento: 'NIT',
razon_social: 'EMPRESA EJEMPLO S.A.S.',
email: 'facturacion@ejemplo.com'
},
lineas: [
{
descripcion: 'Suscripción Software Cloud',
cantidad: 1,
precio_unitario: 150000,
iva_porcentaje: 19
}
]
};
const response = await fetch('https://api.jcflow.com.co/v1/api/documentos/factura', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
const data = await response.json();
if (data.success) {
console.log(`✅ Factura aprobada por la DIAN. CUFE: ${data.cufe}`);
console.log(`📄 PDF: ${data.pdf_url}`);
}
}
emitirFacturaDIAN();
<?php
// PHP 7.4 / 8.x con cURL o Guzzle
$apiKey = getenv('JCFLOW_API_KEY') ?: 'jcf_live_98a7f4bc32e18d09f7a1';
$payload = [
'cliente' => [
'numero_documento' => '901234567',
'tipo_documento' => 'NIT',
'razon_social' => 'EMPRESA EJEMPLO S.A.S.',
'email' => 'facturacion@ejemplo.com'
],
'lineas' => [
[
'descripcion' => 'Suscripción Software Cloud',
'cantidad' => 1,
'precio_unitario' => 150000,
'iva_porcentaje' => 19
]
]
];
$ch = curl_init('https://api.jcflow.com.co/v1/api/documentos/factura');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
],
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo "Factura timbrada. CUFE: " . $result['cufe'];
# Python 3.10+ (pip install requests)
import os
import requests
API_KEY = os.getenv("JCFLOW_API_KEY", "jcf_live_98a7f4bc32e18d09f7a1")
payload = {
"cliente": {
"numero_documento": "901234567",
"tipo_documento": "NIT",
"razon_social": "EMPRESA EJEMPLO S.A.S.",
"email": "facturacion@ejemplo.com"
},
"lineas": [
{
"descripcion": "Suscripción Software Cloud",
"cantidad": 1,
"precio_unitario": 150000,
"iva_porcentaje": 19
}
]
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post("https://api.jcflow.com.co/v1/api/documentos/factura", json=payload, headers=headers)
data = response.json()
print(f"Estado DIAN: {data.get('estado_dian')}")
print(f"CUFE: {data.get('cufe')}")
print(f"PDF: {data.get('pdf_url')}")
// .NET 8 / C# 12 con HttpClient
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer jcf_live_98a7f4bc32e18d09f7a1");
var payload = new
{
cliente = new
{
numero_documento = "901234567",
tipo_documento = "NIT",
razon_social = "EMPRESA EJEMPLO S.A.S.",
email = "facturacion@ejemplo.com"
},
lineas = new[]
{
new
{
descripcion = "Suscripción Software Cloud",
cantidad = 1,
precio_unitario = 150000,
iva_porcentaje = 19
}
}
};
var content = new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.jcflow.com.co/v1/api/documentos/factura", content);
var jsonResult = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Respuesta DIAN: {jsonResult}");
Diseñada por Desarrolladores, para Desarrolladores
Una infraestructura robusta montada en Bun, Node.js, Redis y almacenamiento edge para que nunca te preocupes por el servidor de la DIAN.
Motor Bun + Express Ultra-Rápido
Construido sobre Bun para máxima velocidad de ejecución. Parsing de XML UBL 2.1 y firma digital .p12 con criptografía optimizada.
Bun • Express • Prisma ORMFirma Digital y CUFE Automático
Gestionamos el certificado digital de cada empresa emitiendo CUFE, CUDE, código QR bidimensional y XML con firma XAdES-BES conforme a la DIAN.
XAdES-BES • SHA-384Colas de Reintentos con Redis
Si el servicio SOAP de la DIAN presenta timeout o lentitud, encolamos y reintentamos automáticamente sin bloquear tu aplicación ni perder transacciones.
Redis Queues • BackoffWebhooks y Notificaciones
Recibe webhooks en tiempo real cuando un documento sea validado por la DIAN, cuando el cliente lo reciba en su bandeja o cuando acuse recibo en RADIAN.
Webhooks HMAC • JSONMulti-Empresa por API
Crea y gestiona cientos de empresas clientes de forma programática. Cada empresa con su NIT, prefijo de resolución y certificado digital independiente.
Multi-Tenant • API KeysAlmacenamiento Cloudflare R2
Todos los PDFs y XMLs firmados se almacenan con redundancia global en Cloudflare R2 con URLs públicas firmadas o privadas de descarga inmediata.
R2 Storage • CDN EdgeCalcula tu Ahorro de Timbrado: JCFlow vs Dataico y The Factory HKA
Los proveedores tradicionales imponen tarifas abusivas de $350 a $500 COP por documento que destruyen el margen de tu software o ERP. Con JCFlow timbras con tarifas de escala desde $90 COP sin cuotas fijas obligatorias.
- Tarifas elevadas ($350 - $500 COP)
- Webhooks con limitaciones
- Latencia promedio 1.5s - 3s
- Protocolo SOAP XML arcaico
- Cuotas anuales de mantenimiento
- Semanas de burocracia comercial
- Esquema de cobro rígido
- Sobrecostos por módulos
- Folios con caducidad
- Tarifas reales de escala ($90-$150 COP)
- Latencia < 180ms (Bun + Redis)
- Folios que NUNCA caducan
- Webhooks HMAC en tiempo real
Potenciado por JCFlow: Jeloda.com
Jeloda POS & ERP emite miles de facturas electrónicas, nóminas y documentos soporte diarios ante la DIAN utilizando la infraestructura REST API ultra-rápida de JCFlow.
“Integrar JCFlow nos permitió reemplazar complejas integraciones SOAP por una API REST en Bun que responde en menos de 180ms. Nuestros clientes de restaurantes, comercios y empresas timbran sin fricciones en horas pico de alta concurrencia.”
— Equipo de Ingeniería de Jeloda (jeloda.com)
Preguntas Frecuentes de Desarrolladores
Todo lo que necesitas saber antes de integrar nuestra API en tu aplicación.