Skip to main content
Esta guía emite un DTE mínimo de principio a fin: obtener un token, enviar el documento y revisar el resultado. Los ejemplos usan datos ficticios — reemplácelos por los de su cuenta.
1

Obtenga un token de acceso

Toda llamada al API requiere un token Bearer. Vea el detalle en Autenticación.
curl -X POST https://api.fegora.com/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=password&client_id=apiApp&username=12345678&password=contrasenia-ejemplo"
Guarde el access_token de la respuesta — lo usará en el siguiente paso.
2

Construya el DTE mínimo

Un DTE necesita, como mínimo, un receptor y al menos un item con descripcion y precioUnitario. Todo lo demás (tipo de documento, moneda, fecha de emisión, datos del emisor) toma un valor por defecto a partir de la configuración de la cuenta.
{
  "receptor": {
    "id": "CF",
    "nombre": "CONSUMIDOR FINAL"
  },
  "items": [
    {
      "descripcion": "Servicio de consultoría",
      "cantidad": 1,
      "precioUnitario": 100.00
    }
  ]
}
receptor.id: "CF" identifica a un consumidor final (sin NIT). Si el receptor es un contribuyente, use su NIT (GT), RNC (DO) o el identificador que aplique (DUI/NIT/pasaporte en SV) en receptor.id.
3

Envíe el documento con POST /dte

curl -X POST https://api.fegora.com/dte \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...ejemplo" \
  -H "Content-Type: application/json" \
  -d '{
        "receptor": { "id": "CF", "nombre": "CONSUMIDOR FINAL" },
        "items": [
          { "descripcion": "Servicio de consultoría", "cantidad": 1, "precioUnitario": 100.00 }
        ]
      }'
Si la certificación ante la autoridad fiscal (SAT/MH/DGII, vía el certificador de la cuenta) es exitosa, la respuesta es 200 OK con el DTE completo, incluida su información de certificación. Si la certificación es rechazada, el API responde con un error — vea Manejo de errores.
4

Inspeccione la respuesta

La respuesta trae el documento certificado. Los campos clave para este primer recorrido:
{
  "id": "8F3A1C2E-9B7D-4E51-8A0F-1234567890AB",
  "tipo": "factura",
  "serie": "A1B2C3D4",
  "numero": 1023,
  "estado": "Certificado",
  "fechaEmision": "2026-07-12T10:15:00",
  "fechaCertificacion": "2026-07-12T10:15:03",
  "moneda": "GTQ",
  "total": 100.00,
  "selloEntidadFiscal": "eyJhbGciOi...ejemplo",
  "verificacionCertificadorUri": "https://verificador.certificador-ejemplo.com/consulta?id=8F3A1C2E-...",
  "archivoXmlUri": "https://cdn.fegora.com/dtes/8F3A1C2E-9B7D-4E51-8A0F-1234567890AB.xml",
  "archivoPdfUri": null,
  "dteUri": "https://www.fegora.com/dtes/8F3A1C2E-9B7D-4E51-8A0F-1234567890AB",
  "items": [
    {
      "descripcion": "Servicio de consultoría",
      "cantidad": 1,
      "precioUnitario": 100.00,
      "total": 100.00,
      "impuestos": [
        { "nombreCorto": "IVA", "codigoUnidadGravable": 1, "montoGravable": 89.285714, "montoImpuesto": 10.714286 }
      ]
    }
  ]
}
  • id es el identificador único del documento (UUID) — en la mayoría de certificadores corresponde al número de autorización emitido por la autoridad fiscal. Es el valor que debe conservar en su sistema para referenciar el documento después (por ejemplo al emitir una nota de crédito).
  • archivoXmlUri apunta al XML certificado del documento.
  • archivoPdfUri viene null en la respuesta de creación — el PDF se genera bajo demanda la primera vez que se solicita (siguiente paso).
Consulte Estructura del DTE para el detalle completo de campos de la respuesta.
5

Descargue el PDF

El PDF se genera (y se cachea) la primera vez que se solicita:
curl -X GET https://api.fegora.com/dte/8F3A1C2E-9B7D-4E51-8A0F-1234567890AB/pdf \
  -o factura.pdf
Este endpoint no requiere el header Authorization — el enlace puede compartirse directamente (por ejemplo, en un correo al receptor). Para forzar una nueva generación del PDF (por ejemplo tras corregir una plantilla), agregue ?regenerar=true a la URL.