XSA - Manual del API

LEGALES La reproducción total o parcial de este documento sin el permiso escrito de Tralix México. se encuentra estrictamente prohibida. Este documento puede incluir marcas y nombres comerciales para referirse a las entidades que son propietarias de los mismos o a sus productos. Tralix México. Renuncia a cualquier interés sobre la propiedad de marcas y nombres comerciales que no sean los suyos. Tralix puede cambiar las especificaciones y capacidades del producto sin previo aviso. Observaciones. Copyright © 2024 Tralix México.

Portada

 

 

 

 

 

 

 

 

 

 

 

La reproducción total o parcial de este documento sin el permiso escrito de Tralix México. Se encuentra estrictamente prohibida. Este documento puede incluir marcas y nombres comerciales para referirse a las entidades que son propietarias de los mismos o a sus productos Tralix México renuncia a cualquier interés sobre la propiedad de marcas y nombres comerciales que no sean los suyos. Tralix puede cambiar las especificaciones y capacidades del producto sin previo aviso.

Observaciones.
Copyright © 2020 Tralix México.
Esta Documentación es de uso público para clientes de Misfacturas.net propiedad de Tralix México.

Introducción

El Consorcio World Wide Web (W3C) es una comunidad internacional donde las organizaciones Miembro desarrollan estándares Webs, y han definido los Web Services como sistemas de software creados para soportar una interacción interoperable equipo a equipo sobre una red.

Los Web Services suelen ser APIs Web que pueden ser accedidos dentro de una red (principalmente Internet) y son ejecutados en el sistema donde residen. El estilo de arquitectura que hemos utilizado es el REST (Representational State Transfer), de tal manera que los servicios web deben cumplir con los siguientes principios:

  • Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la información necesaria para comprender la petición. Por lo que ni el cliente ni el servidor necesitan recordar ningún estado de las comunicaciones entre mensajes. Sin embargo, en la práctica, muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos para mantener el estado de la sesión (algunas de estas prácticas, como la reescritura de URLs, no son permitidas por REST).
  • Un conjunto de operaciones bien definidas que se aplican a todos los recursos de información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD en bases de datos (ABMC: Alta, Baja, Modificación y Consulta) que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema.
  • Una sintaxis universal para identificar los recursos. En un sistema REST, cada recurso es direccionable únicamente a través de su URI.
  • El uso de hipermedios, tanto para la información de la aplicación como para las transiciones de estado de la aplicación: la representación de este estado en un sistema REST son típicamente HTML o XML. Como resultado de esto, es posible navegar de un recurso REST a muchos otros, simplemente siguiendo enlaces sin requerir el uso de registros u otra infraestructura adicional.
Cliente/Servidor 

Como servicios web, son cliente servidor y definen una interfaz de comunicación entre ellos, separando completamente las responsabilidades entre ambas partes.

Sin estado

Son servicios web que no mantienen estado asociado al cliente. Cada petición que se realiza a ellos es completamente independiente de la siguiente. Todas las llamadas al mismo servicio serán idénticas.

Caché

El contenido de los servicios web REST se puede cachear de tal forma que, una vez realizada la primera petición al servicio, el resto puedan apoyarse en el caché si fuera necesario.

Servicios Uniformes

Todos los servicios REST compartirán una forma de invocación y métodos uniforme utilizando los métodos GET, POST, PUT y DELETE.

Arquitectura en capas

Todos los servicios REST están orientados hacia la escalabilidad y un cliente REST no será capaz de distinguir entre si está realizando una petición directamente al servidor, o se lo está devolviendo un sistema de cachés intermedio; o, por ejemplo, existe un balanceador que se encarga de redirigirlo a otro servidor.

 

Información Ténica

Puerto asignado para los servicios: 9050

Consulta de tipos de CFDs
URL

/<keyEmpresa>/tiposCfds

Parámetros requeridos El parámetro obligatorio es el keyEmpresa
Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa el Id (encriptado), nombre, serie, idSucursal (encriptado), nómina (boleano) de todos los tipos de CFDs con los que cuenta la empresa en formato json.
Notas

N/A

Códigos respuesta/errores

200 - Ok

204 - No Content - No hay tipos de CFDs

401 - Not Found -  No existe la keyEmpresa

Ejemplo

https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/tiposCfds

Ejemplo respuesta (código 200)

[{"id":"d18bb0158356449c31e72cb69e642b31","nombre":"generacion","serie":null,"idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","nomina":false},{"id":"8e327ff08a2eec8c760a91fbf08f636e","nombre":"nomina","serie":"B","idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","nomina":false}]

Consulta de sucursales
URL /<keyEmpresa>/sucursales
Parámetros requeridos El parámetro obligatorio es el keyEmpresa
Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa el idSucursal, Nombre y TipoSucursal en formato json de todas las sucursales de la empresa.
Notas El parámetro Id es el Id de la sucursal.
Códigos respuesta/errores 200 - Ok
204 - No Content - No hay sucursales
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa | No existe el Id de la sucursal
Ejemplo https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/sucursales
Ejemplo respuesta (código 200) [{"idSUCURSAL":"6ac9a2c315480d5cc5534c7e58caee5a","NOMBRE":"Actver Pruebas","TIPOSUCURSAL":"MATRIZ"}]
Consulta de CFDI
URL /<keyEmpresa>/cfdis
Parámetros requeridos Al menos uno de los filtros debe ser aplicado
Parámetros/filtros opcionales

idSucursal (Encriptado)
rfc (del receptor)
razonSocial (del receptor)
fecha (formato yyyy-MM-dd)
fechaInicial (formato yyyy-MM-dd)
fechaFinal (formato yyyy-MM-dd)

serie
folioEspecifico
folioInicial
folioFinal
status
uuid (Si es una lista separado por coma cada UUID, ver ejemplo)
nombreArchivo
monto (BigDecimal)
montoInicial (BigDecimal)
montoFinal (BigDecimal)
pageSize
pageNumber

Método http GET
Descripción detallada Regresa: idSucursal (Encriptado), rfc (del receptor), razonSocial (del receptor), fecha (YYYY-MM-DD hh:mm:ss.s) , folio, status, UUID, monto (BigDecimal), idCfd (Encriptado), serie, subtotal (BigDecimal), descuento (BigDecimal), tipoMoneda, tipoCambio (BigDecimal), iva (BigDecimal), fechaCancelacion (YYYY-MM-DD hh:mm:ss.s), tienePDF (Boleano), pedimento, fechaPedimento (pueden venir varias fechas ), aduana, pdfAndXmlDownload (link para descargar XML y pdf), pdfDownload (link para descargar el pdf), xmlDownload (link para descargar el xml), cancellCfdi (link para cancelar el cfdi) en formato json de todas los CFDIs de la empresa (de no existir el filtros) excepto nóminas
Notas El formato para escribir la fecha no acepta horas.
El pageSize por defecto es 50 y como máximo puede ser 100.
En los headers están los links de paginación de la siguiente serie de documentos si estos sobrepasan los 50 máximos.
Es posible jugar con los parámetros para hacer filtrados más detallados.
Códigos respuesta/errores 200 - Ok
204 - No Content - No existen CFDI
401 - Not Found - No existe la keyEmpresa
Ejemplo Ejemplo con UUID #1
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis?uuid=9d8b7b0f-2aa6-47d7-8b45-d3abf26f57d1,c23a6470-9be2-4241-8cfa-fef55525c80f
Ejemplo con FECHA #2
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis?fecha=2014-06-30
Ejemplo respuesta (código 200) 

[{"66a673fbc55109153b7d684ed56b3b63","serie":"","subtotal":"99.090000","descuento":"9999.009000","tipoMoneda":"USD","tipoCambio":"12.5014","iva":"1000008.180000","fechaCancelacion":"","tienePDF":"true","pedimento":"","fechaPedimento":"","aduana":"","pdfAndXmlDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi=66a673fbc55109153b7d684ed56b3b63&representacion=XML_PDF","pdfDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi= 66a673fbc55109153b7d684ed56b3b63&representacion=PDF","xmlDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi= 66a673fbc55109153b7d684ed56b3b63&representacion=XML"}]

Consulta de CFDIs de nómina
URL

/<keyEmpresa>/cfdisNomina

Parámetros requeridos Al menos debe estar aplicado uno de los parámetros disponibles
Parámetros/filtros opcionales idSucursal (Encriptado)
rfc (del receptor)
razonSocial (del receptor)
fecha (formato yyyy-MM-dd)
fechaInicial (formato yyyy-MM-dd)
fechaFinal (formato yyyy-MM-dd)
folioEspecifico
folioInicial
folioFinal
status
nombreArchivo
uuid (Si es una lista separado por coma cada UUID, ver ejemplo)
monto (BigDecimal)
montoInicial (BigDecimal)
montoFinal (BigDecimal)
pageSize
pageNumber
Método http GET
Descripción detallada Regresa: idSucursal (Encriptado), rfc (del receptor), razonSocial (del receptor), fecha (YYYY-MM-DD hh:mm:ss.s) , folio, status, UUID, monto (BigDecimal), idCfd (Encriptado), serie, subtotal (BigDecimal), descuento (BigDecimal), tipoMoneda, tipoCambio (BigDecimal), iva (BigDecimal), fechaCancelacion (YYYY-MM-DD hh:mm:ss.s), tienePDF (Boleano), pedimento, fechaPedimento (pueden venir vairias fechas ), aduana, pdfAndXmlDownload (link para descargar XML y pdf), pdfDownload (link para descargar el pdf), xmlDownload (link para descargar el xml), cancellCfdi (link para cancelar el cfdi) en formato json de todas las nóminas de la empresa (de no existir el filtros)
Notas El formato para escribir la fecha no acepta horas.
El pageSize por defecto es 50 y como máximo puede ser 100.
En los headers están los link de paginación de la siguiente serie de documentos si estos sobrepasan los 50 máximos.
Es posible jugar con los parámetros para hacer filtrados más detallados.
Códigos respuesta/errores 200 - Ok
204 - No Content - No existen CFDI de nómina
401 - Not Found - No existe la keyEmpresa
Ejemplo Ejemplo con UUID #1
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdisNomina?uuid=97c05608-58aa-4087-886d-82a69a86bc98
Ejemplo con FECHA #2
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdisNomina?fecha=2014-06-18
Ejemplo respuesta (código 200)

