Documentación API Global FEL

En pocas palabras lo que tienes que desarrollador en tu software, utilizando el mismo lenguaje de programación que ya conoces, es un archivo en formato JSON que contenga los datos de la factura, nota de crédito o cualquiera de los documentos electrónicos que necesitas.

Ejemplo de JSON para una Factura Comercial

Este archivo debes enviarlo en la API Global FEL:

Te brindamos un ApiKey único para cada Emisor FEL (sólo se debe usar en la programación de servidor para mantener la seguridad de tu información)
Llamas a la URL:  https://api.apiglobalfel.com/v1/fel/certify-dte-global-json/test
Utiliza la ApiKey y envía en el body de la API el JSON que generaste en tu software.

{
     “nitEmisor”: 99999,
     “tipoDocumento”: “FACT”,
     “documento”: {
         “datosCliente”: {
             “nit”: “CF”,
             “nombre”: “Ricardo López”,
             “correo”: “ricardolopez@gmail.com”,
             “direccionCliente”: {
                 “direccion”: “Ciudad”,
                 “codigoPostal”: “01001”,
                 “municipio”: “Guatemala”,
                 “departamento”: “Guatemala”,
                 “pais”: “GT”
             }
        },
        “fechaEmision”: “2019-10-31T11:18:03-06:00”,
        “moneda”: “GTQ”,
        “valorTotal”: 3500,
        “aplicaIva”: “No”,
        “escenarioIva”: 3,
        “tipoVenta”: “Local”,
        “detalle”: [
            {
                “descripcion”: “Alicate Amarillo”,
                “bienServicio”: “B”,
                “unidadMedida”: “UNI”,
                “cantidad”: 5,
                “precio”: 100,
                “importeBruto”: 500,
                “descuento”: 0,
                “total”: 500
            },
            {
                “descripcion”: “Alicate Verde”,
                “bienServicio”: “B”,
                “unidadMedida”: “UNI”,
                “cantidad”: 3,
                “precio”: 1000,
                “importeBruto”: 3000,
                “descuento”: 0,
                “total”: 3000
            }
        ]
    }
}

Respuesta JSON con Éxito:

{
    “status”: “ok”,
    “body”: {
        “numeroFactura”: “5ECB7D8E-3169993761”,
        “serie”: “5ECB7D8E”,
        “folio”: 3169993761,
        “fechaEmision”: “2019-08-26T11:18:03-06:00”,
        “fechaCertificado”: “2019-08-27T14:42:30.024-06:00”,
        “uuidTransaccion”: “9CD4D30F-87E9-4992-A6BD-6AB5C8A14A7A”,
        “uuidCertificado”: “5ECB7D8E-BCF2-4421-AA7E-EC0D458F7953”,
        “xmlCertificado”: “<?xml version=\”1.0\” encoding=\”UTF-8\” standalone=\”no\”?><dte:GTDocumento xmlns:dte=\”http://www.sat.gob.gt/dte/fel/0.1.0\” xmlns:xd=\”http://www.w3.org/2000/09/xmldsig#\” Version=\”0.4\”>\n  <dte:SAT ClaseDocumento=\”dte\”>\n    <dte:DTE ID=\”DatosCertificados\”>\n      <dte:DatosEmision ID=\”DatosEmision\”>\n        <dte:DatosGenerales CodigoMoneda=\”GTQ\” FechaHoraEmision=\”2019-08-26T11:18:03-06:00\” Tipo=\”FACT\”/>\n        <dte:Emisor AfiliacionIVA=\”GEN\” CodigoEstablecimiento=\”1\” CorreoEmisor=\”info@miempresa.com\” NITEmisor=\”77190513\” NombreComercial=\”Empresa XYZ\” NombreEmisor=\”Empresa XYZ\”>\n          <dte:DireccionEmisor>\n            <dte:Direccion>Ciudad</dte:Direccion>\n            <dte:CodigoPostal>01001</dte:CodigoPostal>\n            &
 …
 “message”: “XML Certificado correctamente.”
    }
}

Respuesta de la API en formato JSON cuando ocurre algún error

{
   “status”: “error”,
   “body”: {
       “message”: [
           {
               “code”: “00003”,
               “description”: “No se encontró el parámetro ‘documento.valorTotal’ en el body de la solicitud.”
           }
       ]
   }
}

Si el JSON no tiene errores, se genera el XML FEL y se envía a certificar. Si se encuentra un error al tratar de certificar el documento, la API retorna un JSON con los errores encontrados por el Certificador que haya contratado el Emisor FEL:

{
    “status”: “error”,
    “body”: {
        “message”: [
            {
                “code”: “FEL_YYY999”,
                “description”: “El NIT del Receptor es inválido.”
            },
            {
                “code”: “FEL_YYY888”,
                “description”: “Gran Total calculado incorrectamente.”
            },
            {
                “code”: “FEL_YYY777”,
                “description”: “Total de Impuestos calculado incorrectamente para el IVA.”
            }
        ]
    }
}

 

Documentación Completa

Para información detallada para utilizar la API Global FEL descarga el manual en PDF.

Para realizar pruebas rápidas de la API y comprobar por tí mismo lo fácil que es utilizarla te recomendamos utilizar Postman.
Link de descarga de Postman

Vídeo tutorial para realizar una prueba de la API Global FEL.