- **Manda siempre `Idempotency-Key`** en `POST /api/v1/ecf`. Un timeout de
  red no debería traducirse en un comprobante duplicado.
- **Valida antes de emitir** con `POST /api/v1/ecf/validate` mientras
  desarrollas, para no gastar secuencias reales por errores de formato.
- **Prefiere webhooks sobre polling** para conocer el estado final de un
  comprobante: es más rápido y no gasta cuota innecesaria.
- **Prueba en TesteCF primero.** El flujo es idéntico al de Producción y no
  consume tu rango de secuencias autorizado.
- **No hardcodees el ambiente.** Como el ambiente sale de la API key, basta
  con cambiar la key entre tus entornos de desarrollo, staging y producción.
- **Ante un rechazo, revisa `dgii.sequenceUsed` antes de emitir otro
  comprobante.** Si es `false`, el comprobante original todavía puede
  completarse con `POST /api/v1/ecf/{id}/retry`. Ver
  [Rechazos y reintentos](/emision/rechazos-y-reintentos/).
- **Trata `ecf.rejected` como un resultado definitivo.** Un rechazo que NovaFE
  reenvía por su cuenta no lo emite mientras dure el reintento.
- **Si numeras tú, envía también un `Idempotency-Key` o un `internalNumber`.**
  Así, un reintento de tu lado devuelve el comprobante original en lugar de un
  `409` por e-NCF repetido.