[{"66a673fbc55109153b7d684ed56b3b63","serie":"","subtotal":"99.090000","descuento":"9999.009000","tipoMoneda":"USD","tipoCambio":"12.5014","iva":"1000008.180000","fechaCancelacion":"","tienePDF":"true","pedimento":"","fechaPedimento":"","aduana":"","pdfAndXmlDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi=66a673fbc55109153b7d684ed56b3b63&representacion=XML_PDF","pdfDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi= 66a673fbc55109153b7d684ed56b3b63&representacion=PDF","xmlDownload":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi= 66a673fbc55109153b7d684ed56b3b63&representacion=XML"}]

Generación de CFDI
URL /<keyEmpresa>/cfdis
Parámetros requeridos idTipoCfd (Encriptado)
idSucursal (Encriptado)
nombre (nombre del archivo fuente opcional)
archivoFuente (El parámetro es el texto contenido del archivo fuente) de acuerdo al conector/adaptador configurado
Parámetros/filtros opcionales N/A
Método http PUT
Descripción detallada Regresa: idSucursal (Encriptado), rfc (del receptor), razonSocial (del receptor), fecha (YYYY-MM-DD hh:mm:ss.s) , folio, status, UUID, monto (BigDecimal), idCfd (Encriptado), serie, subtotal (BigDecimal), descuento (BigDecimal), tipoMoneda, tipoCambio (BigDecimal), iva (BigDecimal), fechaCancelacion (YYYY-MM-DD hh:mm:ss.s), tienePDF (Boleano), pedimento, fechaPedimento (pueden venir vairias fechas ), aduana, pdfAndXmlDownload (link para descargar XML y pdf), pdfDownload (link para descargar el pdf), xmlDownload (link para descargar el xml), cancellCfdi (link para cancelar el cfdi) en formato json del CFDI generado.
Notas De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
ES IMPORTANTE MENCIONAR que el contenido del documento a emitir se colocar en el Request Payload en estructura JSON
En los headers se debe poner: "Content-Type: application/json"
Se debe incluir el salto de línea entre registros utilizando “\n” Ejemplo: |00|idcfd|FAC|\n
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis
{"idTipoCfd":"d18bb0158356449c31e72cb69e642b31","idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","nombre":"prueba.txt","archivoFuente":"|00|idcfd|FAC|\n01|1|||20140630T00:00:00|99.09|9999.09|||9999.009||Noventa y nueve billones novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve 90\/10000000|USD|12.5014|REFERENCIA XXXAAAXXX|Primera Observación|Segunda Observación|Tercera Observación|\n02|PAGO EN UNA SOLA EXHIBICIÓN|10% DE INTERÉS SI NO SE PAGA ANTES DEL 05-AGOSTO-2010|CHEQUE|2010-08-05|EFECTOS FISCALES AL PAGO|\n03|01|AAA010101AAA|PATITO, S.A. DE C.V.|MÉXICO|AVENIDA CALLE |S\/N|INT. 1|COL. COLONIA|MÉXICO|REFERENCIA FRENTE AL OXXO|CUAJIMALPA|ESTADO DE MÉXICO|06860|4424876399|\n05|405010|802011|3|BOMBA MOLOTOV|150.00|450.00|PZA|Categoría 5e|205010|\n05|405011|802012|1|DISFRAZ DE CORRECAMINOS|2368231872779.000009|884346835174.000009|PZA|Categoría 5e|205011|\n05|405012|802013|10|COMIDA DE CORRECAMINOS|39.00|390.00|KG|Categoría 5e|205010|\n05|405013|802014|1|LIGA DE HULE GIGANTE|378.00|378.00|PZA|Categoría 5e|205011|\n06|IVA|16.00|9.09|\n07|IVA|58.58|\n06|IVA|16.00|999999.09|\n07|IVA|58.58|\n08|405010|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|548984124578124||\n08|405011|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|654651456987452||\n99|15||"}
Ejemplo respuesta (código 200) "uuid": "3D5DAEF4-FE52-44A5-9C82-84B6B293EC7E",
"fecha": "2020-05-23 17:09:00.0",
"serie": "D01",
"folio": "1000",
"rfc": "OIAD8404189S3",
"iva": "134.390000",
"monto": "974.390000",
"descuento": "0.000000",
"subtotal": "840.000000",
"tipoCambio": "1.0000",
"tipoMoneda": "MXN",
"idCfd": "60014b09e2d75d1ac1260b7c4e780c00",
"idSucursal": "0dd6aebbea85662fd2fe2f76ce4258b3",
"status": "ALMACENADO",
"produccion": true,
"fechaCancelacion": "",
"tienePDF": "true",
"pedimento": "",
"fechaPedimento": "",
"aduana": "",
"pdfAndXmlDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=60014b09e2d75d1ac1260b7c4e780c00&produccion=true&representacion=XML_PDF",
"pdfDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=60014b09e2d75d1ac1260b7c4e780c00&produccion=true&representacion=PDF",
"xmlDownload": "/03317bd7-c60d-434f-958d-65344238e75f/descargasCfdi?idCfdi=60014b09e2d75d1ac1260b7c4e780c00&produccion=true&representacion=XML"
}
Descarga del CFDI
URL /<keyEmpresa>/descargasCfdi
Parámetros requeridos

Al menos debe estar aplicado uno de los parámetros disponibles

Parámetros/filtros opcionales rfc (del receptor)
razonSocial (del receptor)
fecha (formato yyyy-MM-dd)
fechaInicial (formato yyyy-MM-dd)
fechaFinal (formato yyyy-MM-dd)
serie
folioEspecifico
folioInicial
folioFinal
idSucursal (Encriptado)
nombreArchivo
uuid (Si es una lista separado por comas cada UUID, ver ejemplo)
status
pageSize
pageNumber
representacion: este puede ser XML o PDF o XML_PDF o ACUSE o ACUSE_PDF.
Método http GET
Descripción detallada 1.- Si se solicita XML y PDF o varios documentos se devolverá un archivo tipo ZIP.
2.- Si se solicita solo un CFDI, dependiendo del parámetro de representación se devolverá UN archivo XML o PDF dentro de un ZIP.
3.- Si no se incluye el parámetro se devolverá XML y PDF dentro de un zip.
Notas El pageSize por defecto es 50 y como máximo puede ser 100.
Contemplar el tiempo de construcción del PDF (600 PDF x minuto).
En los headers están los link de paginación de la siguiente serie de documentos si estos sobrepasan los 50 máximos.
Es posible jugar con los parámetros para hacer filtrados más detallados.
Códigos respuesta/errores

200 - Ok

204 - No Content - No existen CFDI
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa | No hay CFDIs para descargar

Ejemplo Ejemplo #1
https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?representacion=XML&pageSize=1
Ejemplo #2
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?uuid=9d8b7b0f-2aa6-47d7-8b45-d3abf26f57d1,dabcea47-2e61-4cdb-b71e-e43c0d108ae3
Ejemplo respuesta (código 200) Ejemplo #1
(Se descarga el archivo de tipo XML (Este no puede ser de tipo Nómina))
Ejemplo #2
(Se descarga un documento de tipo ZIP, el cual contiene los archivos XML y PDF del CFDI correspondiente al UUID indicando en la URL)
Descarga de nómina
URL

/<keyEmpresa>/descargasCfdiNominas

Parámetros requeridos Al menos uno de los filtros, no puede ir vacío
Parámetros/filtros opcionales rfc (del receptor)
razonSocial (del receptor)
fecha (formato yyyy-MM-dd)
fechaInicial (formato yyyy-MM-dd)
fechaFinal (formato yyyy-MM-dd)
serie
folioEspecifico
folioInicial
folioFinal
idSucursal (Encriptado)
nombreArchivo
uuid (Si es una lista separado por comas cada UUID, ver ejemplo)
status
pageSize
pageNumber
representacion: este puede ser XML o PDF o XML_PDF.
Método http GET
Descripción detallada 1.- Si se solicita XML y PDF o varios documentos se devolverá un archivo tipo ZIP.
2.- Si se solicita solo un CFDI, dependiendo del parámetro de representación se devolverá UN archivo XML o PDF.
3.- Si no se incluye el parámetro se devolverá XML y PDF.
Notas El pageSize por defecto es 50 y como máximo puede ser 100.
Contemplar el tiempo de construcción del PDF (600 PDF x minuto).
Si se desea solo descargar el PDF poner "xml=false" en los parámetros.
Si se desea solo descargar el XML poner "pdf=false" en los parámetros.
En los headers están los link de paginación de la siguiente serie de documentos si estos sobrepasan los 50 máximos.
Es posible jugar con los parámetros para hacer filtrados más detallados.
Códigos respuesta/errores

200 - Ok

204 - No Content - No existen CFDI Nómina
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa | No hay CFDIs para descargar

Ejemplo Ejemplo #1
https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdiNominas?representacion=XML &pageSize=1
Ejemplo #2
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdiNominas?uuid=97c05608-58aa-4087-886d-82a69a86bc98
Ejemplo respuesta (Código 200) Ejemplo #1
Se descarga un documento de tipo XML (Este solo puede ser de tipo Nómina))
Ejemplo #2
(Se descarga un documento de tipo ZIP, el cual contiene los archivos de tipo XML y PDF del CFDI correspondiente al UUID indicado en la URL).
Consulta del número de CFDIs generados
URL

/<keyEmpresa>/cfdis/consumo/generacion

Parámetros requeridos {fecha (yyyy-MM-dd)}
{fechaInicial (yyyy-MM-dd), fechaFinal (yyyy-MM-dd)}
Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa la cantidad de CFDIs generados en la fecha/s indicada/s
Notas Forzosamente debe de haber una fecha específica (fecha) o un rango de fechas (fechaInicial, fechaFinal).
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/consumo/generacion?fecha=2014-07-02
Ejemplo respuesta (código 200) 3525 (la respuesta es numérica)
Consulta del número de CFDIs cancelados
URL /<keyEmpresa>/cfdis/consumo/cancelacion
Parámetros requeridos {fecha (yyyy-MM-dd)}
{fechaInicial (yyyy-MM-dd), fechaFinal (yyyy-MM-dd)}
Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa la cantidad de CFDIs cancelados en la fecha/s indicada/s
Notas Forzosamente debe de haber una fecha específica (fecha) o un rango de fechas (fechaInicial, fechaFinal).
Códigos respuesta/errores

200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

Ejemplo https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/consumo/cancelacion?fechaInicial=2013-04-01&fechaFinal=2014-01-01
Ejemplo respuesta (código 200) 0 (la respuesta es numérica)

 

