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.
Mandás el JSON; nosotros firmamos (JWS RS512) y lo transmitimos al Ministerio de Hacienda. Te devolvemos el sello fiscal y el PDF.
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.
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.
Email (con PDF + Archivo DTE firmado) y WhatsApp opcionales por request. O notificá vos con las URLs firmadas.
Un Consumer emite por varios NIT. Rate limit por Consumer, webhooks de contingencia, ambientes de pruebas y producción.
Spec OpenAPI 3.1 machine-readable y llms.txt. Tu IA (Claude Code, Codex) implementa el cliente en minutos.
Autenticás con Authorization: Bearer tqo_…. Emitís una Factura a consumidor final así:
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:
{
"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…"
}
}¿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.| POST | /api/dte/factura | Factura (01), consumidor final |
| POST | /api/dte/ccf | Comprobante de Crédito Fiscal (03), B2B |
| POST | /api/dte/nota-credito | Nota de Crédito (05) |
| POST | /api/dte/nota-debito | Nota de Débito (06) |
| POST | /api/dte/factura-exportacion | Factura de Exportación (11) |
| POST | /api/dte/ai | Emisión con IA: lenguaje natural → DTE |
| GET | /api/dte/{codGen} | Consultar estado + assets |
| POST | /api/dte/{codGen}/invalidar | Invalidar un DTE |
| POST | /api/dte/{codGen}/retorno | Reportar devolución (B2C) |
| POST | /api/dte/lote | Emisión masiva (hasta 100) |
Schemas exactos, ejemplos por endpoint y "try it" en la referencia interactiva.
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.