🧪 Test

https://testnucgt.digifact.com/api/

🚀 Producción

https://nucgt.digifact.com/gt.com.apinuc/api/
ℹ️

Todas las operaciones requieren un token JWT obtenido en GET TOKEN. El token expira automáticamente — al recibir un error 401, solicitar un nuevo token.


POSTObtener Token

Autenticación JWT. El token obtenido debe enviarse como header Authorization en todas las operaciones.

TESThttps://testnucgt.digifact.com/api/login/get_token
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/login/get_token
NombreReq.Descripción
Content-TypeReqapplication/json
NombreTipoReq.DescripciónEjemplo
UsernamestringReqGT + "." + NIT (12 dígitos rellenos con ceros) + "." + usuario.GT.000000123456.USER_TEST
PasswordstringReqContraseña proporcionada en las credenciales TEST o productivas.********
NombreTipoDescripción
tokenstringJWT Bearer token. Tiene fecha de expiración. Al vencer la API responde 401 Unauthorized.
⚠️

El NIT debe complementarse con ceros a la izquierda hasta tener exactamente 12 caracteres. Ej: NIT 123456 → 000000123456.

curl -X POST "https://testnucgt.digifact.com/api/login/get_token" \
  -H "Content-Type: application/json" \
  -d '{"Username":"GT.000000123456.USER_TEST","Password":"********"}'
json
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
POSTCertificar DTECERTIFICATE_FE_XML_TOSIGN V2

Certifica un Documento Tributario Electrónico ante la SAT. Acepta el NUC en formato XML o JSON — son DOS URLs distintos según el formato enviado. Devuelve el DTE certificado en base64 (XML/HTML/PDF).

TESThttps://testnucgt.digifact.com/api/v2/transform/nuc_json (JSON · Content-Type: application/json)https://testnucgt.digifact.com/api/v2/transform/nuc (XML · Content-Type: application/xml)
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/v2/transform/nuc_json (JSON · Content-Type: application/json)https://nucgt.digifact.com/gt.com.apinuc/api/v2/transform/nuc (XML · Content-Type: application/xml)
NombreReq.Descripción
Content-TypeReqapplication/json para enviar JSON al endpoint /nuc_json · application/xml para enviar XML al endpoint /nuc. Enviar Content-Type que no coincida con la URL devuelve 415 Unsupported Media Type.
AuthorizationReqToken JWT obtenido en GET TOKEN.
NombreTipoReq.DescripciónEjemplo
TAXIDstringReqNIT del emisor (12 dígitos con ceros).000000123456
FORMATstringReqFormatos de respuesta separados por pipe.PDF|HTML|XML
USERNAMEstringReqUsuario asignado (Test o Productivo).USER_TEST
NombreTipoReq.Descripción
body (raw)XML|JSONReqDocumento NUC. El formato debe coincidir con la URL utilizada: JSON al endpoint /nuc_json, XML al endpoint /nuc.
NombreTipoDescripción
codestringCódigo de respuesta de la operación.
messagestringMensaje informativo relacionado al código.
authNumberstringNúmero de autorización del DTE (UUID).
responseData1stringDTE en formato XML (base64).
responseData2stringDTE en formato HTML (base64).
responseData3stringDTE en formato PDF (base64).
batchstringNúmero de serie del documento.
serialstringNúmero correlativo del documento.
enrolledTimeStampstringFecha y hora de certificación ante SAT.
additionalInfoobjectInformación adicional: acuseReciboSAT y codigosSAT.
⚠️

El URL del endpoint cambia según el formato del body: usar /api/v2/transform/nuc_json para JSON o /api/v2/transform/nuc para XML. Enviar el Content-Type que no coincide con la URL devuelve 415 Unsupported Media Type.

ℹ️

En productivo se requiere la firma electrónica del emisor (obtenida en la agencia virtual de SAT). En TEST no es necesaria.

🚫

La operación V1 (CERTIFICATE_FE_XML_TOSIGN V1) está OBSOLETA. Migrar a V2.

curl -X POST "https://testnucgt.digifact.com/api/v2/transform/nuc_json   (JSON · Content-Type: application/json)?TAXID=000000123456&FORMAT=PDF%7CHTML%7CXML&USERNAME=USER_TEST" \
  -H "Content-Type: application/json" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -d '{"Header":{"Issuer":{"TaxID":"000000123456"},"Receiver":{"TaxID":"CF","Name":"Consumidor Final"}},"Items":[{"Description":"Producto demo","Qty":1,"Price":100}]}'
