Bienvenido a la API de e-Factura

e-Factura proporciona un Backend as a Service (BaaS) robusto para la emisión y gestión de Comprobantes Fiscales Electrónicos (e-CF) en la República Dominicana (Ley 32-23).

Nuestra infraestructura se encarga de la firma digital, el encolamiento y la comunicación con la DGII. Tu sistema solo debe enviar un JSON con la estructura de la factura y nosotros nos encargamos del resto.

Base URL

https://api.e-factura.do/v1

Formatos

Todas las peticiones y respuestas utilizan el formato application/json. Asegúrate de incluir la cabecera Content-Type: application/json en todas tus llamadas.

POST /auth/token

Obtén un token Bearer temporal utilizando tus credenciales de API Key. Este token expira en 24 horas y es requerido para todas las operaciones posteriores.

Request Body

Parámetro Tipo Descripción
api_key string Tu clave secreta de API proveída en el panel de control.

Ejemplo cURL

BASH
curl -X POST https://api.e-factura.do/v1/auth/token \ -H "Content-Type: application/json" \ -d '{"api_key": "sk_test_123456789"}'
POST /invoices

Envía los datos de la factura en formato JSON. El sistema validará la estructura, aplicará la firma criptográfica y encolará el documento para su envío a la DGII.

Cabeceras Requeridas

Authorization Bearer TU_TOKEN_JWT

Ejemplo Payload JSON

JSON
{ "rncEmisor": "131689787", "ncfTipo": "E31", // Crédito Fiscal Electrónico "cliente": { "rnc": "101565022", "razonSocial": "EMPRESA DE EJEMPLO" }, "items": [ { "descripcion": "Servicio de Consultoría", "precio": 1000.00, "cantidad": 1, "itbis": 180.00 } ] }
GET /invoices/{trackId}

Consulta el estado de procesamiento de un e-CF enviado previamente mediante el trackId retornado en la creación.

Respuesta Exitosa

JSON
{ "trackId": "cf6f2648-5544-48f8", "status": "APROBADO_DGII", "ecf": "E310000002001", "qrURL": "https://dgii.gov.do/consultas/qr?id=...", "xmlURL": "https://api.e-factura.do/v1/invoices/xml/cf6f2648" }
DELETE /invoices/{ecf}

Solicita la anulación de un e-CF. Deberás proveer el motivo de la anulación en el cuerpo de la petición. La DGII auditará este proceso.

Ejemplo Python

PYTHON
import requests url = "https://api.e-factura.do/v1/invoices/E310000002001" headers = {"Authorization": "Bearer TU_TOKEN"} payload = {"motivo": "Error en digitación de monto"} response = requests.delete(url, headers=headers, json=payload) print(response.json())
GET /invoices

Retorna el listado de documentos y cotizaciones.

GET /clients

Retorna el listado de clientes registrados en el directorio de la empresa.

GET /items

Retorna el catálogo de artículos y servicios de la empresa.

GET /dgii/sequences

Consulta las secuencias (rangos) de comprobantes fiscales autorizadas y su estado de consumo (usadas vs disponibles).

GET /dgii/audit

Consulta los logs de auditoría de secuencias usadas, mostrando si la DGII las aceptó, los Track IDs y motivos de aceptación condicional.

POST /invoices/{invoice_id}/send_email

Envía un correo electrónico al cliente adjuntando su comprobante fiscal electrónico y enlaces al XML y PDF.

Payload de Ejemplo

JSON
{ "email": "cliente@ejemplo.com" }
POST /invoices/{invoice_id}/send_receipt

Envía un correo electrónico al cliente con el recibo de pago de una factura cobrada. Soporta SMTP interno configurado.

Payload de Ejemplo

JSON
{ "email": "cliente@ejemplo.com", "paymentMethod": "Efectivo", "amount": 2500.00 }