Tequiodevelopers
dte-sv · API

Facturación electrónica de El Salvador, vía API.

Emití Documentos Tributarios Electrónicos firmados ante el Ministerio de Hacienda con una sola llamada REST. Una request, un PDF con sello fiscal. Alineado a la Normativa de Cumplimiento DTE v2.0.

Por qué dte-sv

Firma + transmisión al MH

Mandás el JSON; nosotros firmamos (JWS RS512) y lo transmitimos al Ministerio de Hacienda. Te devolvemos el sello fiscal y el PDF.

Contingencia automática

Si el MH está caído, el DTE queda firmado y se retransmite solo dentro de la ventana legal de 72h. No perdés ventas.

11 tipos de DTE

Factura, CCF, Notas de Crédito y Débito, Exportación, Retención, Liquidación, Donación y más, alineados a la Normativa v2.0.

Notificaciones incluidas

Email (con PDF + Archivo DTE firmado) y WhatsApp opcionales por request. O notificá vos con las URLs firmadas.

Multi-emisor, rate-limited

Un Consumer emite por varios NIT. Rate limit por Consumer, webhooks de contingencia, ambientes de pruebas y producción.

OpenAPI + hand-off a IA

Spec OpenAPI 3.1 machine-readable y llms.txt. Tu IA (Claude Code, Codex) implementa el cliente en minutos.

Quickstart

Autenticás con Authorization: Bearer tqo_…. Emitís una Factura a consumidor final así:

bash
curl -X POST https://dte-sv.tequio.work/api/dte/factura \
  -H "Authorization: Bearer tqo_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "receptor": null,
    "items": [
      { "descripcion": "Servicio mensual", "precioUni": 9.99, "tipoItem": 2 }
    ],
    "notify": ["email"]
  }'

Respuesta:

json
{
  "estado": "PROCESADO",
  "codigoGeneracion": "C6D61720-8D93-40CF-B4C1-845764DD7F4A",
  "numeroControl": "DTE-01-M001P001-000000000000186",
  "selloRecibido": "20262F05FA037B8B461A967C8AD5990F002BHOMY",
  "assets": {
    "portalUrl": "https://dte-sv.tequio.work/dte/C6D61720-…",
    "pdfUrl": "…firmada 30 días…"
  }
}

Hand-off a Claude Code / Codex / Cursor

¿No querés escribir el cliente a mano? Pegale esto a tu IA: tiene los recursos machine-readable y queda integrado al 100%.

Quiero integrar **dte-sv** (facturación electrónica de El Salvador, Ministerio de Hacienda) a mi sistema. Implementá un cliente completo y robusto.

Recursos (leélos antes de empezar):
- OpenAPI 3.1 (machine-readable): https://dte-sv.tequio.work/openapi.json
- Referencia completa para IA: https://dte-sv.tequio.work/llms-full.txt
- Guía humana: https://dte-sv.tequio.work/developers

Mis credenciales:
- API key: tqo_TU_API_KEY
- Base URL: https://dte-sv.tequio.work

Implementá:
1. Un cliente con auth Bearer (header `Authorization: Bearer tqo_TU_API_KEY`).
2. Emisión de Factura (01) a consumidor final y CCF (03) B2B, con los shapes exactos del OpenAPI.
3. Manejo de los 3 estados de respuesta: PROCESADO (200), PENDIENTE_CONTINGENCIA (422 con estado), RECHAZADO (422). NO reintentar con el mismo codigoGeneracion en RECHAZADO.
4. Manejo de errores HTTP (401, 402 sin suscripción, 422 invalid-payload con `issues`, 429 con `Retry-After`).
5. Tipado fuerte a partir del OpenAPI (generá tipos/cliente con tu herramienta preferida).
6. Tests con el ambiente de pruebas (`"ambiente": "00"`) antes de producción.
7. (Opcional) Emisión con IA: `POST /api/dte/ai` recibe la venta en lenguaje natural
   (`{ input, ambiente, autoEmit? }`) y devuelve `accion` EMITIR/CONFIRMAR/NO_EMITIR
   con el DTE emitido o el payload listo — útil como atajo de captura.

Empezá generando el cliente desde https://dte-sv.tequio.work/openapi.json y mostrame un ejemplo de emisión de Factura.

Endpoints

POST/api/dte/facturaFactura (01), consumidor final
POST/api/dte/ccfComprobante de Crédito Fiscal (03), B2B
POST/api/dte/nota-creditoNota de Crédito (05)
POST/api/dte/nota-debitoNota de Débito (06)
POST/api/dte/factura-exportacionFactura de Exportación (11)
POST/api/dte/aiEmisión con IA: lenguaje natural → DTE
GET/api/dte/{codGen}Consultar estado + assets
POST/api/dte/{codGen}/invalidarInvalidar un DTE
POST/api/dte/{codGen}/retornoReportar devolución (B2C)
POST/api/dte/loteEmisión masiva (hasta 100)

Schemas exactos, ejemplos por endpoint y "try it" en la referencia interactiva.

¿Ya sos cliente?

Entrá al dashboard para ver tu API key, tus issuerIds y tu archivo .env listo para copiar, con un hand-off a Claude Code ya personalizado con tus credenciales.

Ir a mi integraciónCrear cuenta / Entrar