PAC
Documentación PAC
Legales
.
Queda estrictamente prohibida la reproducción total o parcial de este documento, por cualquier medio y para cualquier fin, sin la autorización previa y por escrito de Tralix México, S. de R.L. de C.V.
Este documento y su contenido pueden incluir, entre otros, marcas registradas, nombres comerciales, logotipos, avisos comerciales, diseños industriales y demás elementos protegidos por las leyes de propiedad industrial e intelectual. Todos estos signos distintivos son propiedad exclusiva de Tralix México, S. de R.L. de C.V., y están legalmente protegidos.
El acceso, posesión o consulta de este documento no otorga, en ningún caso, licencia ni derecho alguno para usar, reproducir, distribuir, modificar o explotar, total o parcialmente, los elementos distintivos de Tralix México. Cualquier uso no autorizado constituirá una infracción a la normativa aplicable y podrá dar lugar al ejercicio de acciones legales.
Tralix México se reserva el derecho de modificar, sin previo aviso, las especificaciones, características o alcances de sus productos y servicios.
Copyright © 2025 Tralix México, S. de R.L. de C.V. Todos los derechos reservados.
Timbrado PAC
Servicio de Timbrado
1.- Introducción
Como parte de los servicios de Tralix como Proveedor Autorizado de Certificación (PAC) para poder obtener un timbre fiscal digital y tener un CFDI completamente válido, el presente documento describe el mecanismo de invocación del servicio web de timbrado así como los posibles errores que se pudieran presentar al momento de la validación y la forma de manejarlos.
1.1.- A quien va dirigido
El presente documento está dirigido a desarrolladores que requiera consumir el servicio de timbrado de Tralix y supone que el lector cuenta con conocimientos y entendimiento de XML, SOAP, HTTP Headers y WSDL, por lo que cualquier explicación sobre los mismos esta fuera del alcance del presente documento.
2.- Ubicaciones del servicio
2.1.- WSDL
El contrato del servicio puede ser descargado de la siguiente URL:
CFDI v4.0
https://pac.tralix.com/TimbradoCFD4_0.wsdl
2.2.- Ambiente de pre-producción.
Para poder empezar a trabajar con los servicios de timbrado, es necesario que primero se realicen pruebas en el ambiente de pre-producción:
https://pruebastfd.tralix.com:7070
En este ambiente usted puede enviar comprobantes firmados con los certificados de prueba del SAT publicados en la siguiente dirección:
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/certificado_sello_digital.htm
Y también puede enviar comprobantes firmados su certificado real si así lo desea.
2.3.- Ambiente de Producción
La dirección del ambiente de producción se te será proporcionada una vez terminadas las pruebas.
3.- Namespaces Namespace
Namespace | URL |
soap | http://schemas.xmlsoap.org/wsdl/soap/ |
soapenc | http://schemas.xmlsoap.org/soap/encoding/ |
wsdl | http://schemas.xmlsoap.org/wsdl/ |
xsd | http://www.w3.org/2001/XMLSchema |
xsi | http://www.w3.org/2001/XMLSchema-instance |
cfdi | http://www.sat.gob.mx/cfd/3 |
tfd | http://www.sat.gob.mx/TimbreFiscalDigital |
4.- Codificación de Caracteres
La codificación de todos los campos deberá der estar en UTF-8.
Por lo que se deberá de limitar la información y los caracteres disponibles de este tipo de codificación.
5.- Estructura de la petición
La petición que se manda al timbrador es el comprobante fiscal digital que se desea timbrar, el cual está especificado dentro del WSDL del servicio y se debe mandar dentro del elemento Body.
Ejemplo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.sat.gob.mx/cfd/3">
<soapenv:Header/>
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
5.1.- Consideraciones en la Definición del WSDL del Servicio
El WSDL del servicio de timbrado definido por el SAT solo permite mandar CFDI a timbrar con los siguientes complementos.
-
- Complemento para las Facturas Electrónicas emitidas por medio de un Proveedor Autorizado de Comprobantes Fiscales Digitales (PACFD).
- Complemento para el Estado de Cuenta de Combustibles para Monederos Electrónicos Autorizados por el SAT.
- Datos Requeridos para la Emisión de Facturas Electrónicas por Donativos “Donatarias”.
- Complemento para Facturas Electrónicas que amparen la compra - venta de “Divisas”.
- Complemento para la Emisión de Estados de Cuenta Bancario “ECB”.
- Complemento para Incluir Impuestos Locales en la Factura Electrónica.
- Complemento para Facturas Electrónicas del Sector de Ventas al Detalle “Detallista”.
Es importante hacer notar que el Complemento “Addenda” no debe ser incluido en el CFDI al momento de mandar timbrar.
6.- Estructura de las respuestas
El servicio puede regresar dos tipos de respuestas:
1.- Un timbre fiscal digital, el cual representa un timbrado correcto y debe ser incluido dentro del nodo complemento del CFDI generado.
Ejemplo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
<soapenv:Body>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"
FechaTimbrado="2022-01-10T09:47:32" UUID="694F4707-842C-49A9-A0D2-BC459CB97FE4"
NoCertificadoSAT="20001000000300022323"
SelloCFD="L8Ovst91fu+RjYKN0M8QNg2oE26gCsa4TQ/TrfMiDYnu5rwV/D/4NUpUpNlSFjh72ik6kD6lP4+XphGww9gyUEoPzMa9RBrSHbdhi4guQ3Fo1j0aAvz1FkI0AaQTy5A07CHD+E1NABJT/0MUMESN41vZ4YDVgzBZjOM1PW6XS6tJZBeKDGWF4Ko3GKAmng2mwj0kiPxOQYQHEw05OebChss18Waj1MtaHm6GO8JcuqOxiQSXWy1AAulFxd/oiSh4wkQxIBDB3POUzxWmaaSH9TfEpY4RasREQofQIDW6eYSIEolbXvkSOt9yroCAQ+vm0lhaH0xGsuB/SGArEVQeBQ=="
SelloSAT="FSc0uZrF50eJmf5K/pavIVKDo5ald44eIHau5IIVbOUyFnz7gzWrnEbRaBt9k6ECNwnbo3peThJXsS0PcjN/oD1i3GuTN95zuEdMYSX6PxTm/zpSSmDBuJfm/GLwGcEg3c4j4b3le7J+ff61cG2hGdG7I2xunkrpbjw1t5E4wIgsBdN4ghyERj02tBnaSGajUEbLqA1F8u7TBpNBvbf9EzsBx5sLOo130vBKr5WnQlwEv0lEAcfIQdHJCiTX/rxrqTr5Xei/uq1hV5aEnXyWlW4jATuhINn3b+iJEv7qQEf3goTw1fxre2MMgGPWi6GpstzR7mGpvvhyJmrQjgIN2g=="
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"/>
</soapenv:Body>
</soapenv:Envelope>
2.- Un fault, el cual representa un error al momento de timbrar debido a que el comprobante no cumple con todos los requisitos necesarios para ser timbrado. Este mensaje contiene el código y la descripción del error que se presentado.
Ejemplo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
<soapenv:Body>
<soapenv:Fault>
<detail>
<cfdi:Error codigo="SAT301">
<cfdi:descripcionError>XML Mal formado</cfdi:descripcionError>
</cfdi:Error>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
7.- Cabecera “CustomerKey”
Para poder timbrar en los ambientes de pre-producción y producción de Tralix, es necesario agregar dentro de las cabeceras HTTP con las que viaja la petición una nueva cabecera con el nombre de "CustomerKey", la cual contiene el identificador del cliente que realiza la petición.
El valor de esta cabecera le será proporcionado al momento de contratar algún paquete de timbrado y tiene que ser enviado en cada petición de timbrado que realice.
Ejemplo:
POST https://urltimbrado.com/ HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://urltimbrado.com/"
CustomerKey: 62281858fae703d19999995de49befb180a17a23
Host: urltimbrado Content-Length: 205
8.- Listado de códigos de error y descripciones
Código | Descripción |
301 |
El XML no está construido conforme al W3C y/o con la estructura del XSD publicado en el Anexo 20 del RMF |
302 | El sello del emisor no está generado correctamente. |
303 | El CSD del emisor no corresponda al RFC establecido como emisor del comprobante. |
304 | El CSD del emisor ha sido revocado |
305 | La fecha de emisión no se encuentre dentro de la vigencia del CSD del emisor. |
306 | El certificado utilizado corresponde a una FIEL |
307 | El XML ya cuenta con un nodo TimbreFiscalDigital |
308 | El CSD del emisor no es un certificado emitido por la autoridad del SAT |
401 | El rango de la fecha de generación es mayor a 72 horas con base en la fecha de emisión |
402 | El RFC del emisor no está autorizado para emisión de CFDI (no se encuentra en la lista autorizada del SAT) |
403 | La fecha de emisión es anterior al 1ero de Enero 2011. |
901 | El cliente con el key #CUSTOMER_KEY no es válido. |
902 | El RFC #RFC no está registrado. |
903 | El RFC #RFC se encuentra inactivo por el momento. |
904 | No cuenta con licencia para realizar peticiones. |
905 | El RFC #RFC no pertenece al cliente con el key #KEY |
906 | Ha expirado su periodo de pruebas. |
907 | Debe invocar al servicio con el customerkey que le fue asignado. |
908 | El hash ya existe en la base de datos. |
909 | Petición incorrecta, el nodo cfdi:Comprobante debe estar dentro del cuerpo del mensaje (soapenv:Body). |
910 | No se puede determinar el cliente a partir del RFC #RFC, verifique que el valor de la cabecera de customerkey. |
998 | Error en el cliente. |
999 | Error interno en el servidor, por favor intente más tarde. |
Nota: Las palabras que contiene el carácter # al principio son reemplazadas con su valor correspondiente.
Retenciones
Timbrado
POST http 1.1
Url productivo
https://timbrador.tralix.com:7070/retenciones/
Url pruebas
https://pruebastfd.tralix.com:7070/retenciones/
Parámetros:
Parámetro | Tipo | Valor | Requerido | Observaciones |
---|---|---|---|---|
Content-Type | Header | text/xml; charset=UTF-8 | SI | El valor debe de ser tal cual se muestra. |
customerKey | Header | CUSTOMER_KEY | SI | Debe de ir el customer key del cliente que desea timbrar su comprobante de retenciones |
Contenido | Contenido | XML_DE_RETENCIONES | SI | Este es el contenido de la llamada, es el xml de retenciones a timbrar. |
Salida:
El xml del timbre o xml con error.
Códigos de respuesta:
Código | Tipo | Descripción |
---|---|---|
200 | SUCCESS | Se pudo timbrar el comprobante y se regresa el timbre. |
301 | ERROR | El XML no está construido conforme al W3C y/o con la estructura del XSD publicado en el Anexo 20 del RMF |
302 | ERROR | El sello del emisor no está generado correctamente. |
303 | ERROR | El CSD del emisor no corresponda al RFC establecido como emisor del comprobante. |
304 | ERROR | El CSD del emisor ha sido revocado |
305 | ERROR | La fecha de emisión no se encuentre dentro de la vigencia del CSD del emisor. |
306 | ERROR | El certificado utilizado corresponde a una FIEL |
307 | ERROR | El XML ya cuenta con un nodo TimbreFiscalDigital |
308 | ERROR | El CSD del emisor no es un certificado emitido por la autoridad del SAT |
401 | ERROR | El rango de la fecha de generación es mayor a 72 horas con base en la fecha de emisión |
402 | ERROR | El RFC del emisor no está autorizado para emisión de CFDI (no se encuentra en la lista autorizada del SAT) |
901 | ERROR | El cliente con el key #CUSTOMER_KEY no es válido. |
902 | ERROR | El RFC #RFC no está registrado |
903 | ERROR | El RFC #RFC se encuentra inactivo por el momento |
904 | ERROR | No cuenta con licencia para realizar peticiones |
905 | ERROR | El RFC #RFC no pertenece al cliente con el key #KEY |
907 | ERROR | Debe invocar al servicio con el customerkey que le fue asignado |
910 | ERROR | No se puede determinar el cliente a partir del RFC #RFC, verifique que el valor de la cabecera de customerkey |
990 | ERROR | Su comprobante es válido, pero no se puede generar un timbre fiscal por el momento. |
999 | ERROR | Error interno en el servidor, por favor intente más tarde |
Elemplo de petición:
POST /retenciones/ HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
customerkey: b391655ac2242d85ddd36d37b482259b1b7dfc1a
Content-Length: 4506
Host: 10.0.4.122:9000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<retenciones:Retenciones xmlns:plataformasTecnologicas="http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10" xmlns:retenciones="http://www.sat.gob.mx/esquemas/retencionpago/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sat.gob.mx/esquemas/retencionpago/2 http://www.sat.gob.mx/esquemas/retencionpago/2/retencionpagov2.xsd http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10 http://www.sat.gob.mx/esquemas/retencionpago/1/PlataformasTecnologicas10/ServiciosPlataformasTecnologicas10.xsd
" Version="2.0" FolioInt="1635996" Sello="Gjlntz9bWr84DS9HVNvWIzIejCaZqnZbIKbCaQ+QNZeVsxsCj0fYesuqNiPPqDpsDTrXL551NzDIOn8HzaGhP6f1f1tORfRR9Nsz+dwtyZzRHHtnDR5jOqTcUqXhJz+7j2VQz+08xsoShL0DGhuoxfq7l4vnXxl2ixGdg0aSpn2YaLtPsCEMbsLVPApYlB697IIvqfKJ8zqVVIpqxikPhHjkIT2Wl5zE2i0Qq6015/L1AHBliquUnS94KMdBzWzTsv2goZxWh6xI46EZkDyr
SbaMLJnZquEtjbq3/gVjBqG5ik4/iO0UOmoWxR6L7TlXowRKP1UqIgHwDv7ef1JXdQ==" NoCertificado="30001000000500003430" Certificado="MIIFszCCA5ugAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MzAwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MS
gwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI0MDI2WhcNMjcwNTE4MTI0MDI2WjCB
2jEoMCYGA1UEAxMfRVNDVUVMQSBXSUxTT04gRVNRVUlWRUwgUyBERSBDVjEoMCYGA1UEKRMfRVNDVUVMQSBXSUxTT04gRVNRVUlWRUwgUyBERSBDVjEoMCYGA1UEChMfRVNDVUVMQSBXSUxTT04gRVNRVUlWRUwgUyBERSBDVjElMCMGA1UELRMcRVdFMTcwOTA0NVUwIC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAA
OCAQ8AMIIBCgKCAQEA5V00mF+ucoj8mItceE086i12hPoyH3fK6BGQCPU1vGx3K8etHev7GASu3dYF3TA4X5ypTRAKaCzyI7v53uLZpQAWhmvTIMhYBtGDhQ7RR5GyWzaUDIhtNpO55xrmb2+O4FzkuYbOvnSOPZ6qZRySI168+N/aZCcEPaZVsFbCOnp6FHe9GhqLD1ZwsIRUdLEC7ml4WbG1+jfmCxx/c/+JtcLL9nUBIvMFu1px6ZoYRV/LhrwxtJ7D4BPss/WfBxMpId19hYfzAULYBYRWVP1l+4JTC0fHnyaflBQXH8yvCYXs
EIX++lKGTmvL4QESIUdzGLSj7pXt3cdk5mHK2FHHxQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAjTvAc61X98kmDGSfH7RfTnMb6QdDujISjPM2/rZ6Fde0NeQrshDvOffkXLq8f2n6D1m5GpHkwYvq0GUAyBmBoSLuJPPbLp87i/Dj64nqHKIVIQCTK2867MEbxe7ToAMlaIfJ6f1gR1kNANoc/i204PESIuPrUkNgK7pjsDURfsVK8XF7w2dxo2Vn5J+KSTykEjSZce7EvT
FtjYHhASq61wziommRn4BSmMl+7WYv/FFBl53pJLaJG0Hsog7s8+V9QtPhcq6Cua7D+oOnjnuhDDIXs1UhIkqMPli9jdVjhbthjIP5CDUvb8jO8VJbLWjHgcBXxrGRZzzlajQkRQ+QbgqDU56ePIFZY02BQsjjE1DYBXeM3pwz5ZWKS+HioAu1quDUt92B9skfqNHzvelZMIuEz2lg10pdJiF5TbhS4mtxF77QK0UaGWOOsVuQ6zfI9eJ9j9bZnMfxj6wLChXcY07L5ckN/1A1o0CVMo5vYcEwz9X7lESjwZgiaNQQwApBEOGHyClU
/FyNGFVgH1wFhql+z9Fe7EXnDLCPeu8t8SOENBgINVh4WLsOgY9ll/rOvwEpZ0jVMOwaz2vX4kW9hE/s1q9QuIsBRaDpwz+H6ONPBxkfENiAWWIFn4oM7kZjW3h9VMVirK+YAMjIPbcSEsYLMh9WNVcZmionA3ZHSjY=" FechaExp="2024-12-19T12:16:10" CveRetenc="26" LugarExpRetenc="03940">
<retenciones:Emisor RfcE="EWE1709045U0" NomDenRazSocE="ESCUELA WILSON ESQUIVEL" RegimenFiscalE="601"/>
<retenciones:Receptor NacionalidadR="Nacional">
<retenciones:Nacional RfcR="FAGO841020JS2" NomDenRazSocR="OSCAR RAFAEL FRANCO GONZALEZ" DomicilioFiscalR="72410"/>
</retenciones:Receptor>
<retenciones:Periodo MesIni="02" MesFin="02" Ejercicio="2024"/>
<retenciones:Totales MontoTotOperacion="3100.86" MontoTotGrav="3100.86" MontoTotExent="0.00" MontoTotRet="279.06" UtilidadBimestral="0" ISRCorrespondiente="0">
<retenciones:ImpRetenidos BaseRet="496.13" ImpuestoRet="002" MontoRet="248.06" TipoPagoRet="01"/>
<retenciones:ImpRetenidos BaseRet="3100.86" ImpuestoRet="001" MontoRet="31.00" TipoPagoRet="04"/>
</retenciones:Totales>
<retenciones:Complemento>
<plataformasTecnologicas:ServiciosPlataformasTecnologicas Version="1.0" Periodicidad="02" NumServ="1" MonTotServSIVA="3100.86" TotalIVATrasladado="496.1376" TotalIVARetenido="248.06" TotalISRRetenido="31.00" DifIVAEntregadoPrestServ="248.0776" MonTotalporUsoPlataforma="1145.18">
<plataformasTecnologicas:Servicios>
<plataformasTecnologicas:DetallesDelServicio FormaPagoServ="08" TipoDeServ="05" FechaServ="2024-02-29" PrecioServSinIVA="3100.86">
<plataformasTecnologicas:ImpuestosTrasladadosdelServicio Base="3100.86" Impuesto="02" TipoFactor="Tasa" TasaCuota="0.16" Importe="496.1376"/>
<plataformasTecnologicas:ComisionDelServicio Importe="1145.18"/>
</plataformasTecnologicas:DetallesDelServicio>
</plataformasTecnologicas:Servicios>
</plataformasTecnologicas:ServiciosPlataformasTecnologicas>
</retenciones:Complemento>
</retenciones:Retenciones>
Ejemplo de respuesta correcta:
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 1111
<?xml version="1.0" encoding="utf-8"?>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="5DBA5276-EFD7-4933-9312-A93228508B49" FechaTimbrado="2015-01-02T12:15:01" selloCFD="H8Eoo93RfhyV28PlXVBXRuu4tYIVR8Qu6jcqZA8V032l0pkkrzh30mcxbyWRPzNzJc7pZdMItD1ffsS+NnpQEGgB1rJlnI7wFhvJLkk3nQQ6jWVJdMTgXvFxPcCtH4d1FYL/4NcLw1XF6PWEM/vkQp1QeUovRoWqQQpDUa3kx0RGN5Ed8mz8cBh5q38GkfyqlrYoi2cF40w3S4oclfmLTONdF4moOVS8WcXPh4S1f0NQHNF0GDUNMvQaGGI+95UYg1101x70uPEPa3vaBCUWBy7ab2zfELFy8UOpreXEVXzFsnMkY4jwDLcAaSSZjBpnYkmkkEWZNB7Mj2QCkdE1lg==" noCertificadoSAT="20001000000300003693" selloSAT="rQ4u/te+tikTs6n+deDt8uqqH1PrkeDClLjcL96b3e0gSLLwUpGJkhWnKmRuaK9bIB+TJjJboJoacRcdSk3grUhC+U9DIUlX20FwXUKQIlEBJMHevzu6nK3KMKUEkvt9dr4ufSNtwva++DsRw0v6Is1uQcjWKz9lxBazLjUVRAk=" />
Ejemplo de respuesta con error:
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 356
<?xml version="1.0" encoding="utf-8"?>
<Error codigo="301">
<descripcionError> El CFD no cumple con la estructura correcta: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 141; The element type "retenciones:Emisores" must be terminated by the matching end-tag "</retenciones:Emisores>".</descripcionError>
</Error>
Códigos de respuesta:
Código | Tipo | Descripción |
---|---|---|
200 | SUCCESS | Se pudo hacer la autenticación con el SAT y se regresa el token dado por el servicio del SAT. |
400 | ERROR | Si hay un error en los parámetros de llamada, por ejemplo si la petición no es cancelacion o recepcion |
500 | ERROR | Si hay algún error interno en el servicio |
Ejemplo de petición:
POST /retenciones/authentication/ HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml
Content-Length: 11
Host: 10.0.4.122:9000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
cancelacion
Ejemplo de salida satisfactoria:
HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: 422 role=user&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2ffilerepository.accesscontrol.windows.net%2f&Audience=https%3a%2f%2fcancelaretencion.cloudapp.net%2f+&ExpiresOn=1420225384&Issuer=https%3a%2f%2ffilerepository.accesscontrol.windows.net%2f&HMACSHA256=FU7NeQVVC%2f5gNO57WfBE9tziy8gbrjZgrHtUDWhW8cs%3d&wrap_subject=3230303031303030303030333030303033363933
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Content-Length: 127
No enum constant com.tralix.pac.timbrador.ws.controller.autenticacion.AuthenticationClientFactory.AuthenticationType.CANCELACIO
Cancelación de un CFDI de retenciones
POST
Url productivo
https://timbrador.tralix.com:8081/retenciones/cancelaUno/
Url pruebas
https://pruebastfd.tralix.com:8081/retenciones/cancelaUno/
Parámetros:
Parámetro | Tipo | Valor | Requerido | Observaciones |
---|---|---|---|---|
Content-Type | Header | text/xml; charset=UTF-8 | SI | El valor debe de ser tal cual se muestra. |
idCustomer | Header | CUSTOMER_KEY | SI | Debe de ir el customer key del cliente que desea cancelar su comprobante de retenciones. |
ipAddress | Header | IP_CLIENTE | SI | Esta ip con la que se está intentado cancelar. |
Contenido | Contenido | XML_DE_CANCELACION | SI | Xml de cancelación de acuerdo al estándar del SAT |
Salida:
El xml del acuse del sat o el error dado por el SAT o por negocio
Códigos de respuesta:
Código HTTP | Código | Tipo | Descripción |
---|---|---|---|
200 | 1201 | SUCCESS | UUID Cancelado |
200 | 1202 | ERROR | Previamente cancelado |
200 | 1203 | ERROR | UUID no corresponde con el emisor |
200 | 1205 | ERROR | UUID No existe |
200 | 1300 | ERROR | Autenticación no válida |
200 | 1301 | ERROR | XML mal formado |
200 | 1302 | ERROR | Estructura de folios no válida |
200 | 1303 | ERROR | Estructura de RFC no válida |
200 | 1304 | ERROR | Estructura de fecha no válida |
200 | 1305 | ERROR | Certificado no corresponde al emisor |
200 | 1306 | ERROR | Certificado no vigente |
200 | 1307 | ERROR | Uso de FIEL no permitido |
200 | 1308 | ERROR | Certificado revocado o caduco |
200 | 1309 | ERROR | Firma mal formada o inválida |
400 | 308 | ERROR | El CSD del emisor no es un certificado emitido por la autoridad del SAT. |
400 | 401 | ERROR | El rango de la fecha de generación es mayor a 72 horas con base en la fecha de emisión |
400 | 901 | ERROR | El cliente con el CustomerKey proporcionado no es válido |
400 | 902 | ERROR | El RFC no esta registrado como cliente |
400 | 903 | ERROR | El RFC se encuentra inactivo por el momento |
400 | 904 | ERROR | No cuenta con licencia para realizar peticiones |
400 | 905 | ERROR | El RFC no pertenece al cliente con el CustomerKey que proporciono |
400 | 910 | ERROR | No se puede determinar el cliente a partir del RFC |
400 | 999 | ERROR | Error interno en el servidor |
400 | 407 | ERROR | Error en el servicio de Cancelación del SAT |
400 | ERROR | Cuando faltan parámetros requeridos en la petición |
Elemplo de petición:
POST /retenciones/cancelaUno/ HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml; charset=UTF-8
idCustomer: b391655ac2242d85ddd36d37b482259b1b7dfc1a
ipAddress: 10.0.0.88
Content-Length: 4007
Host: 10.0.4.122:9000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<Cancelacion xmlns="http://cancelaretencion.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Fecha="2014-12-31T13:14:53" RfcEmisor="GAVA730717AE1"><Folios><UUID>0E6F67DD-6765-46EC-9447-D8CD759D2286</UUID></Folios><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>WMQbS6vPsNK9Qj0ItYXpT2MORWA=</DigestValue></Reference></SignedInfo><SignatureValue>GlFeSOMtP7gHMHXF0XT2XmqsS1f2Qg6xINwmO6V6K3ft8s4O3MoSw6fxnxEFLlOeojOadSaPL+py
OJSQqIF8XChyeE2J1dAdvqmZV3jWN2jX0TyY3FwBd/QClVY3vLvIxIiroJgkGeduefYy3DC4cC6V
QwvwAkTwRi9SnYuROb5f/NAmsLnB5aTLTen0eNDS8PFTnMfkxnb5e5dP+aBxV4wo5oANez11ABYu
1OctfRcdVuJ371Hr16qUSgFGi6kCYJ1TIwj07qdXOaDK+FebNYBOQzwqd0AQRSYADUBeJRtBiaWl
h6ij/NsHBjvboz1m8uBGsUsOJOCAAG13CSIOSQ==</SignatureValue><KeyInfo><X509Data><X509IssuerSerial><X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: ACDMA, OID.2.5.4.45=SAT970701NN3, L=Coyoac[0xc3][0xa1]n, ST=Distrito Federal, C=MX, OID.2.5.4.17=06300, STREET="Av. Hidalgo 77, Col. Guerrero", EMAILADDRESS=asisnet@pruebas.sat.gob.mx, OU=Administraci[0xc3][0xb3]n de Seguridad de la Informaci[0xc3][0xb3]n, O=Servicio de Administraci[0xc3][0xb3]n Tributaria, CN=A.C. 2 de pruebas(4096)</X509IssuerName><X509SerialNumber>286524172099382162235533054548081509954831791922</X509SerialNumber></X509IssuerSerial><X509Certificate>MIIGEDCCA/igAwIBAgIUMjAwMDEwMDAwMDAzMDAwMDQ4NzIwDQYJKoZIhvcNAQELBQAwggFmMSAw
HgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRt
aW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1
cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMu
c2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNV
BBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UE
BwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3Bv
bnNhYmxlOiBBQ0RNQTAeFw0xNDEwMDgxNTA5MzBaFw0xODEwMDcxNTA5MzBaMIHKMSAwHgYDVQQD
ExdIRUNUT1IgVkFaUVVFWiBCRUNFUlJJTDEgMB4GA1UEKRMXSEVDVE9SIFZBWlFVRVogQkVDRVJS
SUwxIDAeBgNVBAoTF0hFQ1RPUiBWQVpRVUVaIEJFQ0VSUklMMQswCQYDVQQGEwJNWDEgMB4GCSqG
SIb3DQEJARYRcHJ1ZWJhQHNhdC5nb2IubXgxFjAUBgNVBC0TDUdBVkE3MzA3MTdBRTExGzAZBgNV
BAUTEkdBVkE3MzA3MTdIREZSR1IwNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJjn
MOxpkQkTGXmJpXf0qnBSRatOtkbi8c0iHAKYS1XASXrxkJLXt2ZkFg83EkkZxyRZ7+5qFG7qKUET
3BDmdLW8RTBuWSLzonlUAjNfSTjuNNG0ZNxpTGHHsOenRUfPwNx9yopzU6YKHAfNoeoyXsbsLg1I
yezal/vu86pa5Bonb/hTj6GMHg7Wj7oFit3ilVUu5Bc9a1djT3JJVuCXaT+Mspd3UiwtYxZihD4h
ZhuT8wqYEFfulUykofIeuexCKBdV6ugaD9Ub1/GOyhzNymYzM1WlPfgKxCed6KQ1CaJLM3jo3U79
izakxfH45ghlol7SxXHidF3tYpgknv6TgU8CAwEAAaNPME0wDAYDVR0TAQH/BAIwADALBgNVHQ8E
BAMCA9gwEQYJYIZIAYb4QgEBBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjAN
BgkqhkiG9w0BAQsFAAOCAgEAkRIj1K/mOCyd/cyxb9m9HpAWgUUwKG00gQXwiM6cJYMGhjk6e2kc
lCUPUnp2Ct8Gn4JoHA8jTI8JOv1C7sJor0eO+xAtElvYh4d7NmGZvpZ1BkCt43EAt0gq/NVH37GL
WuPC934dlLiq0m9Tv/7UqjVKQKWAKnQc008GJTY+vI8bk1rRctY6RqvhiKnDcwJeNvQfWAnFUJ2L
6+ffphvbvuuWZrAvi8CNIZ6ZFwCkGpFAoKXErPTy4lyTPfsPpg5B6BxhskJH5g5QL8KrpkCheMHg
YfQv+YxOKK8ohpcxaEK+CF/QQkfWGSfzTjKO/fN+uht18UYiuGblwXkGV+N0OLPQZUzjtwEJSLFH
LI+3BuDU96baJXmxC31RhdNnRepqoKtALKNVDadpaoCZtTICb6y1FAvI31RrPOUh1O7GbGGhqGQL
96eD3q8UvG99/FRc0Ah4xRCjOg52TLbnhx7eQFA2HIccRBdceELUSGE3YoadB6q1AE68Q6hfP8Oh
i20TvgmLZOTfncVIqszK3jn+e71nYCQdH1D6ZsLIx0L5h7CiWRvliiMulloiA9UxjJ1nwssVNHgN
BhqAOFPw0rYnHrsbcKW5yiNPAhZinqPVdxBWgeIP3ClyhhrV5jG6GxEUQcf0CWdwHLYTxcWksqqB
vkRhj++ft29e5p/lm47XThE=</X509Certificate></X509Data></KeyInfo></Signature></Cancelacion>
Ejemplo de salida satisfactoria con código http 200 y codigo de status 1201:
HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Length: 1501 Content-Type: application/xml; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.5 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Wed, 31 Dec 2014 19:17:53 GMT <?xml version="1.0"?><Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Fecha="2014-12-31T13:17:53.0816119" RfcEmisor="GAVA730717AE1" WorkProcessId="108fe0ae-0402-41ea-b603-bba3b338057e" xmlns="http://www.sat.gob.mx/esquemas/retencionpago/1"><Folios><UUID>CF93C8F6-E9EE-4AD5-9CC0-4E771CE726B6</UUID><EstatusUUID>1201</EstatusUUID></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>XG1pp/m3TuS2j971YCxqMa7aTi2MW/pHNElJwEzFB9So5QEjgcRXnyC4xoEJDG5yZF8yqo9aNWuDMkfwAvQKQA==</DigestValue></Reference></SignedInfo><SignatureValue>s8trd9ZLoW2axhyXXssfa4MeBrCK0T5p1JfuRGOFbj8JCF5f3+hqgx5tSyvuEWo3leDGpSs7gmYjgBCc4xF7gw==</SignatureValue><KeyInfo><KeyName>20001000000300003586</KeyName><KeyValue><RSAKeyValue><Modulus>n77fbi0dTENVn43LCUOIF/8iyQObFg/AaTRBdpf0fVuozOOy48INue46sN54AHL+I50s1U8Nh6Dq+MRvRNc8WyHPQWsnmSaicT5vAkkzqucVj004WyLcmpysY45DrCxSitPMRzop3XboPr1msWd3EuyduUtbu3QmNRin8uzpYg8=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>
Ejemplo de salida de error con código http 200 y codigo de status 1XXX:
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 1409
Content-Type: application/xml; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 31 Dec 2014 20:46:59 GMT
<?xml version="1.0"?><Acuse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" CodEstatus="1301" Fecha="2014-12-31T14:46:59.5187095" RfcEmisor="" WorkProcessId="238a0fec-8004-426d-a846-cd69103f7288" xmlns="http://www.sat.gob.mx/esquemas/retencionpago/1"><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>KVsuu6MBIq35WvJZ4regrxHPg9UEtiMizXsX14P6o2Dm0UbI1BHz7xUW5AqZ5HzY399PTzRSAPgmT8DEDQQjkg==</DigestValue></Reference></SignedInfo><SignatureValue>LpABcSjt+vbvRp876GcR0l1UajX5Z5P6/f4qilRyIH1Y06DWYbmy74Fnc3iyKtTqXDSPkPzg7J3Ktfyc7WbSuw==</SignatureValue><KeyInfo><KeyName>20001000000300003586</KeyName><KeyValue><RSAKeyValue><Modulus>n77fbi0dTENVn43LCUOIF/8iyQObFg/AaTRBdpf0fVuozOOy48INue46sN54AHL+I50s1U8Nh6Dq+MRvRNc8WyHPQWsnmSaicT5vAkkzqucVj004WyLcmpysY45DrCxSitPMRzop3XboPr1msWd3EuyduUtbu3QmNRin8uzpYg8=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>
Ejemplo de salida de error con código http 400 y codigo de status XXX:
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Content-Length: 88
{"errorCodigo":"902", "descripcionError":" El RFC "GAVA730717AE1" no está registrado."}
Ejemplo de salida de error con código http 400 y sin código de status:
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Content-Length: 23
Falta Header: ipAddress