> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emite.do/llms.txt
> Use this file to discover all available pages before exploring further.

# e-CF desde cualquier software

> Emite, firma y opera e-CF desde cualquier software, API fácil de implementar con SDK disponibles.

Envía JSON. emite.do genera el XML, firma con tu certificado P12, entrega a la DGII y te notifica el estado.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Primer e-CF en TesteCF con curl.
  </Card>

  <Card title="API Reference" icon="square-terminal" href="/api-reference">
    Endpoints generados desde OpenAPI.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/guides/webhooks">
    JSON plano firmado con HMAC-SHA256.
  </Card>

  <Card title="Módulo Odoo" icon="boxes" href="/guides/odoo">
    Integración nativa para Odoo 18.
  </Card>
</CardGroup>

## Cómo funciona

```text theme={null}
Tu ERP ──► POST https://api.emite.do/api/v1/ecf
                │
                ├── Valida JSON / XSD
                ├── Firma XML-DSig (P12 en vault)
                ├── Envía a DGII (TesteCF / CerteCF / ecf)
                ├── Conserva XML, RFCE, RI, acuse
                └── Webhook al ERP
```

La respuesta del `POST` no es el veredicto fiscal. Guarda `public_id` y espera webhook o consulta `GET /api/v1/ecf/{public_id}`.

## Superficie pública

| Superficie                                  | Para qué                                                       |
| ------------------------------------------- | -------------------------------------------------------------- |
| `/api/v1/ecf`                               | Emisión, listado, consulta, XML, RFCE, PDF, ACECF, ANECF       |
| `/api/v1/client/*`                          | Empresa, certificados, listado de rangos, documentos, webhooks |
| `/api/v1/dgii/*`                            | Padrón RNC, directorio y StatusECF                             |
| `/api/v1/health`, `/api/v1/public/register` | Salud y alta web (sin API key)                                 |

`/api/v1/admin/*`, `/fe/*` y `/api/v1/certification/*` no forman parte de este contrato.

## Ambientes

| Valor     | Uso                        | Destino DGII                                                                   |
| --------- | -------------------------- | ------------------------------------------------------------------------------ |
| `TesteCF` | Desarrollo                 | Sandbox DGII (sí hay envío)                                                    |
| `CerteCF` | Host DGII de certificación | emite.do ya opera como proveedor certificado; este valor solo elige el destino |
| `ecf`     | Producción                 | DGII real. Alias aceptados: `eCF`, `ECF`, `prod`                               |

## Tipos soportados

El mismo `POST /api/v1/ecf` emite **todos** estos tipos. Los ejemplos de las guías usan un E31 por brevedad; no es un subconjunto del producto.

| Tipo | Nombre               | Receptor | RFCE                  |
| ---- | -------------------- | -------- | --------------------- |
| E31  | Crédito Fiscal       | Sí       | No                    |
| E32  | Consumo              | Sí       | Sí, si \< RD\$250,000 |
| E33  | Nota de Débito       | Sí       | No                    |
| E34  | Nota de Crédito      | Sí       | No                    |
| E41  | Compras              | Sí       | No                    |
| E43  | Gastos Menores       | No       | No                    |
| E44  | Regímenes Especiales | Sí       | No                    |
| E45  | Gubernamental        | Sí       | No                    |
| E46  | Exportaciones        | Sí       | No                    |
| E47  | Pagos al Exterior    | Sí       | No                    |

Host canónico: **`https://api.emite.do`**.
