Autofacturación API

Componente que nos proporciona los endpoints necesarios para acceder, guardar, actualizar y expirar tickets. 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.

Facturas

Información Técnica

Endpoints


Puerto asignado para los servicios: 8572

Guardar ticket
URL

/<keyEmpresa>/tickets

Parámetros requeridos

fecha

insumo

monto

numeroTicket

sucursal

Parámetros/filtros opcionales N/A
Método http PUT
Headers 'authorization: Basic dGVwb3g6dGVwb3g=' (Usuario:Password en base64)
Descripción detallada Método para guardar el ticket en el portal de Autofacturación.
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://10.0.0.183:8572/985408d8-64ae-48e0-b46c-473b47176205/tickets

{"fecha": "2019-01-25T11:09:46","insumo": "00|CFD33BASE|QA|3.3|\n01|..",\n "monto": 12.36,\n "numeroTicket": "12A31","sucursal": "dsfhjkajsldf45646412"}

Ejemplo respuesta (código 200)

se guardo correctamente

 


Consulta CFDIS en queue
URL

/<keyEmpresa>/cfdis

Parámetros requeridos

N/A

Parámetros/filtros opcionales N/A
Método http GET
Descripción detallada Consulta los ticket que se encuentra en la queue
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://10.0.0.183:8572/985408d8-64ae-48e0-b46c-473b47176205/cfdis

Ejemplo respuesta (código 200)

{
"cfdis": [
{
"idSucursal": "62bad600d3acc04aaec64d0712ea02c4",
"rfc": "SIMD6406302E8",
"razonSocial": "Empresa Pruebas",
"fecha": "2019-01-31 12:31:40.0",
"folio": "",
"status": "ALMACENADO",
"uuid": "AFB80450-2813-4046-9B1F-9B6647DD545F",
"monto": "453.000000",
"idCfd": "589132f6c75db59044ec7a3b49e426bf",
"serie": "",
"subtotal": "453.000000",
"descuento": "0.000000",
"tipoMoneda": "MXN",
"tipoCambio": "1.0000",
"iva": "72.480000",
"fechaCancelacion": "",
"tienePDF": "true",
"pedimento": "",
"fechaPedimento": "",
"aduana": "",
"pdfAndXmlDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=XML_PDF",
"pdfDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=PDF",
"xmlDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=XML",
"cancellCfdi": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/cfdis/cancelar/AFB80450-2813-4046-9B1F-9B6647DD545F",
"produccion": "true",
"noTicket": "12k29"
}
]
}

Cuando ya no existe cfdis en queue:

{
"mensaje": "No hay cfdis generados"
}

Nota

Una vez que se consulte la información se eliminara de la Queue.

 


Consulta CFDI en BD
URL

/<keyEmpresa>/cfdi

Parámetros requeridos

ticket

Parámetros/filtros opcionales sucursal (Cifrada)
Método http GET
Descripción detallada Consulta los ticket que se encuentran en la base de datos.
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://10.0.0.183:8572/985408d8-64ae-48e0-b46c-473b47176205/cfdi?ticket=32k27&sucursal=dsfhjkajsldf45646412

Ejemplo respuesta (código 200)

Cuando se encuentra generado regresa:
ver response de CFDIS queue, regresa un elemento de la lista.
en otro caso:
{
"mensaje": "Ticket numero: 12k30, sucursal: dsfhjkajsldf45646412, aun no genera cfdi"
}

 


Ticket expirado
URL

/<keyEmpresa>/expired

Parámetros requeridos

noTicket

sucursal

Parámetros/filtros opcionales N/A
Método http POST
Descripción detallada Cambia estatus del ticket a EXPIRADO en BD
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://10.0.0.183:8572/985408d8-64ae-48e0-b46c-473b47176205/expired

{"noTicket":"12A30","sucursal":"dsfhjkajsldf45646412"}

Ejemplo respuesta (código 200)

cuando se expira correctamente:
{
"mensaje": "Se expiro no_ticket: 12A30 sucursal : dsfhjkajsldf45646412"
}
en otro caso:

{
"mensaje": "Ticket numero: 12As30, sucursal: dsfhjkajsldf45646412, no existe"
}

 

332871 Técnica

