⚡ Desarrolladores & Software Houses

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.

✓ Sandbox de pruebas gratuito • ✓ SDKs y Documentación Swagger • ✓ Paga solo por documento timbrado
< 180ms
Latencia de Timbrado DIAN
42
Endpoints REST OpenAPI 3.0
99.98%
Disponibilidad SLA Garantizada
$0
Cuota Mensual Obligatoria
⚡ LIVE DEVELOPER PLAYGROUND

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.

Explorar Swagger OpenAPI 3.0
POST https://api.jcflow.com.co/v1/api/documentos/factura
Header: Authorization: Bearer jcf_test_sandbox_demo
Payload JSON (Editable en Vivo)
Respuesta DIAN en Vivo (Sandbox)
HTTP 200 OK — DIAN Aceptado ⚡ 164 ms (< 400ms)
💻 SDKS Y EJEMPLOS DE CÓDIGO

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.

POST https://api.jcflow.com.co/v1/api/documentos/factura
# 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 ORM

Firma 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-384

Colas 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 • Backoff

Webhooks 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 • JSON

Multi-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 Keys

Almacenamiento 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 Edge
💰 CALCULADORA DE INFRAESTRUCTURA API

Calcula 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.

2.500 documentos/mes
500 2.500 5.000 10.000 25.000 50.000+
DATAICO API
Dataico
~$400 COP / doc
$ 1.000.000 COP
costo estimado al mes
Total: $ 12.000.000 COP / año
  • Tarifas elevadas ($350 - $500 COP)
  • Webhooks con limitaciones
  • Latencia promedio 1.5s - 3s
THE FACTORY HKA / CARVAJAL
The Factory HKA
~$360 COP / doc
$ 900.000 COP
costo mensual + mantenimiento
Total: $ 10.800.000 COP / año
  • Protocolo SOAP XML arcaico
  • Cuotas anuales de mantenimiento
  • Semanas de burocracia comercial
FACTUS API
Factus
~$320 COP / doc
$ 800.000 COP
costo estimado al mes
Total: $ 9.600.000 COP / año
  • Esquema de cobro rígido
  • Sobrecostos por módulos
  • Folios con caducidad
MÁXIMO MARGEN
JCFLOW REST API
JCFlow
$120 COP / doc
$ 300.000 COP
equivalente al mes
Total: $ 3.600.000 COP / año
  • Tarifas reales de escala ($90-$150 COP)
  • Latencia < 180ms (Bun + Redis)
  • Folios que NUNCA caducan
  • Webhooks HMAC en tiempo real
Tu Ahorro Neto Estimado vs Dataico:
$ 8.400.000 COP / año
Ese capital vuelve directamente al margen y rentabilidad de tu software.
CASO DE ÉXITO DE INGENIERÍA
Plataforma Líder Partner

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)
+150.000
Documentos DIAN Emitidos
< 180ms
Latencia Promedio por Timbrado
99.99%
Tasa de Aprobación DIAN
100% Bun
Arquitectura No Bloqueante

Preguntas Frecuentes de Desarrolladores

Todo lo que necesitas saber antes de integrar nuestra API en tu aplicación.

¿Cuánto tiempo toma integrar la API a mi sistema?
La mayoría de desarrolladores completan su primera emisión de prueba en menos de 2 horas. Te proporcionamos colecciones de Postman, documentación OpenAPI/Swagger interactiva y ejemplos en Node.js, PHP, Python y C#.
¿Cómo se gestiona el certificado digital para firmar?
Puedes subir el archivo .p12 de tu cliente mediante el endpoint de certificados, o comprar el certificado digital anual directamente a través de JCFlow por $150.000 COP con renovación automatizada.
¿Hay cobro mensual por usar la API?
No cobramos ninguna suscripción fija mensual por el uso de la API ni por número de empresas. Tú o tus clientes solo compran paquetes de documentos prepagados que se consumen conforme emiten.
¿Qué pasa si la DIAN se cae?
Nuestra arquitectura cuenta con colas de contingencia Redis. Si los servidores SOAP de la DIAN responden con timeout 502, JCFlow almacena la factura con estado pendiente y reintenta de forma automática hasta confirmar la aprobación.

¿Listo para integrar facturación DIAN a tu software?

Obtén tus credenciales de API sandbox inmediatamente y realiza tus primeras pruebas sin costo ni tarjeta de crédito.

¿Dudas con la DIAN? Habla con un asesor en WhatsApp