json
{
  "code": "1",
  "message": "Procesado Correctamente",
  "authNumber": "BDE0DEC2-5ABE-468E-A6F1-0AB3637F2764",
  "batch": "A001",
  "serial": "1",
  "enrolledTimeStamp": "2026-02-05T10:30:05",
  "responseData1": "PD94bWwgdmVyc2lvbj0i...",
  "responseData2": "PCFET0NUWVBFIGh0bWw+...",
  "responseData3": "JVBERi0xLjQK..."
}
POSTAnular DTECANCEL FEL

Anula un Documento Tributario Electrónico previamente certificado ante la SAT.

TESThttps://testnucgt.digifact.com/api/CancelFelGT
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/CancelFelGT
NombreReq.Descripción
AuthorizationReqToken JWT.
Content-TypeReqapplication/json
NombreTipoReq.DescripciónEjemplo
TaxidstringReqNIT del emisor.123456
AutorizacionstringReqUUID del DTE a anular.5B5BA194-22C5-4377-99D4-B8F86820533D
IdReceptorstringReqNIT del receptor. "CF" si es Consumidor Final.CF
FechaEmisionDocumentoAnularstringReqFecha y hora de emisión del DTE.2022-10-04T10:25:09
MotivoAnulacionstringReqMotivo por el cual se anula.Error en datos del receptor
UsernamestringReqUsuario que realiza la anulación.USER_TEST
NombreTipoDescripción
CodigostringCódigo de respuesta.
MensajestringDescripción del resultado.
AutorizacionstringUUID del DTE anulado.
ResponseDATA1stringDTE de anulación en XML (base64).
ResponseDATA2stringDTE de anulación en HTML (base64).
ResponseDATA3stringDTE de anulación en PDF (base64).
curl -X POST "https://testnucgt.digifact.com/api/CancelFelGT" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json" \
  -d '{"Taxid":"123456","Autorizacion":"5B5BA194-22C5-4377-99D4-B8F86820533D","IdReceptor":"CF","FechaEmisionDocumentoAnular":"2022-10-04T10:25:09","MotivoAnulacion":"Error en datos","Username":"USER_TEST"}'
json
{
  "Codigo": "1",
  "Mensaje": "Anulación Exitosa",
  "Autorizacion": "5B5BA194-22C5-4377-99D4-B8F86820533D",
  "Serie": "A001",
  "Numero": "1"
}
GETConsultar DTESHARED_GETDTEINFO

Obtiene información completa de un DTE certificado a partir de su número de autorización.

TESThttps://testnucgt.digifact.com/api/Shared
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/Shared
NombreReq.Descripción
AuthorizationReqToken JWT.
NombreTipoReq.DescripciónEjemplo
COUNTRYstringReqCódigo de país.GT
TAXIDstringReqNIT del emisor.000044653948
DATA1stringReqTipo de operación.SHARED_GETDTEINFO
DATA2stringReqNúmero de autorización.AUTHNUMBER|BDE0DEC2-5ABE-468E-A6F1-0AB3637F2764
USERNAMEstringReqUsuario.USER_TEST
NombreTipoDescripción
TIPO_DTEstringTipo de documento.
GUIDstringUUID del DTE.
SERIEstringNúmero de serie.
NUMEROstringCorrelativo.
FECHA_DE_EMISIONstringFecha de emisión.
NIT_COMPRADORstringNIT del receptor.
TOTALdecimalTotal del DTE.
DTEstringXML del DTE en base64.
curl -X GET "https://testnucgt.digifact.com/api/Shared?COUNTRY=GT&TAXID=000044653948&DATA1=SHARED_GETDTEINFO&DATA2=AUTHNUMBER%7CBDE0DEC2-5ABE-468E-A6F1-0AB3637F2764&USERNAME=USER_TEST" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
json
{
  "REQUEST_DATA": [{ "Codigo": "1", "Mensaje": "Procesado" }],
  "RESPONSE": [{
    "TIPO_DTE": "FACT",
    "GUID": "BDE0DEC2-5ABE-468E-A6F1-0AB3637F2764",
    "SERIE": "A001",
    "NUMERO": "5",
    "TOTAL": 100.00,
    "DTE": "PD94bWwgdmVyc2lvbj0i..."
  }]
}
GETConsultar NITGET INFONITcom

Obtiene el nombre o razón social de un contribuyente a partir de su NIT.

