API Base64
1. Introducción
La API Base64 permite generar y recuperar la representación en PDF (codificado en Base64) de un CFDI emitido. Este servicio procesa la información enviada en formato JSON y devuelve tanto los datos fiscales como la representación gráfica del comprobante.
Es útil cuando se requiere:
-
Obtener el PDF de un CFDI timbrado.
-
Integrar la descarga de comprobantes en sistemas externos.
-
Consultar metadatos relacionados con la emisión (folio, serie, UUID, estatus, etc.).
El servicio se consume mediante el método PUT y requiere autenticación con la clave de empresa (keyEmpresa).
2. Estructura del Servicio
2.1 Estructura general de la petición
El contenido del documento a emitir debe colocarse en el Request Payload en formato JSON.
Los registros dentro del JSON deben incluir saltos de línea “\n” en caso de múltiples registros.
2.2 Parámetros requeridos
Endpoint
|
Método |
Endpoint |
|---|---|
|
PUT |
/<keyEmpresa>/cfdisPdf64 |
Autenticación y Headers
|
Header |
Valor esperado |
|---|---|
|
|
application/json |
Parámetros
|
Campo |
Uso |
Descripción |
|---|---|---|
|
|
Requerido |
Identificador del tipo de CFDI (encriptado). |
|
|
Requerido |
Identificador de la sucursal (encriptado). |
|
|
Requerido |
Contenido del archivo fuente (texto en formato esperado por el conector/adaptador). |
|
|
Opcional |
Nombre del archivo fuente. |
2.3 Ejemplo de petición
PUT https://localhost/empresa123/cfdisPdf64
Content-Type: application/json
{
"idTipoCfd": "a1b2c3d4e5",
"idSucursal": "z9y8x7w6v5",
"nombre": "factura_ejemplo.txt",
"archivoFuente": "|00|idcfd|FAC|\n|01|idcfd|FAC|"
}
2.4 Ejemplo de respuesta
Respuesta exitosa (200 OK)
{
"uuid": "A55B6F40-EAF8-402B-8FCC-1B53647600B6",
"fecha": "2024-01-16 08:59:40.0",
"serie": "MCF",
"folio": "501053",
"rfc": "XAXX010101000",
"iva": "3.560000",
"monto": "25.780000",
"descuento": "0.000000",
"subtotal": "22.220000",
"tipoCambio": "1.0000",
"tipoMoneda": "MXN",
"idCfd": "254ff0473c7a2a26091b23e41da50316",
"idSucursal": "0dd6aebbea85662fd2fe2f76ce4258b3",
"status": "ALMACENADO",
"produccion": true,
"pdfBase64": "BASE64",
"fechaCancelacion": "",
"tienePDF": "true",
"pdfAndXmlDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=254ff0473c7a2a26091b23e41da50316&produccion=true&representacion=XML_PDF",
"pdfDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=254ff0473c7a2a26091b23e41da50316&produccion=true&representacion=PDF",
"xmlDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=254ff0473c7a2a26091b23e41da50316&produccion=true&representacion=XML"
}
2.5 Códigos de respuesta
|
Código |
Descripción |
|---|---|
|
200 |
OK. La petición fue procesada exitosamente. Devuelve la información del CFDI y el PDF en Base64. |
|
400 |
Error en los parámetros enviados (faltan o tienen formato incorrecto). |
|
401 |
La clave de empresa ( |
3. Consideraciones Técnicas
-
El archivo fuente debe enviarse en el Request Payload JSON.
-
Los registros múltiples deben separarse con el carácter
\n(salto de línea). -
En caso de timeout (999) o se mande 2 veces con los mismos datos de
idReferencia,RFC Emisor,RFC Receptor,Total, se entregarán los datos del CFDI previamente timbrado. -
El servicio soporta únicamente el formato application/json.
-
De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
4. Contacto y Soporte
Para soporte técnico o dudas sobre el uso del servicio puede comunicarse con el área de soporte técnico de Tralix vía ticket.
No Comments