Saltar a contenido

Ejemplos

El directorio examples/ contiene ejemplos ejecutables para ambos SDKs y fixtures de muestra de la DGII.

Fixtures

Archivo Descripción
fixtures/test.xml Documento de muestra completo de un e-CF con certificado sintético (ver abajo).
fixtures/invoice-31.xml ECF-31 mínimo sin firmar.
fixtures/invoice-31.json La misma factura en JSON compacto.
fixtures/invoice-32.xml ECF-32 mínimo para el flujo de resumen (RFCE).
fixtures/acecf.xml ACECF ilustrativo (aprobación comercial).
fixtures/anecf.xml ANECF ilustrativo (anulación de rango).

Certificado del fixture

fixtures/test.xml lleva un certificado sintético generado para este repositorio: sujeto CN=dgii-ecf-fixture, válido del 2024-01-01 al 2035-01-01. No contiene datos de identidad y su firma verifica con libxmlsec1, así que utilities.py / utilities.ts reportan certificate valid: true.

Sigue sin ser un certificado de la DGII: la DGII lo rechazará en un envío real. Para firmar de punta a punta usa fixtures/invoice-31.xml (o fixtures/invoice-32.xml para el flujo RFCE) con un output/test.p12 generado.

Flujos

Flujo Python TypeScript
Firmar un e-CF sign_xml.py sign-xml.ts
JSON → XML transform.py transform.ts
Utilidades (QR, código, certificado) utilities.py utilities.ts
Información del certificado certificate_info.py certificate-info.ts
Enviar un e-CF send_invoice.py send-invoice.ts
Enviar un resumen (RFCE) send_summary.py send-summary.ts
Estado por track id status_track_id.py status-track-id.ts
Consultar estado inquiry_status.py inquiry-status.ts
Estados de seguimiento track_statuses.py track-statuses.ts
Consulta de resumen (RFCE) — solo producción summary_inquiry.py summary-inquiry.ts
Directorio de clientes customer_directory.py customer-directory.ts
Aprobación comercial commercial_approval.py commercial-approval.ts
Anular un rango void.py void.ts

Python

cd examples/python
uv sync
uv run python generate_cert.py   # ephemeral self-signed .p12
uv run python utilities.py       # offline helpers
uv run python sign_xml.py        # sign + validate certificate

TypeScript

cd examples/typescript
bun install
bun run generate-cert
bun run utilities
bun run sign

Los flujos send_* / send* y los de consulta requieren un certificado real de la DGII y acceso a la red. Configura DGII_P12_PATH, DGII_P12_PASSWORD, DGII_RNC y DGII_ENVIRONMENT.

Warning

generate_cert crea un certificado autofirmado desechable para pruebas sin conexión. No es un certificado de la DGII.