TESThttps://testnucgt.digifact.com/api/Shared
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/Shared
NombreReq.Descripción
AuthorizationReqToken JWT.
NombreTipoReq.DescripciónEjemplo
COUNTRYstringReqCódigo de país.GT
TAXIDstringReqNIT del usuario autenticado.000044653948
DATA1stringReqTipo de operación.SHARED_GETINFONITcom
DATA2stringReqNIT a consultar.NIT|44653948
USERNAMEstringReqUsuario.USER_TEST
NombreTipoDescripción
NITstringNIT consultado.
NOMBREstringRazón social en SAT.
curl -X GET "https://testnucgt.digifact.com/api/Shared?COUNTRY=GT&TAXID=000044653948&DATA1=SHARED_GETINFONITcom&DATA2=NIT%7C44653948&USERNAME=USER_TEST" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
json
{
  "RESPONSE": [{ "NIT": "44653948", "NOMBRE": "Empresa Ejemplo S.A." }]
}
GETObtener DocumentoGET DOCUMENT

Descarga un DTE certificado en los formatos solicitados (XML, HTML, PDF, JSON).

TESThttps://testnucgt.digifact.com/api/GetDocument
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/GetDocument
NombreReq.Descripción
AuthorizationReqToken JWT.
NombreTipoReq.DescripciónEjemplo
AUTHNUMBERstringReqUUID del DTE.4D19A6D5-05B6-4D96-9EA4-7D75620B48CE
TAXIDstringReqNIT del emisor.000000123456
FORMATstringReqFormatos separados por pipe: XML, HTML, PDF, JSON.HTML|PDF
USERNAMEstringReqUsuario.USER_TEST
NombreTipoDescripción
RESPONSE[0].ResponseData1stringXML en base64.
RESPONSE[0].ResponseData2stringHTML en base64.
RESPONSE[0].ResponseData3stringPDF en base64.
ℹ️

Si el documento no existe, RESPONSE retorna [].

curl -X GET "https://testnucgt.digifact.com/api/GetDocument?AUTHNUMBER=4D19A6D5-05B6-4D96-9EA4-7D75620B48CE&TAXID=000000123456&FORMAT=HTML%7CPDF&USERNAME=USER_TEST" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
json
{
  "RESPONSE": [{
    "ResponseData1": "",
    "ResponseData2": "PCFET0NUWVBFIGh0bWw+...",
    "ResponseData3": "JVBERi0xLjQK..."
  }]
}
POSTNota de Crédito TotalCERTIFICATE NCRED

Genera una nota de crédito total a partir del número de autorización del documento referenciado. No requiere enviar el NUC completo.

TESThttps://testnucgt.digifact.com/api/cert/ncredtotal
PRODhttps://nucgt.digifact.com/gt.com.apinuc/api/cert/ncredtotal
NombreReq.Descripción
AuthorizationReqToken JWT.
Content-TypeReqapplication/json
NombreTipoReq.DescripciónEjemplo
StaxidstringReqNIT del emisor del documento referenciado.123456
AuthnumberstringReqUUID del documento referenciado.5B5BA194-22C5-4377-99D4-B8F86820533D
FechaEmisionstringReqFecha de emisión de la NC.2025-08-21 13:24:00
MotivoAjustestringReqMotivo del ajuste.Devolución total
FormatosstringReqFormatos de respuesta.xml|html|pdf
UsernamestringReqUsuario.USER_TEST
ReferenciaInternastringOptReferencia interna.NC-001
NumeroAccesostringOptNúmero de acceso para contingencia.
NombreTipoDescripción
Mismo esquema de respuesta que Certificar DTE.
ℹ️

NumeroAcceso es requerido únicamente en escenarios de contingencia.

curl -X POST "https://testnucgt.digifact.com/api/cert/ncredtotal" \
  -H "Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json" \
  -d '{"Staxid":"123456","Authnumber":"5B5BA194-22C5-4377-99D4-B8F86820533D","FechaEmision":"2025-08-21 13:24:00","MotivoAjuste":"Devolución total","Formatos":"xml|html|pdf","Username":"USER_TEST"}'
json
// Idéntico a la respuesta de Certificar DTE

Soporte Técnico

Disponible en horario hábil para dudas durante implementación, pruebas y producción.

Email

[email protected]

Teléfono

+502 2319-1921 opción 2

Subject recomendado: [NIT] Tipo_REST · [NIT] Tipo_GENERAL