Skip to main content
Paquete: ecfservice · Código: ecf-service-python
Requiere Python 3.10+. Host: https://api.emite.do/api/v1.

Cliente

api_key es opcional si solo usas health() o client.dgii.*. Constructor:

Primer e-CF

El e-NCF lo pones tú. FechaEmision va en Emisor como DD-MM-YYYY. El builder escribe TipoeCF (no TipoEcf).
Misma idempotency_key200 del original. El payload no se compara. Ver idempotencia. ecf_type acepta 31 32 33 34 41 43 44 45 46 47. Cambia TipoeCF y el e-NCF (E32…, E47…). Alias cortos en el builder: RNC / RazonSocialRNCEmisor o RNCComprador. Descripcion en un ítem → NombreItem. Para rellenar Emisor desde el perfil:

Después del 201

  1. Persiste public_id.
  2. Configura webhooks o haz poll a client.ecf.get.
  3. Descarga artefactos cuando el estado lo permita (accepted / conditionally_accepted).
Estados habituales: receivedsignedsubmittedaccepted | conditionally_accepted | rejected.

Empresa, rangos, inbox

Los rangos se listan; no se crean por API. Inbox = e-CF recibidos como comprador, no tus emisiones.

ACECF y ANECF

Webhooks

Hoy el service notifica accepted, conditionally_accepted y rejected.
wh.secret solo se muestra al crear o rotar.

Errores

El service responde { "detail": "..." }.

Mapa rápido

Siguiente: primer documento o webhooks.