Saltar al contenido principal

Tu primer e-CF

Este ejemplo emite una factura de crédito fiscal (tipo 31) en pre-certificación.

1. Valida el comprobante

Con validate=true la API recorre el cálculo, las reglas de la DGII, el esquema oficial y el control de e-NCF duplicado sin firmar, guardar ni transmitir.

curl -X POST "https://ecf.etribux.com/testecf/api/v1/documents?validate=true" \
-H "X-Etribux-Key: $ETRIBUX_KEY" \
-H "Content-Type: application/json" \
-d @factura.json

factura.json:

{
"ecf_type": 31,
"encf": "E310000000001",
"sequence_expiration_date": "31-12-2028",
"external_id": "FAC-0001",
"issue_date": "15-09-2026",
"income_type": "01",
"payment_type": 1,
"taxed_amount_indicator": 0,
"buyer": { "rnc": "131880681", "legal_name": "DOCUMENTOS ELECTRONICOS DE 03" },
"items": [
{
"line_number": 1,
"name": "Servicio de consultoría",
"billing_indicator": 1,
"quantity": "1",
"unit_price": "1000.00"
}
]
}

2. Emítelo

Envía el mismo JSON sin validate y con una clave de idempotencia:

curl -X POST "https://ecf.etribux.com/testecf/api/v1/documents" \
-H "X-Etribux-Key: $ETRIBUX_KEY" \
-H "Idempotency-Key: 6f1d2c1e-3a7b-4c1d-9e2f-5a6b7c8d9e0f" \
-H "Content-Type: application/json" \
-d @factura.json

La API responde 201 con el documento firmado y su estado inicial (pending). La transmisión a la DGII ocurre en segundo plano, normalmente en pocos segundos.

3. Consulta el estado

curl "https://ecf.etribux.com/testecf/api/v1/documents/E310000000001" \
-H "X-Etribux-Key: $ETRIBUX_KEY"

Cuando dgii_status sea accepted, el comprobante quedó registrado por la DGII. Sigue con Emitir un e-CF para conocer todos los campos.