Endpoints


Guardar ticket

Guarda ticket en base de datos.
Ruta http://[IP]:[Puerto]/keyEmpresa/tickets

Ejemplo:

Request:

curl --request PUT \
--url http://localhost:8572/b391655ac2242d85ddd36d37b482259b1b7dfc1c/tickets
--header 'authorization: Basic dGVwb3g6dGVwb3g=' \
--header 'content-type: application/json' \
--data '{\n "fecha": "2019-01-25T11:09:46",\n "insumo": "00|CFD33BASE|QA|3.3|\n01|..",\n "monto": 12.36,\n "numeroTicket": "12A31",\n "sucursal": "dsfhjkajsldf45646412"\n}'

Response:

{
"mensaje": "se guardo correctamente"
}


Cfdis Queue


Regresa Cfdis gnerados en Rabbitmq.
Ruta http://[IP]:[Puerto]/keyEmpresa/cfdis

Ejemplo:

Resquest:

curl --request GET \
--url http://localhost:8572/b391655ac2242d85ddd36d37b482259b1b7dfc1c/cfdis \
--header 'authorization: Basic dGVwb3g6dGVwb3g=' \

Response:

{
"cfdis": [
{
"idSucursal": "62bad600d3acc04aaec64d0712ea02c4",
"rfc": "SIMD6406302E8",
"razonSocial": "Empresa Pruebas",
"fecha": "2019-01-31 12:31:40.0",
"folio": "",
"status": "ALMACENADO",
"uuid": "AFB80450-2813-4046-9B1F-9B6647DD545F",
"monto": "453.000000",
"idCfd": "589132f6c75db59044ec7a3b49e426bf",
"serie": "",
"subtotal": "453.000000",
"descuento": "0.000000",
"tipoMoneda": "MXN",
"tipoCambio": "1.0000",
"iva": "72.480000",
"fechaCancelacion": "",
"tienePDF": "true",
"pedimento": "",
"fechaPedimento": "",
"aduana": "",
"pdfAndXmlDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=XML_PDF",
"pdfDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=PDF",
"xmlDownload": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/descargasCfdi?idCfdi=589132f6c75db59044ec7a3b49e426bf&produccion=true&representacion=XML",
"cancellCfdi": "http://localhost:9050/b391655ac2242d85ddd36d37b482259b1b7dfc1c/cfdis/cancelar/AFB80450-2813-4046-9B1F-9B6647DD545F",
"produccion": "true",
"noTicket": "12k29"
}
]
}

Cuando ya no existe cfdis en queue:

{
"mensaje": "No hay cfdis generados"
}


Cfdi BD


Regresa Cfdi generado, de BD
Ruta http://[IP]:[Puerto]/keyEmpresa/cfdi?ticket=32k27&sucursal=dsfhjkajsldf45646412

Ejemplo:

Resquest:

curl --request GET \
--url 'http://localhost:8572/b391655ac2242d85ddd36d37b482259b1b7dfc1c/cfdi?ticket=32k27&sucursal=dsfhjkajsldf45646412' \
--header 'authorization: Basic dGVwb3g6dGVwb3g=' \

Response:
cuando se enuentra generado regresa:
ver response de cfdis queue, regresa un elemento de la lista.
en otro caso:
{
"mensaje": "Ticket numero: 12k30, sucursal: dsfhjkajsldf45646412, aun no genera cfdi"
}


Cfdi Expirado

Cambia estatus del ticket a EXPIRADO en BD
Ruta http://[IP]:[Puerto]/keyEmpresa/expired

Ejemplo:

Resquest:

curl --request POST \
--url http://localhost:8572/b391655ac2242d85ddd36d37b482259b1b7dfc1c/expired \
--header 'authorization: Basic dGVwb3g6dGVwb3g=' \
--header 'content-type: application/json' \
--data '{\n"noTicket":"12A30",\n"sucursal":"dsfhjkajsldf45646412"\n}'

Response:

cuando se expira correctamente:
{
"mensaje": "Se expiro no_ticket: 12A30 sucursal : dsfhjkajsldf45646412"
}
en otro caso:

{
"mensaje": "Ticket numero: 12As30, sucursal: dsfhjkajsldf45646412, no existe"
}