Cancelación de CFDI múltiple
URL /<keyEmpresa>/cfdis/cancelar
Parámetros requeridos UUID (Lista de UUIDs en json, ver ejemplo) Solo aplica para cuando es motivo diferente a 01
Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada Regresa los UUIDs, status (Numero) y descripciones de cada cfdi cancelado en formato json.
Notas En los headers se debe poner: "Content-Type: application/json"
Códigos respuesta/errores

200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

500 - No se puede cancancelar los comprobantes con los siguientes UUID, verifique que sean válidos y que pertenezcan a la empresa.

Ejemplo https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/cancelar?

data para el motivo 01:

{
"motivo": "01",
"folioSustitucion": "B5E6897B-40A7-4DEA-ADD2-F417B32EE908",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

data para el motivo 02,03 y 04:

{
"motivo": "02",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909", "B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

Ejemplo respuesta (código 200) [{"uuid":"A07F61BD-4E1D-E504-9F3F-902DA4D622B3","status":"201","descripcion":"UUID Cancelado"}, {"uuid":"d5cdbe22-b117-4ca7-bfbb-ddef8e22b0f4","status":"201","descripcion":"UUID Cancelado"}]
Cancelación de CFDI múltiple URL
URL /<keyEmpresa>/cfdis/cancelarUrl
Parámetros requeridos UUID (Lista de UUIDs en json, ver ejemplo) Solo aplica para cuando es motivo diferente a 01
Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada Regresa los UUIDs, status (Numero) y descripciones de cada cfdi cancelado en formato json.
Notas En los headers se debe poner: "Content-Type: application/json"
Códigos respuesta/errores

200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

500 - No se puede cancancelar los comprobantes con los siguientes UUID, verifique que sean válidos y que pertenezcan a la empresa.

Ejemplo https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/cancelar?

data para el motivo 01:

{
"motivo": "01",
"folioSustitucion": "B5E6897B-40A7-4DEA-ADD2-F417B32EE908",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

data para el motivo 02,03 y 04:

{
"motivo": "02",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909", "B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

Ejemplo respuesta (código 200) [{
"uuid":"A07F61BD-4E1D-E504-9F3F-902DA4D622B3",
"status":"201",
"descripcion":"UUID Cancelado",
"URLAcuse_XML":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi=66a673fbc55109153b7d684ed56b3b63&representacion=ACUSE",
"URLAcuse_PDF":"/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdi?idCfdi=66a673fbc55109153b7d684ed56b3b63&representacion=ACUSE_PDF"
}]
Motivo de Cancelación
Clave Descripción
01 Comprobante emitido con errores con relación
02 Comprobante emitido con errores sin relación
03 No se llevó a cabo la operación
04 Operación nominativa relacionada en una factura global
Códigos de Cancelación
Código Descripción
201 Petición aceptada.

202

Folio Fiscal Previamente Cancela
203 Folio Fiscal No Correspondiente al Emisor
204 Folio Fiscal No Aplicable a Cancelación
205 Folio Fiscal No Existente
206 UUID no corresponde a un CFDI del Sector Primario
207 No se especificó el motivo de cancelación o el motivo no es válido
208 Folio Sustitución inválido
209 Folio Sustitución no requerido

210

La fecha de solicitud de cancelación es mayor a la fecha de declaración

211

La fecha de solicitud de cancelación límite para factura global
212 Relación no válida o inexistente
300 Usuario No Válido
301 XML mal formado.
302 Sello mal formado o inválido.
303 Sello no corresponde a emisor o caduco.
304 Certificado revocado o caduco.
305 Certificado Inválido
306 El certificado no es de tipo CSD.
307 El CFDI contiene un timbre previo.
308 Certificado no expedido por el SAT.
309 Certificado Inválido
310 CSD Inválido
402 RFC del emisor no se encuentra en el régimen de contribuyentes.
407 Error en el servicio de cancelación del SAT.

800

NO_ENCONTRADO
801 NO_CANCELA BLE
802 EN_PROCESO
901 El cliente con el CustomerKey proporcionado no es válido.
902 El RFC no está registrado como cliente.
903 El RFC se encuentra inactivo por el momento.
904 No cuenta con licencia para realizar peticiones.
905 El RFC no pertenece al cliente con el CustomerKey que proporcionó.
906 Ha expirado su periodo de pruebas.
910 No se puede determinar el cliente a partir del RFC.
998 Error en el cliente.
999 Error en el servidor.

Consulta de cancelación
URL /<keyEmpresa>/cfdis/consultaCancelacion
Parámetros requeridos El parámetro obligatorio es el UUID en este caso, en formato json.
Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada

Regresa el UUID, status del CFDI.

Notas N/A
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo

https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdis/consultaCancelacion{"uuid":["3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A"]}

Ejemplo respuesta (código 200) [{"uuid":"3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A ","status":"CANCELABLE_SIN_ACEPTACION"}]
Status que regresa el API

VIGENTE
CANCELABLE_CON_ACEPTACION
CANCELABLE_SIN_ACEPTACION
NO_CANCELABLE
NO_ENCONTRADO
EN_PROCESO
CANCELADO_PLAZO_VENCIDO
CANCELADO_CON_ACEPTACIÓN
CANCELADO_SIN_ACEPTACIÓN
SOLICITUD_RECHAZADA


Retenciones

Consulta tipos de retenciones
URL

/<keyEmpresa>/tiposCfdsRetenciones  

Parámetros requeridos

El parámetro obligatorio es el keyEmpresa

Parámetros/filtros opcionales pageSize (min = 1, max = 100, default = 50)
pageNumber (min = 0, default = 0)
Método http GET
Descripción detallada Regresa el id del tipo de retención, el nombre de la retención y el id de la sucursal a la cual pertenece la retención.
Notas

N/A

Códigos respuesta/errores

200 - Ok
204 - No Content - No hay tipos de CFDI de retención
401 - Not Found - No existe la keyEmpresa

Ejemplo

https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/tiposCfdsRetenciones

Ejemplo respuesta (código 200)

[{"idTipoCfdRetencion":"51bcbd36d5f0cbf971e3cbb0bea7567a","nombre":"Retencion","idSucursal":"2575797c4c7933f6f067e054240fc48b","produccion":true}]

Consulta CFDI de retenciones

 

URL /<keyEmpresa>/cfdisretencion
Parámetros requeridos Al menos uno de los filtros, no puede ir vacío
Parámetros/filtros opcionales

pageSize (min = 1, max = 100, default = 50)
pageNumber (min = 0, default = 0)
idSucursal (id de la sucursal, encriptado)
rfcReceptor
razonSocial (del receptor)
fecha (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
fechaInicial (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
fechaFinal (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
status ('ACTIVO','CANCELADO')
uuid

nombreArchivo (nombre archivo fuente)
monto
montoInicial
montoFinal

Método http GET
Descripción detallada Regresa el id del cfdi de retención, el id de la sucursal de a retención, el RFC del receptor, la razón social del receptor, la fecha de emisión del documento, el status del documento, el uuid del documento, el monto, la fecha de cancelacion del documentos (si está cancelado), la liga de descarga del documento en sus versiones XML y PDF, liga de descarga del documento en formato XML, liga de descarga del documento en PDF, la liga con la que se podría cancelar el documento.
Notas Regresa el id del tipo de retención, el nombre de la retención y el id de la sucursal a la cual pertenece la retención
Códigos respuesta/errores 200 - Ok
204 - No Content - No existen CFDI de retención
401 - Not found - No existe la keyEmpresa
Ejemplo https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/ cfdisretencion?pageSize=50&pageNumber=1&rfcReceptor=MURR750516812
Ejemplo respuesta (código 200)

[
"idCfdiRetencion": "1dccc6e57b1d443c3e1a1ffd5095f382",
"idSucursal": "6ac9a2c315480d5cc5534c7e58caee5a",
"rfcReceptor": "MURR750516812",
"razonSocial": "Razón Social Nacional",
"fecha": "2015-01-24T01:18:22",
"status": "CANCELADO",
"uuid": "2310EABB-5F39-4694-8FBD-1EA0842C8113",
"monto": "3252.500000",
"fechaCancelacion": "",
"pdfAndXmlDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga?uuid=2310EABB-5F39-4694-8FBD-1EA0842C8113&representacion=XML_PDF",
"pdfDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga/pdf?uuid=3bf7942709f6eb925d26dae62c63f8c287b8868661bc4a69ce1e3c2e10ff98bd6486140ef80ba7ac7867620b4fc94fed", "xmlDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga/xml?uuid=3bf7942709f6eb925d26dae62c63f8c287b8868661bc4a69ce1e3c2e10ff98bd6486140ef80ba7ac7867620b4fc94fed"}]

Descarga CFDI de retención
URL /<keyEmpresa>/cfdisretencion/descarga? descargasCfdi descargasCfdi descargasCfdipageSize=x&pageNumber=x
Parámetros requeridos Al menos uno de los filtros, no puede ir vacío
Parámetros/filtros opcionales pageSize (min = 1, max = 100, default = 50)
pageNumber (min = 0, default = 0)
idSucursal (id de la sucursal, encriptado)
rfcReceptor
razonSocial (razón social del receptor)
fecha (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
fechaInicial (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
fechaFinal (yyyy-mm-dd ó yyyy-MM-dd h:mm:ss)
status ('ACTIVO','CANCELADO')
uuid

nombreArchivo (nombre archivo fuente)
monto
montoInicial
montoFinal
representación (XML o PDF, XML_PDF); si no se especifica se toma XML como default
Método http GET
Descripción detallada Regresa el archivo zip teniendo como contenido, los documentos resultantes de la consulta realizada.
Notas N/A
Códigos respuesta/errores

200 - Ok
204 - No Content - No hay CFDI de retención
400 - Bad Request - Parámetros incorrectos

401 - Not found - No existe la keyEmpresa

Ejemplo https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/ cfdisretencion/descarga?pageSize=50&pageNumber=1&rfcReceptor=AAA010101AAA
Ejemplo respuesta (código 200) El ZIP
Content-Type=application/zip

Content-Disposition=attachment;
lename="1441221373984.zip"
Descarga CFDI retenciones XML
URL

/<keyEmpresa>/cfdisretencion/descarga/xml

Parámetros requeridos El parámetro obligatorio es el keyEmpresa y el uuid (encriptado)
Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa el archivo XML del cfdi solicitado
Notas N/A
Códigos respuesta/errores 200 - Ok
204 - No Content - No existen CFDI de retención
400 - Bad Request - Parámetros incorrectos
401 - Not found - No existe la keyEmpresa
Ejemplo https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/ cfdisretencion/descarga/xml?uuid=7e00413dcf1b605e189b9a91972
Ejemplo respuesta (código 200) El XML

Content-Type=application/xml

Content-Disposition=attachment;
lename="D095EF45-0465-4BBD-8F74-DE9576B909CA.xml"
Descarga CFDI retenciones PDF
URL /<keyEmpresa>/cfdisretencion/descarga/pdf
Parámetros requeridos

El parámetro obligatorio es el keyEmpresa y el uuid (encriptado)

Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Regresa el archivo PDF del cfdi solicitado
Notas N/A
Códigos respuesta/errores 200 - Ok
204 - No Content - No existen CFDI de retención
400 - Bad Request - Parámetros incorrectos
401 - Not found - No existe la keyEmpresa
Ejemplo https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/ cfdisretencion/descarga/pdf?uuid=7e00413dcf1b605e189b9a91972
Ejemplo respuesta (código 200) El PDF

Content-Type=application/pdf

Content-Disposition=attachment;
lename="D095EF45-0465-4BBD-8F74-DE9576B909CA.pdf"
Generación de retenciones
URL /<keyEmpresa>/cfdisretencion
Parámetros requeridos El parámetro obligatorio es el keyEmpresa, el id del tipo de retención, id de la sucursal a la que pertenece el tipo de retención y finalmente el contenido del archivo fuente de acuerdo al layout configurado.
Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada

Generación exitosa
Devuelve el id del cfdi de retención que se ha emitido, el id de la sucursal en la que se emitió, el RFC del receptor, la razón social del receptor, la fecha de emisión, el estatus del documento, el uuid, el monto, la fecha de cancelacion(aunque en este caso de emisión, siempre se encontrará vacío este campo), la ligas de descarga para el XML y PDF juntos, para el XML (individual), PDF (individual) y finalmente la liga de cancelacion (con la que se podría cancelar el documento posteriormente)

Error
Este error tiene que ver con la generación del CFDI de retención y no con el error que podría ocurrir al consumir este servicio.
En este caso se devolverá el error que el motor de generación de la solución arroja.

Notas Para separar las líneas del contenido del archivo fuente se deberá utilizar /n
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not found - No existe la keyEmpresa
Ejemplo https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdisretencion?
data: {"idTipoCfdRetencion":"332c2994597401415717c9de2e21d207",
"idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a",
"archivoFuente":"RET00|1.0|12345|2015-09-02T00:00:00-06:00|03|DescRetenc|\nRET01|BADD110313HCMLNS09|\nRET02|Nacional|\nRET020|MURR750516812|Razón Social Nacional|BADD110313HCMLNS09|\nRET03|1|1|2015|\nRET04|3252.5|0.00|0.00|0.00|\nRET040|0.00|01|0.00|Pago definitivo|\nRET99|" }
Ejemplo respuesta (código 200)

[
"idCfdiRetencion": "1dccc6e57b1d443c3e1a1ffd5095f382",
"idSucursal": "6ac9a2c315480d5cc5534c7e58caee5a",
"rfcReceptor": "MURR750516812",
"razonSocial": "Razón Social Nacional",
"fecha": "2015-01-24T01:18:22",
"status": "CANCELADO",
"uuid": "2310EABB-5F39-4694-8FBD-1EA0842C8113",
"monto": "3252.500000",
"fechaCancelacion": "",
"pdfAndXmlDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga?uuid=2310EABB-5F39-4694-8FBD-1EA0842C8113&representacion=XML_PDF",
"pdfDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga/pdf?uuid=3bf7942709f6eb925d26dae62c63f8c287b8868661bc4a69ce1e3c2e10ff98bd6486140ef80ba7ac7867620b4fc94fed", "xmlDownload": "/985408d8-64ae-48e0-b46c-473b47176205/cfdisretencion/descarga/xml?uuid=3bf7942709f6eb925d26dae62c63f8c287b8868661bc4a69ce1e3c2e10ff98bd6486140ef80ba7ac7867620b4fc94fed"}]

 
Cancelación de retenciones
URL /<keyEmpresa>/cfdisretencion/cancelar
Parámetros requeridos keyEmpresa y los UUIDs de los documentos a cancelar
Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada Por cada CFDI de retención cancelado, se devuelve el uuid, el status (código de estatus), el http code y en la descripción el XML del acuse de cancelación
Notas Hasta 500 documentos a cancelar
Códigos respuesta/errores 200 - Ok
401 - Not found - No existe la keyEmpresa
403 - Alguno de los UUIDs proporcionados no se encontró o no pertenece a la empresa
Ejemplo

https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdisretencion/cancelar?
data para el motivo 01:

{
"motivo": "01",
"folioSustitucion": "B5E6897B-40A7-4DEA-ADD2-F417B32EE908",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909", "B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

data para el motivo 02,03 y 04:

{
"motivo": "02",
"uuid": [
"B5E6897B-40A7-4DEA-ADD2-F417B32EE909", "B5E6897B-40A7-4DEA-ADD2-F417B32EE909"
]
}

Ejemplo respuesta (código 200) [{
"uuid": "DAC5C869-3DC3-41A1-85F3-FE113E7046AF",
"status": 1201,
"httpCode": 200,
"description": " <Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Fecha="2021-12-15T23:28:06.4819808"RfcEmisor="B&amp;M011127BQ0" WorkProcessId="8e5a0254-babc-4b55-aaa1-9232dc739db0"xmlns="http://www.sat.gob.mx/esquemas/retencionpago/1"><Folios><UUID>0AA0A514-6997-4C1B-8A36-89BB0CB1B265</UUID><EstatusUUID>1201</EstatusUUID><Motivo>01</Motivo><FolioSustitucion>01E53227-38EC-458D-B1D4-08F2B533F98B</FolioSustitucion></Folios><Signature Id="SelloSAT" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><DigestValue>fMuB/Ee3grx4cDFX+GRpnX3ME0l9dLTLdbiYXundyMPS+GOZ1AR2XMtepTSZiD08NzAwF2nFFHWkZOIEU3a4Dw==</DigestValue></Reference></SignedInfo><SignatureValue>D4rC8c5ZK2eXtbJWQ2C6xOTeW3dkPIf6u2+i6DbX1FTXqPkVW1dcm4i+I9GEetpJOfS6pSxGBa152QBPimJBNg==</SignatureValue><KeyInfo><KeyName>30001000000400001215</KeyName><KeyValue><RSAKeyValue><Modulus>nbtVtkPquCMLdpgeClMrTmxzCjyjn8P9YrBlW9jXC/FcXozIYHvzctK1pRxRxLTKlChc9fjluht9ffDfGOWim/4AlTrCiG6om7ItkHbLGMQrABp8qGY+SPmq1xtZ7qbbgoTFCtzP3pN9Z4uSDhdnrF2655sdmDzHJYE9MirNLM4SIdSFsabA31CCAMaWpB4TO6ZmExLp+wUiUyeIFWswc5G5KvmS/lU5tbXLK7zBDDUVjN0K1r/0iaZIZzPMxQcgfgYBrfLGZ3916MkmF28iBk5l1sfNTKS9S445QHKc+6oTP4UDDnjN/K14YWX449BAMxKcelEpjZlBQs1a1eNVcQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>"
}]
Motivo de Cancelación
Clave Descripción
01 Comprobante emitido con errores con relación
02 Comprobante emitido con errores sin relación
03 No se llevó a cabo la operación
04 Operación nominativa relacionada en una factura global

Consultar los CFDIs cancelados por rango de fechas

La consulta por fecha y rango de fecha solo aplica para los comprobantes cancelados posteriores a la versión 3.64, todo lo que se canceló con una versión anterior no podrá ser consultada.

URL /<keyEmpresa>/cfdis/consultaCancelacion
Parámetros requeridos Al menos un  parámetro, en formato json.
Parámetros/filtros opcionales

uuid

fecha (yyyy-MM-dd)
fechaInicial (yyyy-MM-dd)
fechaFinal (yyyy-MM-dd)

estados

pageSize (min = 1, max = 500, default = 100)
pageNumber (min = 0, default = 0)

Método http POST
Descripción detallada

Regresa el UUID,

Estatus del CFDI.

Notas N/A
Códigos respuesta/errores

200 - Ok

204 - No content
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

Ejemplo

https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdis/consultaCancelacion{"uuid":["3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A"]}

Ejemplo respuesta (código 200) [{"uuid":"3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A ","status":"CANCELABLE_SIN_ACEPTACION"}]
Ejemplo respuesta (error)

[{"uuid":"52CE170D-20DB-45B7-84EF-F886537163B1","status":"NO_TRALIX"}]

Parámetros para la consulta de estados

VIGENTE
CANCELABLE_CON_ACEPTACION
CANCELABLE_SIN_ACEPTACION
NO_CANCELABLE
NO_ENCONTRADO
EN_PROCESO
CANCELADO_PLAZO_VENCIDO
CANCELADO_CON_ACEPTACIÓN
CANCELADO_SIN_ACEPTACIÓN
SOLICITUD_RECHAZADA

 

Nota* para poder utilizar los estados estos deben de ir acompañados de fecha o o fechaInicial y fechaFinal

Consultar los CFDIs cancelados indicando las fechas
URL /<keyEmpresa>/cfdis/consultaCancelacionFecha
Parámetros requeridos Al menos un  parámetro, en formato json.
Parámetros/filtros opcionales

uuid

fecha (yyyy-MM-dd)
fechaInicial (yyyy-MM-dd)
fechaFinal (yyyy-MM-dd)

estados

pageSize (min = 1, max = 500, default = 100)
pageNumber (min = 0, default = 0)

Método http POST
Descripción detallada

Regresa el UUID,

Estatus del CFDI.

Fecha de cancelación.

Notas N/A
Códigos respuesta/errores

200 - Ok

204 - No content
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

Ejemplo

https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdis/consultaCancelacion{"uuid":["3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A"]}

 

https://localhost:9050/6df9515e-6c7d-46fc-a2a8-86080ce9ba2f/cfdis/consultaCancelacionFecha{"fecha":"2019-10-01","estados":["CANCELADO_SIN_ACEPTACION"]}

Ejemplo respuesta (código 200) [{"uuid":"3BC513EC-FD2A-4B66-AAB2-4C46BC976C7A ","status":"CANCELABLE_SIN_ACEPTACION","fecha":"2020-01-20"}]
Ejemplo respuesta (error)

[{"uuid":"52CE170D-20DB-45B7-84EF-F886537163B1","status":"NO_TRALIX", "fecha": "la fecha de hoy"}]

Parámetros para la consulta de estados

VIGENTE

CANCELABLE_CON_ACEPTACION

CANCELABLE_SIN_ACEPTACION

NO_CANCELABLE

NO_ENCONTRADO

EN_PROCESO

CANCELADO_PLAZO_VENCIDO

CANCELADO_CON_ACEPTACIÓN

CANCELADO_SIN_ACEPTACIÓN

SOLICITUD_RECHAZADA

 

Nota* para poder utilizar los estados estos deben de ir acompañados de fecha o o fechaInicial y fechaFinal.

Consultar los CFDI enviados

La consulta solo aplica para el servicio de Email Rastreable

URL /<keyEmpresa>/emailRastreable/report
Parámetros requeridos Al menos un  parámetro, en formato json.
Parámetros/filtros opcionales

fechaInicial (yyyy-MM-dd)
fechaFinal (yyyy-MM-dd)

tiposCfdi

tipoReporte (OPEN, SEND)

page

Método http POST
Descripción detallada

Regresa el UUID,

Estatus del CFDI.

Notas N/A
Códigos respuesta/errores

200 - Ok

204 - No content
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa

Ejemplo

 {
"fechaInicial" : "2020-01-01",
"fechaFinal" : "2020-11-19",
"tiposCfdi" : ["cfdi33", "nomina"],
"tipoReporte" : "OPEN",
"page": 1
}

Ejemplo respuesta {
"page": 1,
"lastPage": true,
"reports": [
{
"uuid": "BCB0B52D-9A13-52AC-B432-DDDD29FF15EE",
"serie": "",
"folio": "",
"rfcReceptor": "",
"razonSocial": "",
"monto": "",
"fechaEmision": "",
"tipoCfdi": "baseJhoanProd",
"email": "jose.martinez@tralix.com",
"fecha": "2020-10-23 22:15:52",
"estatus": "OPEN"
}
}
Parámetros para la consulta de estados

fechaInicial: campo tipo fecha con formato es yyyy-MM-dd
fechaFinal: campo tipo fecha con formato es yyyy-MM-dd
tiposCfdi: campo tipo Array
tipoReporte: Campo tipo String, valores posibles "OPEN y "SEND"
page: Campo numérico

 

Nota:

page: indica el número de página
lastPage: indica si es la última página

API XML

Generación de CFDI
URL /<keyEmpresa>/cfdisXml
Parámetros requeridos idTipoCfd (Encriptado)
idSucursal (Encriptado)
nombre (nombre del archivo fuente opcional)
archivoFuente (El parámetro es el texto contenido del archivo fuente) de acuerdo al conector/adaptador configurado
Parámetros/filtros opcionales N/A
Método http PUT
Descripción detallada Regresa: idSucursal (Encriptado), rfc (del receptor), razonSocial (del receptor), fecha (YYYY-MM-DD hh:mm:ss.s) , folio, status, UUID, monto (BigDecimal), idCfd (Encriptado), serie, subtotal (BigDecimal), descuento (BigDecimal), tipoMoneda, tipoCambio (BigDecimal), iva (BigDecimal), fechaCancelacion (YYYY-MM-DD hh:mm:ss.s), tienePDF (Boleano), pedimento, fechaPedimento (pueden venir vairias fechas ), aduana, pdfAndXmlDownload (link para descargar XML y pdf), pdfDownload (link para descargar el pdf), xmlDownload (link para descargar el xml), cancellCfdi (link para cancelar el cfdi) en formato json del CFDI generado.
Notas De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
ES IMPORTANTE MENCIONAR que el contenido del documento a emitir se colocar en el Request Payload en estructura JSON
En los headers se debe poner: "Content-Type: application/json"
Se debe incluir el salto de línea entre registros utilizando “\n” Ejemplo: |00|idcfd|FAC|\n
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdisXml
{"idTipoCfd":"d18bb0158356449c31e72cb69e642b31","idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","nombre":"prueba.txt","archivoFuente":"|00|idcfd|FAC|\n01|1|||20140630T00:00:00|99.09|9999.09|||9999.009||Noventa y nueve billones novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve 90\/10000000|USD|12.5014|REFERENCIA XXXAAAXXX|Primera Observación|Segunda Observación|Tercera Observación|\n02|PAGO EN UNA SOLA EXHIBICIÓN|10% DE INTERÉS SI NO SE PAGA ANTES DEL 05-AGOSTO-2010|CHEQUE|2010-08-05|EFECTOS FISCALES AL PAGO|\n03|01|AAA010101AAA|PATITO, S.A. DE C.V.|MÉXICO|AVENIDA CALLE |S\/N|INT. 1|COL. COLONIA|MÉXICO|REFERENCIA FRENTE AL OXXO|CUAJIMALPA|ESTADO DE MÉXICO|06860|4424876399|\n05|405010|802011|3|BOMBA MOLOTOV|150.00|450.00|PZA|Categoría 5e|205010|\n05|405011|802012|1|DISFRAZ DE CORRECAMINOS|2368231872779.000009|884346835174.000009|PZA|Categoría 5e|205011|\n05|405012|802013|10|COMIDA DE CORRECAMINOS|39.00|390.00|KG|Categoría 5e|205010|\n05|405013|802014|1|LIGA DE HULE GIGANTE|378.00|378.00|PZA|Categoría 5e|205011|\n06|IVA|16.00|9.09|\n07|IVA|58.58|\n06|IVA|16.00|999999.09|\n07|IVA|58.58|\n08|405010|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|548984124578124||\n08|405011|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|654651456987452||\n99|15||"}
Ejemplo respuesta (código 200) "uuid": "3D5DAEF4-FE52-44A5-9C82-84B6B293EC7E",
"fecha": "2020-05-23 17:09:00.0",
"serie": "D01",
"folio": "1000",
"rfc": "OIAD8404189S3",
"iva": "134.390000",
"monto": "974.390000",
"descuento": "0.000000",
"subtotal": "840.000000",
"tipoCambio": "1.0000",
"tipoMoneda": "MXN",
"idCfd": "60014b09e2d75d1ac1260b7c4e780c00",
"idSucursal": "0dd6aebbea85662fd2fe2f76ce4258b3",
"status": "ALMACENADO",
"produccion": true,
"xmlDownload": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd\" Serie=\"EB_10000004141_10_2007\" Folio=\"000D3A57CECB1EDDBEE710EEE3689633\" Fecha=\"2023-07-25T18:32:55\" Sello=\"d3RuTTfff++LwM91IZPE6d8DX/Ww54Px61kgMR+q8xq1wFS9QD4rck9e8XIRlwzFdwsRM2P++VcaJCc7EEylRG0BTi90WGjitpt6h21ehPCHI0h6yjp2elW//0iQBa4pkW8CqNXT9TOyYidB6i9tkfIGwRPxzEuL70ZuQh7O1DpHF+q/lpJLs0bdJUhyFvdLcH9cefGtUVIwTT632SGTbSHT7ZVE5SFjJDN20JriC+F/tR3UAVAIsMfk1BkYXIlnG1lWtYxNnMd0GbxCe/I4gBrdGueGLTbJAnrtWDPZi7RsQUjK1VA4Z2kFa7bmM5PirV4xohjoFFO79f9zMvYI+A==\" FormaPago=\"03\" NoCertificado=\"30001000000500003434\" Certificado=\"MIIFtjCCA56gAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MzQwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI0ODU3WhcNMjcwNTE4MTI0ODU3WjCB3TEpMCcGA1UEAxMgSU5OT1ZBQ0lPTiBWQUxPUiBZIERFU0FSUk9MTE8gU0ExKTAnBgNVBCkTIElOTk9WQUNJT04gVkFMT1IgWSBERVNBUlJPTExPIFNBMSkwJwYDVQQKEyBJTk5PVkFDSU9OIFZBTE9SIFkgREVTQVJST0xMTyBTQTElMCMGA1UELRMcSVZEOTIwODEwR1UyIC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqsMyIHgj/WC4HQ2kbANTwbjJQho3H4emTqZLLrGybmuGOWh7tUcPi6cG3tyzp5aryS9aVIUDdLyryL2E6WeRwF9ifhmG9FQD8PG/B9VVlj9/u7ob97jPMI1hHV9tE4zmHSQGVMQjdUWhyywPOf+Ia9gL0i2XRzK/A243dYfiFWaiG4VeLn5iSo669PS9PRKNpw725+57bLfPCYlq+JnCQD5pfDWnKiI+JCwBNS+q4xpv/eO9ife/9LpIGlobAd3OHB3Mw7Keij7GCSl98jp0gGxDU7GXnS851H9R6r4kADq49aR4kScCPukU5n865BZog2JUS1C5TT/IWgsgCu8I0wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAGeGwhK3QSs/tnvK/HXoPm7/R7SgVkhj/29wSjh8VtIYk3UMMyipOz/EwSFQN+QnNQ8BxNplEmgv8M8kDobbPlGaNiMEvqKLexZtUlpSolkkfiyvPMxWGn26bNmBGObshxHCAXlRyuRMpddunRNgOJ9mzgmkmuFY7fdGPcEUrkPgIkRX37a9HgQ5v+/IMYHvbwkjaK4vA45mDPxdRw8Mjr7MO2tMds9yz59ZargvO7TlF79XmfyfnsrkkSplVEXbae+uZ80YK+YHmkuwqBmXhcKa+YbiDZkIgM7l69NKKmK258jzEkmfnpbfekwH0Lc9CDv8wqA4mNNYFaeSJflR/jeiB0Rl50ZRyiaL8ncN15AA6lS9f7BeJfow/NNR4pv2Uk8C0Io6+PhSX8az5jhV6xrult2i/+7eoM0LRRvkg7Qyp/aDpha8DoHhtDIy/g3xU0n408PkWCJceoPk/IwWgN4QiunRddXeS2eNipJ3E2VbbOoxtH5xF2IsishbTWpxCYBg+w80WgewwODG18CTCldCo3g5QrgkfcvOHvtN+EL9XAJbS6iUAOyHumRgGh3TNMIEld8DUMM6nylVcv0DRi27BnJLhbr+pbXWh0a5eU4Uear0/TXsv9IR60fNrY/7juo+OsBV7q0vKxATR4CAbR2+2/eHczloUYEgpUyYiVK8=\" SubTotal=\"600.0\" Moneda=\"MXN\" Total=\"696.0\" TipoDeComprobante=\"I\" Exportacion=\"01\" MetodoPago=\"PUE\" LugarExpedicion=\"64040\"><cfdi:Emisor Rfc=\"IVD920810GU2\" Nombre=\"INNOVACION VALOR Y DESARROLLO\" RegimenFiscal=\"601\"/><cfdi:Receptor Rfc=\"XAXX010101000\" Nombre=\"Lee\" DomicilioFiscalReceptor=\"00040\" RegimenFiscalReceptor=\"616\" UsoCFDI=\"S01\"/><cfdi:Conceptos><cfdi:Concepto ClaveProdServ=\"84111506\" ObjetoImp=\"02\" Cantidad=\"1.0\" ClaveUnidad=\"E48\" Descripcion=\"Interest charged\" ValorUnitario=\"600.0\" Importe=\"600.0\"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base=\"600.0\" Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"96.0\"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados=\"96.0\"><cfdi:Traslados><cfdi:Traslado Base=\"600.0\" Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"96.0\"/></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" FechaTimbrado=\"2023-07-27T10:51:29\" UUID=\"F3DA4809-5C29-41E5-89D9-96F742BCAE89\" NoCertificadoSAT=\"20001000000300022323\" SelloCFD=\"d3RuTTfff++LwM91IZPE6d8DX/Ww54Px61kgMR+q8xq1wFS9QD4rck9e8XIRlwzFdwsRM2P++VcaJCc7EEylRG0BTi90WGjitpt6h21ehPCHI0h6yjp2elW//0iQBa4pkW8CqNXT9TOyYidB6i9tkfIGwRPxzEuL70ZuQh7O1DpHF+q/lpJLs0bdJUhyFvdLcH9cefGtUVIwTT632SGTbSHT7ZVE5SFjJDN20JriC+F/tR3UAVAIsMfk1BkYXIlnG1lWtYxNnMd0GbxCe/I4gBrdGueGLTbJAnrtWDPZi7RsQUjK1VA4Z2kFa7bmM5PirV4xohjoFFO79f9zMvYI+A==\" SelloSAT=\"RSUuVZTITk35WY+qvukHX3CPl/C99JaqRVHLDU4MBwWyiJQ3BRPw2ZaiYlACskrp48KR/rxdVoOHPbgEpRvDm3Oj6RneetfmpiY8a9oGd7k4QwvX2yfNps1FrLxdawhsVTn7yyLVcta91u5wi2QbyqfEWuREAUg64UKZuksYgW+TMK51pWm3+UWcmIWr8GFngeA6bl6b+KfLxrq0VxF5aJxpezyLCjWCEgKBKHBuwoxlsLkoAcocS8uFO9xa06ayDv3WKpELqQVvhhweD0EzHMNNFD3c8Qxb0sjzTDpokueaOHOU5R3Kml4AzpefHM39hNkYylpD+TyoNZEM9GgOYA==\" Version=\"1.1\" RfcProvCertif=\"TLE011122SC2\" Leyenda=\"PRUEBA_LEYENDA_PRUEBA_LEYENDA\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></cfdi:Complemento></cfdi:Comprobante>\n"
}
Ejemplo respuesta (código 400) 
{
"errors": [
"Error CFDI40108\nEl TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual al redondeo de la suma de los importes de los conceptos registrados.. :\n Código de error: CFDI40108"
]
}

API Asincrona

Generación de CFDI Async
URL /<keyEmpresa>/cfdisAsync
Parámetros requeridos idTipoCfd (Encriptado)
idSucursal (Encriptado)
archivoFuente (El parámetro es el texto contenido del archivo fuente) de acuerdo al conector/adaptador configurado
Parámetros/filtros opcionales N/A
Método http PUT
Notas De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
ES IMPORTANTE MENCIONAR que el contenido del documento a emitir se colocar en el Request Payload en estructura JSON
En los headers se debe poner: "Content-Type: application/json"
Se debe incluir el salto de línea entre registros utilizando “\n” Ejemplo: |00|idcfd|FAC|\n
Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo

https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdisAsync
{"idTipoCfd":"d18bb0158356449c31e72cb69e642b31","idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","archivoFuente":"|00|idcfd|

FAC|\n01|1|||20140630T00:00:00|99.09|9999.09|||9999.009||Noventa y nueve billones novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve 90\/10000000|USD|12.5014|REFERENCIA XXXAAAXXX|Primera Observación|Segunda Observación|Tercera Observación|\n02|PAGO EN UNA SOLA EXHIBICIÓN|10% DE INTERÉS SI NO SE PAGA ANTES DEL 05-AGOSTO-2010|CHEQUE|2010-08-05|EFECTOS FISCALES AL PAGO|\n03|01|AAA010101AAA|PATITO, S.A. DE C.V.|MÉXICO|AVENIDA CALLE |S\/N|INT. 1|COL. COLONIA|MÉXICO|REFERENCIA FRENTE AL OXXO|CUAJIMALPA|ESTADO DE MÉXICO|06860|4424876399|\n05|405010|802011|3|BOMBA MOLOTOV|150.00|450.00|PZA|Categoría 5e|205010|\n05|405011|802012|1|DISFRAZ DE CORRECAMINOS|2368231872779.000009|884346835174.000009|PZA|Categoría 5e|205011|\n05|405012|802013|10|COMIDA DE CORRECAMINOS|39.00|390.00|KG|Categoría 5e|205010|\n05|405013|802014|1|LIGA DE HULE GIGANTE|378.00|378.00|PZA|Categoría 5e|205011|\n06|IVA|16.00|9.09|\n07|IVA|58.58|\n06|IVA|16.00|999999.09|\n07|IVA|58.58|\n08|405010|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|548984124578124||\n08|405011|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|654651456987452||\n99|15||"}

Ejemplo respuesta (código 200) 
{
"idPeticion": "5503643c66ee9496d7223ad9f61e6609"
}
Nota
La información de este API solo esta vigente por 30 días.
Consulta de CFDI Async
URL /<keyEmpresa>/cfdis/{idPeticion}
Parámetros requeridos N/A
Método http GET
Notas De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
ES IMPORTANTE MENCIONAR que el contenido del documento a emitir se colocar en el Request Payload en estructura JSON
En los headers se debe poner: "Content-Type: application/json"
Se debe incluir el salto de línea entre registros utilizando “\n” Ejemplo: |00|idcfd|FAC|\n
Códigos respuesta/errores

200 - Ok

202 - Operación en proceso
400 - Bad Request - Documentos con errores de generación

404 - Documento no encontrado

Ejemplo https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdis/5503643c66ee9496d7223ad9f61e6609
Ejemplo respuesta (código 200) 
{
"uuid": "8B12F89B-12BF-4C3B-8AB0-4073EB2950D9",
"fecha": "2023-07-20 10:25:41.0",
"serie": "TWCP",
"folio": "12",
"rfc": "XAXX010101000",
"iva": "",
"monto": "0.000000",
"descuento": "0.000000",
"subtotal": "0.000000",
"tipoCambio": "1.0000",
"tipoMoneda": "MXN",
"idCfd": "7d360d82703c3de6d3d72347a1bfe2d0",
"idSucursal": "648cf7222d3968a23049d570252a1994",
"status": "ALMACENADO",
"produccion": true,
"fechaCancelacion": "",
"tienePDF": "true",
"pedimento": "",
"fechaPedimento": "",
"aduana": "",
"pdfAndXmlDownload": "/20c42654-8961-11ea-ab3d-fa163e0e7f24descargasCfdiAsync?idCfdi=7d360d82703c3de6d3d72347a1bfe2d0&produccion=true&representacion=XML_PDF",
"pdfDownload": "/20c42654-8961-11ea-ab3d-fa163e0e7f24/descargasCfdiAsync?idCfdi=7d360d82703c3de6d3d72347a1bfe2d0&produccion=true&representacion=PDF",
"xmlDownload": "/20c42654-8961-11ea-ab3d-fa163e0e7f24/descargasCfdiAsync?idCfdi=7d360d82703c3de6d3d72347a1bfe2d0&produccion=true&representacion=XML"
}
Ejemplo respuesta (código 202) 
Cuando esta en proceso de timbrado regresa el siguiente estatus:
{
"status": "EN_PROCESO"
}
Cuando ya se genero el CFDI pero está esperando a que se genere el PDF regresa el siguiente estatus:
{
"status": "EN_PROCESO",
"uuid": "8B12F89B-12BF-4C3B-8AB0-4073EB2950D9"
}
Ejemplo respuesta (código 400) 
{
"errors": [
"Error CFDI40108\nEl TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual al redondeo de la suma de los importes de los conceptos registrados.. :\n Código de error: CFDI40108"
]
}
Ejemplo respuesta (código 404) 
{
"status": "DOCUMENTO_NO_ENCONTRADO"
}
Descarga del CFDI Async

URL

/<keyEmpresa>/descargasCfdiAsync
Parámetros requeridos

Al menos debe estar aplicado uno de los parámetros disponibles

Parámetros/filtros opcionales uuid
representacion: este puede ser XML o PDF o XML_PDF
Método http GET
Códigos respuesta/errores

200 - Ok

204 - No Content - No existen CFDI
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa | No hay CFDIs para descargar

Ejemplo

Ejemplo #1
https://10.0.0.183:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdiAsync?representacion=XML

Ejemplo #2
https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/descargasCfdiAsync?uuid=9d8b7b0f-2aa6-47d7-8b45-d3abf26f57d1

Ejemplo respuesta (código 200) Ejemplo #1
Se descarga el archivo de tipo XML 
Ejemplo #2
(Se descarga un documento de tipo ZIP, el cual contiene los archivos XML y PDF del CFDI correspondiente al UUID indicando en la URL)

 

Manual de API Empresa Drivers

Introducción

El Consorcio World Wide Web (W3C) es una comunidad internacional donde las organizaciones Miembro desarrollan estándares Webs, y han definido los Web Services como sistemas de software creados para soportar una interacción interoperable equipo a equipo sobre una red.
Los Web Services suelen ser APIs Web que pueden ser accedidos dentro de una red (principalmente Internet) y son ejecutados en el sistema donde residen.
El estilo de arquitectura que hemos utilizado es el REST (Representational State Transfer), de tal manera que los servicios web deben cumplir con los siguientes principios:

  • Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la información necesaria para comprender la petición. Por lo que ni el cliente ni el servidor necesitan recordar ningún estado de las comunicaciones entre mensajes. Sin embargo, en la práctica, muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos para mantener el estado de la sesión (algunas de estas prácticas, como la reescritura de URLs, no son permitidas por REST).
  • Un conjunto de operaciones bien definidas que se aplican a todos los recursos de información: HTTP en sí define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD en bases de datos (ABMC: Alta, Baja, Modificación y Consulta) que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema.
  • Una sintaxis universal para identificar los recursos. En un sistema REST, cada recurso es direccionable únicamente a través de su URI.
  • El uso de hipermedios, tanto para la información de la aplicación como para las transiciones de estado de la aplicación: la representación de este estado en un sistema REST son típicamente HTML o XML. Como resultado de esto, es posible navegar de un recurso REST a muchos otros, simplemente siguiendo enlaces sin requerir el uso de registros u otra infraestructura adicional.

A continuación, se ilustran estos fundamentos.

Cliente/Servidor

Como servicios web, son cliente servidor y definen una interfaz de comunicación entre ellos, separando completamente las responsabilidades entre ambas partes.

 

 

Sin estado

Son servicios web que no mantienen estado asociado al cliente. Cada petición que se realiza a ellos es completamente independiente de la siguiente. Todas las llamadas al mismo servicio serán idénticas.

 

Caché

El contenido de los servicios web REST se puede cachear de tal forma que, una vez realizada la primera petición al servicio, el resto puedan apoyarse en el caché si fuera necesario.

 

Servicios Uniformes

Todos los servicios REST compartirán una forma de invocación y métodos uniforme utilizando los métodos GET, POST, PUT y DELETE.

 

Arquitectura en capas

Todos los servicios REST están orientados hacia la escalabilidad y un cliente REST no será capaz de distinguir entre si está realizando una petición directamente al servidor, o se lo está devolviendo un sistema de cachés intermedio; o, por ejemplo, existe un balanceador que se encarga de redirigirlo a otro servidor.

 

A continuación se indican los bloques de información que se consideran dentro de nuestra API.

Puerto asignado para los servicios: 9050

Alta de Empresas

URL /empresas
Parámetros

Empresa

rfc (Requerido)
nombre (Requerido)
regimenFiscal (Requerido)
email
lugarExp (Requerido)
clavesucursal (Requerido)

idDriver

Domicilio de la empresa

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido)

Sucursal

nombre (Requerido)
clavesucursal (Requerido)
lugarExp (Requerido)

Domicilio de la empresa

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido)

Certificado

csdCer (Requerido)
csdKey (Requerido)

csdPass (Requerido)

Tipos CFDI

nombre (Requerido)
tipo (Requerido)
adaptador
conector

Plantilla

plantilla (Requerido)

Logo

nombre (Requerido)
content (Requerido)

Método http

POST

Descripción detallada

 

Método para dar de alta una nueva empresa mediante el API de integración en formato json.

Header

keyServidor

Códigos respuesta/errores

200 - Ok
401 - keyServidor not found

Ejemplo

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",
"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",
"lugarExp": "76090",
"claveSucursal": "88888882",

"idDriver":"Driver-1235999",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
},
"sucursales": [
{

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",
"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",
"lugarExp": "76090",
"claveSucursal": "88888882",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
},
"sucursales": [
{
"nombre": "Sucursal 1",
"claveSucursal": "5656565",
"lugarExp": "76090",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
}
}
]
},
"certificado":{
"csdCer": " CSD.CER en base64",
"csdKey": "CSD.key en base64",
"csdPass": "contraseña base64"
},
"tipoCfd": [
{
"nombre": "Prueba Api",
"tipo": "I",
"adaptador": "b64",
"conector": "b64",
"plantilla": {
"plantilla": " Plantilla en base64",
"logo": [
{
"nombre": "nombreImagen",
"content": "Imagen del logotipo en base64" }
]
}
}
]
}

Ejemplo respuesta

(código 200)

{

  "rfc": "rfc",

  "lugarExpedicion": "lugarExpedicion",

  "correo": "correo",

  "razonSocial": "razonSocial",

  "regimenFiscal": "regimenFiscal",

  "keyEmpresa": "keyEmpresa",

  "dominio": "dominio",

  "sucursales":

  [

         {

              "idSucursal": "600076",

              "claveSucursal": "", "tipo": "MATRIZ"

           }

  ],

  "tipoCfd":

  [

            {

                 "idTipoCfd": "598255",

                 "nombre": "Factura"

             },

             {

                 "idTipoCfd": "598256",

                 "nombre": "Pagos"

               },

               {

                  "idTipoCfd": "598257",

                  "nombre": "CartaPorteDemo"

               }

  ]

}

Modificación Empresa

URL /empresas
Parámetros

Empresa

nombre
regimenFiscal
email

idDriver

Domicilio de la empresa

calle
noExt
noInt
colonia
localidad
municipio
estado
pais
cp

Certificado (Opcional)

csdCer (Requerido)
csdKey (Requerido)
csdPass (Requerido)

Método http PUT
Descripción detallada Método para modificar una nueva empresa mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - keyServidor not found
Ejemplo

https://localhost:9050/empresas
{
"empresa": {
"rfc": "DAL050601L35",

"nombre": "Empresa prueba S de RL de CV",
"regimenFiscal": "607",
"email": "correo@tralix.com",

"idDriver":"Driver-1235999",
"lugarExp": "76090",
"claveSucursal": "88888882",
"domicilio": {
"calle": "Centro Sur",
"noExt": "98",
"noInt": "201",
"colonia": "Colinas del Cimatario",
"localidad": "Querétaro",
"municipio": "Querétaro",
"estado": "Querétaro",
"pais": "México",
"cp": "76090"
}
}

Ejemplo respuesta (código 200)

{

  "rfc": "rfc",

  "lugarExpedicion": "lugarExpedicion",

  "correo": "correo",

  "razonSocial": "razonSocial",

  "regimenFiscal": "regimenFiscal",

  "keyEmpresa": "keyEmpresa",

  "dominio": "dominio",

  "sucursales":

  [

         {

              "idSucursal": "600076",

              "claveSucursal": "", "tipo": "MATRIZ"

           }

  ],

  "tipoCfd":

  [

            {

                 "idTipoCfd": "598255",

                 "nombre": "Factura"

             },

             {

                 "idTipoCfd": "598256",

                 "nombre": "Pagos"

               },

               {

                  "idTipoCfd": "598257",

                  "nombre": "CartaPorteDemo"

               }

  ]

}

Modificación de tipoCFDIS

URL /tiposCfds/< IdtipoCFD >
 

Tipos CFDI

nombre
tipo
adaptador
conector

Plantilla (Opcional)

plantilla (Requerido)

Logo

nombre (Requerido)
content (Requerido)

Método http PUT
Descripción detallada Método para eliminar empresas mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/tiposCfds/2bbab7f32f54a817fffbb3965ec0fb20
{
"nombre": "tipo cfd 1",
"tipo": "I",
"adaptador": "adaptadorb64",
"conector": "conectorb64",
"plantilla": {
"plantilla": "plantillab64",
"logo": [
{
"nombre": "nombreImagen",
"content": "b64"
}
]
}
}
Ejemplo respuesta (código 200) N/A

Alta de sucursales

URL /empresas/sucursales
Parámetros

Sucursal

nombre (Requerido)
clavesucursal (Requerido)
lugarExp (Requerido)

Domicilio de la sucursal

calle (Requerido)
noExt
noInt
colonia
localidad
municipio (Requerido)
estado (Requerido)
pais (Requerido)
cp (Requerido

Método http

POST

Descripción detallada Metodo para dar de alta nuevas sucursales mediante el API de integración en formato json.
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/empresas/sucursales
{
"nombre": "Nueva Sucursal",
"claveSucursal": "346554",
"lugarExp": "Mexico",
"domicilio": {
"calle": "empedrada",
"municipio": "atita",
"estado": "hidalgo",
"pais": "mexico",
"cp": "46555"
}
}
Ejemplo respuesta (Código 200) {"idSucursal":"518086312de4e2ee1fc0e9d195b9d355","claveSucursal":"346554","tipo":"SUCURSAL"}

Modificación de sucursales

URL /empresas/<Idsucursal>
Parámetros

Sucursal

nombre
lugarExp

Domicilio de la sucursal

calle
noExt
noInt
colonia
localidad
municipio
estado
pais
cp

Método http PUT
Descripción detallada Metodo para dar de alta nuevas sucursales mediante el API de integraión en formato json
Header keyEmpresa
Códigos respuesta/errores 200 - Ok
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/empresas/d7e860ee4a641b51ae422cc91d7868a4
{
"nombre": "Nueva Sucursal 12"
}
Ejemplo respuesta (código 200) N/A

 

API QR

Generación de CFDI
URL /<keyEmpresa>/cfdisXmlqr
Parámetros requeridos idTipoCfd (Encriptado)
idSucursal (Encriptado)
nombre (nombre del archivo fuente opcional)
archivoFuente (El parámetro es el texto contenido del archivo fuente) de acuerdo al conector/adaptador configurado
Parámetros/filtros opcionales N/A
Método http PUT
Descripción detallada Regresa: idSucursal (Encriptado), rfc (del receptor), razonSocial (del receptor), fecha (YYYY-MM-DD hh:mm:ss.s) , folio, status, UUID, monto (BigDecimal), idCfd (Encriptado), serie, subtotal (BigDecimal), descuento (BigDecimal), tipoMoneda, tipoCambio (BigDecimal), iva (BigDecimal), fechaCancelacion (YYYY-MM-DD hh:mm:ss.s), tienePDF (Boleano), pedimento, fechaPedimento (pueden venir vairias fechas ), aduana, pdfAndXmlDownload (link para descargar XML y pdf), pdfDownload (link para descargar el pdf), xmlDownload (link para descargar el xml), cancellCfdi (link para cancelar el cfdi) en formato json del CFDI generado.
Notas

De existir un problema en el proceso del CFDI se regresan los errores de generación que se tuvieron.
ES IMPORTANTE MENCIONAR que el contenido del documento a emitir se colocar en el Request Payload en estructura JSON
En los headers se debe poner: "Content-Type: application/json"
Se debe incluir el salto de línea entre registros utilizando “\n” Ejemplo: |00|idcfd|FAC|\n

Cuando el CFDI no lleve el complemento de CP v3.1 el atributo qrcodeCp va vacío 

Códigos respuesta/errores 200 - Ok
400 - Bad Request - Parámetros incorrectos
401 - Not Found - No existe la keyEmpresa
Ejemplo https://localhost:9050/985408d8-64ae-48e0-b46c-473b47176205/cfdisXmlqr
{"idTipoCfd":"d18bb0158356449c31e72cb69e642b31","idSucursal":"6ac9a2c315480d5cc5534c7e58caee5a","nombre":"prueba.txt","archivoFuente":"|00|idcfd|FAC|\n01|1|||20140630T00:00:00|99.09|9999.09|||9999.009||Noventa y nueve billones novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve 90\/10000000|USD|12.5014|REFERENCIA XXXAAAXXX|Primera Observación|Segunda Observación|Tercera Observación|\n02|PAGO EN UNA SOLA EXHIBICIÓN|10% DE INTERÉS SI NO SE PAGA ANTES DEL 05-AGOSTO-2010|CHEQUE|2010-08-05|EFECTOS FISCALES AL PAGO|\n03|01|AAA010101AAA|PATITO, S.A. DE C.V.|MÉXICO|AVENIDA CALLE |S\/N|INT. 1|COL. COLONIA|MÉXICO|REFERENCIA FRENTE AL OXXO|CUAJIMALPA|ESTADO DE MÉXICO|06860|4424876399|\n05|405010|802011|3|BOMBA MOLOTOV|150.00|450.00|PZA|Categoría 5e|205010|\n05|405011|802012|1|DISFRAZ DE CORRECAMINOS|2368231872779.000009|884346835174.000009|PZA|Categoría 5e|205011|\n05|405012|802013|10|COMIDA DE CORRECAMINOS|39.00|390.00|KG|Categoría 5e|205010|\n05|405013|802014|1|LIGA DE HULE GIGANTE|378.00|378.00|PZA|Categoría 5e|205011|\n06|IVA|16.00|9.09|\n07|IVA|58.58|\n06|IVA|16.00|999999.09|\n07|IVA|58.58|\n08|405010|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|548984124578124||\n08|405011|APTO INTL DE CIUDAD DE MEXICO|2010-06-29|654651456987452||\n99|15||"}
Ejemplo respuesta (código 200)

"uuid": "3D5DAEF4-FE52-44A5-9C82-84B6B293EC7E",
"fecha": "2020-05-23 17:09:00.0",
"serie": "D01",
"folio": "1000",
"rfc": "OIAD8404189S3",
"iva": "134.390000",
"monto": "974.390000",
"descuento": "0.000000",
"subtotal": "840.000000",
"tipoCambio": "1.0000",
"tipoMoneda": "MXN",
"idCfd": "60014b09e2d75d1ac1260b7c4e780c00",
"idSucursal": "0dd6aebbea85662fd2fe2f76ce4258b3",
"status": "ALMACENADO",
"produccion": true,
"xmlDownload": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd\" Serie=\"EB_10000004141_10_2007\" Folio=\"000D3A57CECB1EDDBEE710EEE3689633\" Fecha=\"2023-07-25T18:32:55\" Sello=\"d3RuTTfff++LwM91IZPE6d8DX/Ww54Px61kgMR+q8xq1wFS9QD4rck9e8XIRlwzFdwsRM2P++VcaJCc7EEylRG0BTi90WGjitpt6h21ehPCHI0h6yjp2elW//0iQBa4pkW8CqNXT9TOyYidB6i9tkfIGwRPxzEuL70ZuQh7O1DpHF+q/lpJLs0bdJUhyFvdLcH9cefGtUVIwTT632SGTbSHT7ZVE5SFjJDN20JriC+F/tR3UAVAIsMfk1BkYXIlnG1lWtYxNnMd0GbxCe/I4gBrdGueGLTbJAnrtWDPZi7RsQUjK1VA4Z2kFa7bmM5PirV4xohjoFFO79f9zMvYI+A==\" FormaPago=\"03\" NoCertificado=\"30001000000500003434\" Certificado=\"MIIFtjCCA56gAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MzQwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI0ODU3WhcNMjcwNTE4MTI0ODU3WjCB3TEpMCcGA1UEAxMgSU5OT1ZBQ0lPTiBWQUxPUiBZIERFU0FSUk9MTE8gU0ExKTAnBgNVBCkTIElOTk9WQUNJT04gVkFMT1IgWSBERVNBUlJPTExPIFNBMSkwJwYDVQQKEyBJTk5PVkFDSU9OIFZBTE9SIFkgREVTQVJST0xMTyBTQTElMCMGA1UELRMcSVZEOTIwODEwR1UyIC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqsMyIHgj/WC4HQ2kbANTwbjJQho3H4emTqZLLrGybmuGOWh7tUcPi6cG3tyzp5aryS9aVIUDdLyryL2E6WeRwF9ifhmG9FQD8PG/B9VVlj9/u7ob97jPMI1hHV9tE4zmHSQGVMQjdUWhyywPOf+Ia9gL0i2XRzK/A243dYfiFWaiG4VeLn5iSo669PS9PRKNpw725+57bLfPCYlq+JnCQD5pfDWnKiI+JCwBNS+q4xpv/eO9ife/9LpIGlobAd3OHB3Mw7Keij7GCSl98jp0gGxDU7GXnS851H9R6r4kADq49aR4kScCPukU5n865BZog2JUS1C5TT/IWgsgCu8I0wIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAGeGwhK3QSs/tnvK/HXoPm7/R7SgVkhj/29wSjh8VtIYk3UMMyipOz/EwSFQN+QnNQ8BxNplEmgv8M8kDobbPlGaNiMEvqKLexZtUlpSolkkfiyvPMxWGn26bNmBGObshxHCAXlRyuRMpddunRNgOJ9mzgmkmuFY7fdGPcEUrkPgIkRX37a9HgQ5v+/IMYHvbwkjaK4vA45mDPxdRw8Mjr7MO2tMds9yz59ZargvO7TlF79XmfyfnsrkkSplVEXbae+uZ80YK+YHmkuwqBmXhcKa+YbiDZkIgM7l69NKKmK258jzEkmfnpbfekwH0Lc9CDv8wqA4mNNYFaeSJflR/jeiB0Rl50ZRyiaL8ncN15AA6lS9f7BeJfow/NNR4pv2Uk8C0Io6+PhSX8az5jhV6xrult2i/+7eoM0LRRvkg7Qyp/aDpha8DoHhtDIy/g3xU0n408PkWCJceoPk/IwWgN4QiunRddXeS2eNipJ3E2VbbOoxtH5xF2IsishbTWpxCYBg+w80WgewwODG18CTCldCo3g5QrgkfcvOHvtN+EL9XAJbS6iUAOyHumRgGh3TNMIEld8DUMM6nylVcv0DRi27BnJLhbr+pbXWh0a5eU4Uear0/TXsv9IR60fNrY/7juo+OsBV7q0vKxATR4CAbR2+2/eHczloUYEgpUyYiVK8=\" SubTotal=\"600.0\" Moneda=\"MXN\" Total=\"696.0\" TipoDeComprobante=\"I\" Exportacion=\"01\" MetodoPago=\"PUE\" LugarExpedicion=\"64040\"><cfdi:Emisor Rfc=\"IVD920810GU2\" Nombre=\"INNOVACION VALOR Y DESARROLLO\" RegimenFiscal=\"601\"/><cfdi:Receptor Rfc=\"XAXX010101000\" Nombre=\"Lee\" DomicilioFiscalReceptor=\"00040\" RegimenFiscalReceptor=\"616\" UsoCFDI=\"S01\"/><cfdi:Conceptos><cfdi:Concepto ClaveProdServ=\"84111506\" ObjetoImp=\"02\" Cantidad=\"1.0\" ClaveUnidad=\"E48\" Descripcion=\"Interest charged\" ValorUnitario=\"600.0\" Importe=\"600.0\"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base=\"600.0\" Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"96.0\"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados=\"96.0\"><cfdi:Traslados><cfdi:Traslado Base=\"600.0\" Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"96.0\"/></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" FechaTimbrado=\"2023-07-27T10:51:29\" UUID=\"F3DA4809-5C29-41E5-89D9-96F742BCAE89\" NoCertificadoSAT=\"20001000000300022323\" SelloCFD=\"d3RuTTfff++LwM91IZPE6d8DX/Ww54Px61kgMR+q8xq1wFS9QD4rck9e8XIRlwzFdwsRM2P++VcaJCc7EEylRG0BTi90WGjitpt6h21ehPCHI0h6yjp2elW//0iQBa4pkW8CqNXT9TOyYidB6i9tkfIGwRPxzEuL70ZuQh7O1DpHF+q/lpJLs0bdJUhyFvdLcH9cefGtUVIwTT632SGTbSHT7ZVE5SFjJDN20JriC+F/tR3UAVAIsMfk1BkYXIlnG1lWtYxNnMd0GbxCe/I4gBrdGueGLTbJAnrtWDPZi7RsQUjK1VA4Z2kFa7bmM5PirV4xohjoFFO79f9zMvYI+A==\" SelloSAT=\"RSUuVZTITk35WY+qvukHX3CPl/C99JaqRVHLDU4MBwWyiJQ3BRPw2ZaiYlACskrp48KR/rxdVoOHPbgEpRvDm3Oj6RneetfmpiY8a9oGd7k4QwvX2yfNps1FrLxdawhsVTn7yyLVcta91u5wi2QbyqfEWuREAUg64UKZuksYgW+TMK51pWm3+UWcmIWr8GFngeA6bl6b+KfLxrq0VxF5aJxpezyLCjWCEgKBKHBuwoxlsLkoAcocS8uFO9xa06ayDv3WKpELqQVvhhweD0EzHMNNFD3c8Qxb0sjzTDpokueaOHOU5R3Kml4AzpefHM39hNkYylpD+TyoNZEM9GgOYA==\" Version=\"1.1\" RfcProvCertif=\"TLE011122SC2\" Leyenda=\"PRUEBA_LEYENDA_PRUEBA_LEYENDA\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></cfdi:Complemento></cfdi:Comprobante>\n",

"qrcode":"Base64",

"qrcodeCp”:"Base64",

 }

Ejemplo respuesta (código 400) 
{
"errors": [
"Error CFDI40108\nEl TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual al redondeo de la suma de los importes de los conceptos registrados.. :\n Código de error: CFDI40108"
]
}