Método Procesar_Respuesta
Enlaces al Servicio
Pruebas: https://staging.ws.timbox.com.mx/cancelacion/wsdl
Producción: https://sistema.timbox.com.mx/cancelacion/wsdl
Consumo de créditos
1 crédito, Si el proceso es usado para aceptar o rechazar la solicitud de cancelación emitida desde Timbox (la cancelación solo se cobra una vez y cuando se realiza el ciclo completo.)
1 crédito para las respuestas a procesar de las cancelaciones que se haya hecho desde el SAT y otro PAC)
Petición al servicio
El servicio de “procesar_respuesta” se utiliza para realizar la petición de aceptación/rechazo de la solicitud de cancelación que se encuentra en espera de dicha resolución por parte del receptor del documento al servicio del SAT. Los parámetros requeridos para realizar la petición se describen en la siguiente tabla.
Queremos solucionar tus dudas
ContáctanosParámetros de la petición
Nombre | Descripción | Requerido |
username | Usuario del web service. | Sí |
password | Contraseña del web service. | Sí |
rfc_receptor | El rfc que recibió el comprobante que desea cancelar. | Sí |
respuestas | Se manda el arreglo con uno o más objetos del tipo folios_respuestas que se compone del UUID, el RFC Emisor, el Total y la Respuesta (Aceptación o Rechazo). El UUID debe cumplir con la expresión regular de UUIDs. | Sí |
cert_pem | El certificado, en formato pem, que corresponde al receptor del comprobante. | Sí |
llave_pem | La llave, en formato pem, que corresponde al receptor del comprobante. | Sí |
Parámetros del nodo respuestas
Nombre | Descripción | Requerido |
uuid | Folio del comprobante que se va aceptar o rechazar para su cancelación | Sí |
rfc_emisor | RFC del emisor del comprobante a cancelar | Sí |
total | Total del comprobante a cancelar | Sí |
respuesta | Parámetro a enviar para aceptar la solicitud de cancelación. Deberá agregar:
A – Aceptar la solicitud R – Rechazar la solicitud |
Sí |
Regex de UUIDs: /^[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}$/
Ejemplo de petición al servicio
A continuación mostramos un ejemplo de cómo debe ser construida la petición al servicio.
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WashOut"> <soapenv:Header/> <soapenv:Body> <urn:procesar_respuesta soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <username xsi:type="xsd:string">AAA010101000</username> <password xsi:type="xsd:string">h6584D56fVdBbSmmnB</password> <rfc_receptor xsi:type="xsd:string">JES900109Q90</rfc_receptor> <respuestas xsi:type="urn:respuestas"> <!--Zero or more repetitions:--> <folios_respuestas xsi:type="urn:folios_respuestas"> <uuid xsi:type="xsd:string">E4BEBFA1-E809-4232-81D4-4BE402F994EA</uuid> <rfc_emisor xsi:type="xsd:string">MISC491214B86</rfc_emisor> <total xsi:type="xsd:string">58000000</total> <respuesta xsi:type="xsd:string">A</respuesta> </folios_respuestas> </respuestas> <cert_pem xsi:type="xsd:string">-----BEGIN CERTIFICATE----- MIIFrjCCA5agAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDI0MzYwDQYJKoZIhvcNAQEL BQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFE TUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9y aXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0w GwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJ BgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhD T1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3Bv bnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNjE3MTk1NDAyWhcNMjMwNjE3MTk1NDAy WjCB1TEiMCAGA1UEAxMZSklNRU5FWiBFU1RSQURBIFNBTEFTIEEgQTEiMCAGA1UE KRMZSklNRU5FWiBFU1RSQURBIFNBTEFTIEEgQTEiMCAGA1UEChMZSklNRU5FWiBF U1RSQURBIFNBTEFTIEEgQTElMCMGA1UELRMcSkVTOTAwMTA5UTkwIC8gS0FITzY0 MTEwMUIzOTEeMBwGA1UEBRMVIC8gS0FITzY0MTEwMUhOVExLUzA2MSAwHgYDVQQL ExdKaW1lbmV6IEVzdHJhZGEgU2FsYXMgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAM/sSlyARDs52sGMTgfyBGLIJRTI9p0EW9NZeAuhSukgziLqABIg RZTPRmsULZghrEqxtjY5b33f251Ydy+Dpszjma5ezpjfM/YpIvfWdogOiuL3BYye A/nqBlIYfbGLrt5/v1KlKGQx+lvTawMEG/7sKuJO+Yxi0XvvtWqlj5vm0dC72hA+ +GWbHTkb3MSFRPNz82UaN/m7A7Ao8+QAmCfdH0uPl7AeU0SwmbXZDh+1knW+IwBK nGE12GAPn0XxbBUNFjdLlxrwptBPjGQwPg1WbytDMONAMjyQBbx3tGjUqmsq0AGB D5KpFktnALBrdzxmSl4b4kmCzZ8WgC4WZWUCAwEAAaMdMBswDAYDVR0TAQH/BAIw ADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBALMZ1jCJxLQ87syZ2pCL YXSCa54YIZzeE/svurvql5cM9KP/zlHJoxVzB5R792SDgmOr4q1bUZ4jDEY6/ttd kIV+YYq46RnA6FPMGyw2ky7FyiTZEOIy5A6EQfFFnaNaShZp+XERq5YACTjo1ahi YAe+5zrDEJUuaz43GYjeXthFUS8YlqnG3wMSUq4whAipkdmRzq4s/FpKN0mkcGKy ELAhrkdbyyj/6+Lle2NfoDC8HWV7IxgLwGmStrweMqchjOEy+7iZGj4ORlw2gudw ZCQjhiPhkci/JVSoWkq7z3RzK/AKqJhGJhx3v46olMawyxzyD/72tECAtciKvCXw gaZde0bnft2a/A4JuPo7siFJ/2MY2tcbYWcgpuIRklOhHSKGyaPJcIoSzECjGTeR E/ghOzhOMWHair3ehE+4pc8+4pqXbblWcVw+XblztxoSVX+L4zyqzLnH9t9N5p45 WZvzXruozbcmOZX1pLp9nLCSZOw86sYPYz5er73BarFKTfaqG4JQm6iCrNdSbx3K SrnB1s3B8kCTjPoRyGcAg+syvPaBSvNzumiRoIRoOoYwoyKwogL/54nopp6LmEUv vHvn8I+rzZx67pChIi67298tIBo0lVMCrUqZ+yhaRwDDuzMCdd7xwOdjl8rFF1zV R1fjaus+T/JdN7IjzV3lY9ha -----END CERTIFICATE-----</cert_pem> <llave_pem xsi:type="xsd:string">-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDP7EpcgEQ7OdrB jE4H8gRiyCUUyPadBFvTWXgLoUrpIM4i6gASIEWUz0ZrFC2YIaxKsbY2OW9939ud WHcvg6bM45muXs6Y3zP2KSL31naIDori9wWMngP56gZSGH2xi67ef79SpShkMfpb 02sDBBv+7CriTvmMYtF777VqpY+b5tHQu9oQPvhlmx05G9zEhUTzc/NlGjf5uwOw KPPkAJgn3R9Lj5ewHlNEsJm12Q4ftZJ1viMASpxhNdhgD59F8WwVDRY3S5ca8KbQ T4xkMD4NVm8rQzDjQDI8kAW8d7Ro1KprKtABgQ+SqRZLZwCwa3c8ZkpeG+JJgs2f FoAuFmVlAgMBAAECggEAIueuDB1UVwT9XmSpbNgKOHMVFoouLGng6HgqmPk41C43 rNDPtjtIsxSg47T9en6cp+Vxi2TU/LKp8Z46U/Wr+NV0pTsxP6So2nhJcIXGXEzk r/l8KwET9c59xSZrY3TppFyZx8wGHdvuBaBWZKk58e+/u0I6zoCAXmf9cqvckfU+ VgxMJx07xFVezfeVPN7ZpM3agRC1hLIHqY+zTH3tYlz+wJyR//43vZA2x/7vGh1f dYA1QsKxSw14IcIougKsKNv8V+tunjgdYhibM5Q57e+lcefMVXhLZip7YbmQf4qa mW8wJcrA3PGCr7KB/H0726JWVzsNr1a2+zyKKqUyeQKBgQDxJFJ9766lGlskfOuu 2jcmhlhkBe1FZZJCXUNGycLwWy++8BiRw1oS+XlMrYC/FkasnodjlL/jiCdBKlnj Zf9njW//9YiUyYgUbdatbMR/LiGio3qmiee8mWUGI369wvNhjNMo/Ji+kkE//aDP tBkvGMZJtM67Eld4qzA5vw/w9wKBgQDcu/yZJqC7gBbmRny0ZYh22sKww5L9V7fZ HR2AJK7iArKn2OXcKwctc5CNBB3hF5HDkbIBqo3WuwXcVdBLk7tVMHJKnPq/c9Qs skiJDg0ZzSjmXm35T2slrRVGs4XrOH4QgubzFZfin3XadsrCY/o5yRsj2nVi6dDD bsSwdsPhgwKBgQDB09ZS0ANrRmIYVCkFJPXLi5Uk4Pa1H02O9nQLREXi+QjJyyeU kpemRMzRa2zfK8KnIc3lpz0OYPRclvQlqmi/DZsG/I9KOSuecCNsxs6zA5uZpRoD HzocCJiBdKp9UWRb9twMR+1m0RyNmQpXqYXMq3dG64R4LegNYFylLgRcRQKBgQCs PnUJ/T6HkZhM8Mv26RPnyyUJUlOtJXntDe8rQ3TEIF7Q40va1iivqvItV/0I3J9+ AH7rFe/AlAgquzvi/dC81SUaXAy+wN/cUPKRIEnQzGsR+LXQSczOhZWIqiXiOx8E O2GEZmEzEkOgyfnGXsWvueJXw+y91r51AkaxfLu1iQKBgQDes28092V0xQoQF6JH A48hfW+cac8wWlVcWpAtUvYL1wjmCU73ln79kbFf4gc79jWy+yqcCI8AlONf+iU5 cFuju13aY9lBpNHlfxnQXEMDxy+uEAfjZnZmOapI6On739cTWq3guvuk6qki8gbf aLHvag9/00szkf0g37nQA8B3Ug== -----END PRIVATE KEY-----</llave_pem> </urn:procesar_respuesta> </soapenv:Body> </soapenv:Envelope>
Queremos solucionar tus dudas
ContáctanosRespuesta del servicio
Si hubo un error con alguno de los parámetros o en el servicio de procesar_respuesta, se le notificará por medio de un mensaje de error, de lo contrario recibirá la estructura “procesar_respuesta_result” compuesta de lo siguiente:
Parámetros de la respuesta
Nombre |
Descripción |
procesar_respuesta |
Información de la respuesta que envió previamente el receptor para aceptar o rechazar la cancelación. |
Ejemplo de respuesta exitosa del servicio
A continuación mostramos la respuesta que regresa el servicio, donde recibimos el UUID que previamente enviamos en la petición para procesar la respuesta y un código de estatus para el UUID, más adelante describiremos el significado para cada estatus.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:WashOut"> <soap:Body> <tns:procesar_respuesta_response> <procesar_respuesta_result xsi:type="tns:procesar_respuesta_result"> <folios xsi:type="tns:folios_respuesta"> <folio_respuesta xsi:type="tns:folio_respuesta"> <uuid xsi:type="xsd:string">E4BEBFA1-E809-4232-81D4-4BE402F994EA</uuid> <codigo xsi:type="xsd:string">1000</codigo> <mensaje xsi:type="xsd:string">Aceptacion</mensaje> </folio_respuesta> </folios> </procesar_respuesta_result> </tns:procesar_respuesta_response> </soap:Body> </soap:Envelope>
Códigos a nivel folio
Código |
Descripción |
1000 |
Se recibió la respuesta de la petición de forma exitosa. |
1001 |
No existen peticiones de cancelación en espera de respuesta para el UUID |
1002 |
Ya se recibió una respuesta para la petición de cancelación del UUID |
1004 |
Existen más de una petición de cancelación para el mismo uuid. |
CANC102 |
El CFDI ha sido cancelado previamente, no puede ser aceptado |
CANC103 |
El CFDI ha sido cancelado previamente, no puede ser rechazado |
Códigos de error a nivel petición
Código |
Descripción |
CANC001 |
Los datos de autentificación enviados son incorrectos |
CANC002 |
Se han agotado la cantidad de timbres |
CANC003 |
Parámetro inválido |
CANC302 |
La llave_pem es una llave inválida |
CANC303 |
El certificado de sellos no corresponde al Receptor |
CANC304 |
El certificado no se encuentra en la lista de LCO del SAT |
CANC305 |
La fecha de cancelación no esta dentro de la vigencia de CSD del Receptor |
CANC306 |
El certificado utilizado es de tipo FIEL No es un CSD |
CANC307 |
El Certificado no fue expedido por el SAT |
CANC308 |
Llave privada no corresponde a certificado |
CANC501 |
Hay 499 o más UUIDS en una sola petición |
CANC998 |
Error de comunicación con el servicio del SAT, se genero un timeout en la petición al servicio del SAT |
CANC999 |
Error de comunicación con el servicio de cancelación |