Documentación teórica
https://developers.sw.com.mx/knowledge-base/como-cancelar-emisor/
Ruta
|
Operación
|
Descripción
|
---|---|---|
/acceptreject/csd
|
POST | Ruta para aceptar o rechazar una cancelación por csd. |
/acceptreject/pfx
|
POST | Ruta para aceptar o rechazar una cancelación por pfx. |
/acceptreject/xml
|
POST | Ruta para aceptar o rechazar una cancelación por xml. |
/acceptreject/{rfc}/{uuid}/{accion}
|
POST | Ruta para para aceptar o rechazar una cancelación por RFC y UUID. |
Acciones disponibles
- Aceptacion
- Rechazo
Nota: La palabra “Aceptacion” debe ir sin acento.
Aceptar/rechazar por CSD
Como su nombre lo indica, este servicio recibe todos los elementos que componen el CSD los cuales son los siguientes:
- Certificado (.cer)
- Key (.key)
- Password del archivo key
- RFC receptor
Así como el arreglo de las respuestas por UUID.
Esto ya que nuestro servidor generara el acuse de cancelación.
Paso 1: Obtener token de acceso, o en su defecto usar token infinito
Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.
Paso 2: Enviar datos necesarios
Se envían los datos necesarios, que básicamente es el CSD del receptor que desea Aceptar/rechazar un CFDI, así como el RFC de dicho receptor, así como el arreglo de las respuestas por UUID.
Cabe mencionar que los archivos .cer y .key, al ser binarios, deberán enviarse en formato base64 para que podamos procesarlos en nuestro servidor.
HTTP Request por CSD
1 2 3 4 5 6 7 8 9 10 11 12 13 |
POST /acceptreject/csd HTTP/1.1 Host: services.test.sw.com.mx authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo Content-Type: application/json Cache-Control: no-cache { "uuids": [ {"uuid":"703a8b88-0c4d-471f-b1eb-8185b0f2e1d9", "action":"Aceptacion"} ], "password": "12345678a", "rfc": "LAN7008173R5", "b64Cer": "MIIFxTCCA62gAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI4MTUwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjUyMTUyMTFaFw0yMDEwMjUyMTUyMTFaMIGxMRowGAYDVQQDExFDSU5ERU1FWCBTQSBERSBDVjEaMBgGA1UEKRMRQ0lOREVNRVggU0EgREUgQ1YxGjAYBgNVBAoTEUNJTkRFTUVYIFNBIERFIENWMSUwIwYDVQQtExxMQU43MDA4MTczUjUgLyBGVUFCNzcwMTE3QlhBMR4wHAYDVQQFExUgLyBGVUFCNzcwMTE3TURGUk5OMDkxFDASBgNVBAsUC1BydWViYV9DRkRJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgvvCiCFDFVaYX7xdVRhp/38ULWto/LKDSZy1yrXKpaqFXqERJWF78YHKf3N5GBoXgzwFPuDX+5kvY5wtYNxx/Owu2shNZqFFh6EKsysQMeP5rz6kE1gFYenaPEUP9zj+h0bL3xR5aqoTsqGF24mKBLoiaK44pXBzGzgsxZishVJVM6XbzNJVonEUNbI25DhgWAd86f2aU3BmOH2K1RZx41dtTT56UsszJls4tPFODr/caWuZEuUvLp1M3nj7Dyu88mhD2f+1fA/g7kzcU/1tcpFXF/rIy93APvkU72jwvkrnprzs+SnG81+/F16ahuGsb2EZ88dKHwqxEkwzhMyTbQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAJ/xkL8I+fpilZP+9aO8n93+20XxVomLJjeSL+Ng2ErL2GgatpLuN5JknFBkZAhxVIgMaTS23zzk1RLtRaYvH83lBH5E+M+kEjFGp14Fne1iV2Pm3vL4jeLmzHgY1Kf5HmeVrrp4PU7WQg16VpyHaJ/eonPNiEBUjcyQ1iFfkzJmnSJvDGtfQK2TiEolDJApYv0OWdm4is9Bsfi9j6lI9/T6MNZ+/LM2L/t72Vau4r7m94JDEzaO3A0wHAtQ97fjBfBiO5M8AEISAV7eZidIl3iaJJHkQbBYiiW2gikreUZKPUX0HmlnIqqQcBJhWKRu6Nqk6aZBTETLLpGrvF9OArV1JSsbdw/ZH+P88RAt5em5/gjwwtFlNHyiKG5w+UFpaZOK3gZP0su0sa6dlPeQ9EL4JlFkGqQCgSQ+NOsXqaOavgoP5VLykLwuGnwIUnuhBTVeDbzpgrg9LuF5dYp/zs+Y9ScJqe5VMAagLSYTShNtN8luV7LvxF9pgWwZdcM7lUwqJmUddCiZqdngg3vzTactMToG16gZA4CWnMgbU4E+r541+FNMpgAZNvs2CiW/eApfaaQojsZEAHDsDv4L5n3M1CC7fYjE/d61aSng1LaO6T1mh+dEfPvLzp7zyzz+UgWMhi5Cs4pcXx1eic5r7uxPoBwcCTt3YI1jKVVnV7/w=", "b64Key": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS9AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRBAKNQXH8t1GNfLDIQejtcocS39VvWnpNXjZJeCg65Y2wI36UGn78gvnU0NOmyUkXksPVrkz7hqNtAVojPUtN65l+MVAsIRVD6OLJeKZ2bLx5z78zrx6Tp1zCGT/NpxL+CJSy5iY6TKqbJcK/9198noOvT2p8rKVqUUF3wLRvD6R/b3BC5wCon/exp3BUTZeiWJqGRRgaW4rn49ZbJPVIcDmUO8mojPesFHjJDSnA0nBnWaUvTYXi0srT+dLZOewsBR8d5GdSWh9ZkM29wJbjYHCMsXkObZjaap3YM8fU29zRyZ8KAqaCnBHCfYjbib56m+Lmnk+ScqMkQQ+S/+2pzn2LzauvBI4p/OjQgBDeblo22X7sX9OA9YaqB3q6CCjQ5tkDNrz3HOgTm+amh/kI8TEn9rcKf4Ru7mC1T7VMaFgBqpIS8YJNbcgegF0IF1FpCS05wjdU5CktYAnPnvC+Pj+MFDeH+184kIHBWqPNG6dAzALxRgtKTlGdJ1l5Do+4EWI+0mvKojREnKoDczFnDeCFnM51u3I9Vce3rkf0djRQKFomPVUnPDqxlR5lDAssYAYNcECAkvGxKcBDbjWi/6NHlwjS1r28+0Jhvfxjx9O6hi4AW82Q2/kBE5P/eOwln/jKSbLgi7Iyim1FFHxkQH1FY5kcKhAzFcIq85rGFlzHRfPF9OIQSmONI9kcWQCxkk8aG1u1zwbjZRYLTxlwmZvynOgaWRpTN8Y4ReBDIG1klhva7nqqoM416oXBG71IKaCtjAwRlE6pgaqnIz/WQAb2FR541pqynX6dB6DB1nIWnatsWZJZlu+Bnhf9DBlUsO9ZSAf9Fa9nJAzwFCzaKIsvGJIeKSZ/h+vInkjaO/rxswErVROTfZy1lO2CJ/xnAgzFGrpDxNJPliv3McO9TGwYy/zHhE6Pdo8Xu6NsMisNU6TB8Bc26uLNv/7kWhNmNnBA1qt5akln6hOHrPBXGBiTNUL0IoFVPNdCbS0834zAYXfgtZLDzVpeLqmeMpqXbIYK0/NXe9etxuOcN40O+B/fTHHmO7dMgBZ4vAApVQUPr7ilumVHsWSMRP/0p5R9q4qr1bDm9S5YCPevdyYWTSceGSrXHmjYzJLBtpc/s77mynNqZEYjhnKk2XRNp6kp/FYRu+QdsX9vaDJbLKR2EnSC4fU6UOTO03IZU15j3wOsg30QrXoKntSJ/beF99cvFHuPrQPWxCtws0lLwkkHNVOm6XNO948Moy1w1pL4i68CwmceYZaYrYhmHGdLuescFQrZQaULDWhpK2Stys8Vs/XwwxNi9MHAFSXpdy/b+Aro5n87w+0MHRcllF8ZKbtQ/ym4oG7aREuo7o71JXJQPjZKTOtVM1EQx/FLM/5brnDSoyvLtoYtv9/tTnIC+8gR6eErkzaGmn8pftPhGNuz6yzx8JeLFoMD7VWbGTefj46KS+yMweFJnpReHEqwnukXpEYq19EWVyQa/Sb7navtKt80y/vRs0aNZp3iL23AOs0u1kQ1CFNY2y12Gor1koaH2FUd5jAQnaSKmgarLy0H/QVvR2g8B3+Fh49QhKYrd8N6LvvI80cwbEoqYWn5DWA=" } |
HTTP Response por CSD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Request URL:http://services.test.sw.com.mx/acceptreject/csd Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade { "codStatus": "success", "data": { "folios": [ { "uuid": "703a8b88-0c4d-471f-b1eb-8185b0f2e1d9", "estatusUUID": "1000", "respuesta": "Aceptacion" } ], "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><AcuseAceptacionRechazo xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" RfcReceptor=\"LAN7008173R5\" RfcPac=\"DAL050601L35\" CodEstatus=\"1000\" Fecha=\"2018-07-31T16:33:19.1001619\"><Folios Respuesta=\"Aceptacion\" xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>703a8b88-0c4d-471f-b1eb-8185b0f2e1d9</UUID><EstatusUUID>1000</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>l1rCtdEvSOfebgOp5zEh1Zxhh8LMXXuNEWGmld4Gojd4cyJ/in6bm9lQRjLwTibsOJK+gn7G/+mRbXWWviSbTg==</DigestValue></Reference></SignedInfo><SignatureValue>IG1lOcQrYfzJ9l77KDq/lVkO9+1nq3zjnZNs1/PxN4izTOm2ylfJtW3nIUxUj2n2/7/8G0ysS1uIIBbfCttiOg==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></AcuseAceptacionRechazo>" } } |
Aceptar/rechazar cancelación con las librerias por CSD
- C#
- JAVA
- PHP
- Node.js
Ir al Repositorio de C# en GitHub
using System; using System.IO; using System.Text; using SW.Helpers; using SW.Services.AcceptReject; namespace ExampleSDK { class Program { static void Main(string args) { try { //Creamos una instancia de tipo AcceptReject //A esta le pasamos la Url, usuario y password o token de authentication //Automaticamente despues de obtenerlo se procedera a procesar las facturas con su acción AcceptReject acceptReject = new AcceptReject("http://services.test.sw.com.mx", "demo", "123456789"); //Obtenemos Certificado y lo convertimos a Base 64 string CerB64 = Convert.ToBase64String(File.ReadAllBytes("CSD_Pruebas_CFDI_LAN7008173R5.cer")); //Obtenemos LLave y lo convertimos a Base 64 string KeyB64 = Convert.ToBase64String(File.ReadAllBytes("CSD_Pruebas_CFDI_LAN7008173R5.key")); AcceptRejectResponse response = acceptReject.AcceptByCSD(CerB64, KeyB64, "LAN7008173R5", "12345678a", new AceptacionRechazoItem { new AceptacionRechazoItem() { uuid = "01724196-ac5a-4735-b621-e3b42bcbb459", action = EnumAcceptReject.Aceptacion } }); //Para obtener el status de la consulta Console.Write(response.status); //Para obtener el codigoStatus Console.WriteLine(response.codStatus); //Para obtener una lista con los folios Console.WriteLine(response.data.folios); //Para obtener el acuse Console.WriteLine(response.data.acuse); //En caso de error se pueden consultar los siguientes campos Console.WriteLine(response.message); Console.WriteLine(response.messageDetail); } catch (Exception e) { Console.WriteLine(e.Message); } } } }
Ir al Repositorio de Java en GitHub
package sample_test; import Services.AcceptReject.SWAcceptRejectService; import Utils.Responses.AcceptReject.AceptarRechazarCancelationResponse; import Utils.Responses.AcceptReject.CancelationData; public static void main(String args) { SWAcceptRejectService app = new SWAcceptRejectService("demo", "123456789", Utils.url_pruebas); Map &amp;amp;amp;lt; String, String &amp;amp;amp;gt; uuids = new HashMap &amp;amp;amp;lt; String, String &amp;amp;amp;gt; (); uuids.put("06a46e4b-b154-4c12-bb77-f9a63ed55ff2", "Aceptacion"); AceptarRechazarCancelationResponse response = null; response = (AceptarRechazarCancelationResponse) app.AceptarRechazarCancelacionCSD(uuids, password_csd, rfc, b64Cer, b64Key); System.out.println(response.Status); System.out.println(response.HttpStatusCode); LinkedList &amp;amp;amp;lt; CancelationData &amp;amp;amp;gt; folios = (LinkedList &amp;amp;amp;lt; CancelationData &amp;amp;amp;gt; ) response.folios; if (folios != null) { for (int i = 0; i &amp;amp;amp;lt; folios.size(); i++) { CancelationData datos = folios.get(i); System.out.println(datos.uuid); System.out.println(datos.estatusUUID); System.out.println(datos.respuesta); } } System.out.println(response.acuse); }
Ir al Repositorio de PHP en GitHub
&amp;amp;amp;lt;?php use SWServicesCancelationCancelationService as cancelationService; $rfc = "LAN7008173R5"; $uuidV = "E0AAE6B3-43CC-4B9C-B229-7E221000E2BB"; $accion = "Aceptacion"; $aceptarRechazar = cancelationService::Set($params); $aceptarRechazar = cancelationService::AceptarRechazarCancelacionUUID($rfc, $uuidV, $accion); var_dump($aceptarRechazar); ?&amp;amp;amp;gt;
Ir al Repositorio de Node.js en GitHub
On Working...
Aceptar/rechazar por PFX
Como su nombre lo indica, este servicio recibe todos los elementos que componen el PFX los cuales son los siguientes:
- PFX
- Password del archivo key
- RFC receptor
Así como el arreglo de las respuestas por UUID.
Esto ya que nuestro servidor generara el acuse de cancelación.
Paso 1: Obtener token de acceso, o en su defecto usar token infinito
Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.
Paso 2: Enviar datos necesarios
Se envían los datos necesarios, que básicamente es el PFX del receptor que desea Aceptar/rechazar un CFDI, así como el RFC de dicho receptor, así como el arreglo de las respuestas por UUID.
Cabe mencionar que los archivos .pfx, al ser binarios, deberán enviarse en formato base64 para que podamos procesarlos en nuestro servidor.
HTTP Request por PFX
1 2 3 4 5 6 7 8 9 10 11 |
POST relations/pfx HTTP/1.1 Host: services.test.sw.com.mx Content-Type: application/json Authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo { "uuids": [ {"uuid":"06a46e4b-b154-4c12-bb77-f9a63ed55ff2", "action":"Aceptacion"} ], "password": "12345678a", "rfc": "LAN7008173R5", "b64Pfx": "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" } |
HTTP Response por PFX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Request URL:http://services.test.sw.com.mx/acceptreject/pfx Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade { "codStatus": "success", "data": { "folios": [ { "uuid": "703a8b88-0c4d-471f-b1eb-8185b0f2e1d9", "estatusUUID": "1000", "respuesta": "Aceptacion" } ], "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><AcuseAceptacionRechazo xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" RfcReceptor=\"LAN7008173R5\" RfcPac=\"DAL050601L35\" CodEstatus=\"1000\" Fecha=\"2018-07-31T16:33:19.1001619\"><Folios Respuesta=\"Aceptacion\" xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>703a8b88-0c4d-471f-b1eb-8185b0f2e1d9</UUID><EstatusUUID>1000</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>l1rCtdEvSOfebgOp5zEh1Zxhh8LMXXuNEWGmld4Gojd4cyJ/in6bm9lQRjLwTibsOJK+gn7G/+mRbXWWviSbTg==</DigestValue></Reference></SignedInfo><SignatureValue>IG1lOcQrYfzJ9l77KDq/lVkO9+1nq3zjnZNs1/PxN4izTOm2ylfJtW3nIUxUj2n2/7/8G0ysS1uIIBbfCttiOg==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></AcuseAceptacionRechazo>" } } |
Aceptar/rechazar por XML
Como su nombre lo indica, este servicio recibe el XML para cancelación, donde deberán venir todos los UUID con su acción a realizar [Aceptar o Rechazar].
Paso 1: Obtener token de acceso, o en su defecto usar token infinito
Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.
Paso 2: Enviar datos necesarios
Se envían los datos necesarios para la cancelación, que básicamente es el XML con todos los UUID con su acción correspondiente.
HTTP Request por XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
POST /acceptreject/xml HTTP/1.1 Host: services.test.sw.com.mx Authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrSkhlVUY2aXpLNWZkaHZlcDFtMWFhWkJpdGFxSFpRMXZSWUp5QUZsalZWd2huVWx3NUM3dVF6aWxJaGJqUU9QbFdWZW0zMTQxTmd6dUJ3dHR0SDlvTjhLUzFoT3VsMnRXWFlTWGFOUDNaeEhmUklFOWVEZjB6OE9QVGhzWnZ1bjRzWkUyeWd3UXlFMUtENVRXQ1pxRjg9.6Us1aA5VkXQTHyEBeaq-98l_5NTADHRAayJXQPT9qIA Content-Type: multipart/form-data;boundary="----WebKitFormBoundary7MA4YWxkTrZu0gW" Cache-Control: no-cache ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Type: text/xml Content-Transfer-Encoding: binary Content-Disposition: form-data; name="xml"; filename="33.xml" <?xml version="1.0" encoding="utf-8"?> <SolicitudAceptacionRechazo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RfcReceptor="LAN7008173R5" RfcPacEnviaSolicitud="DAL050601L35" Fecha="2018-08-22T18:38:05" xmlns="http://cancelacfd.sat.gob.mx"> <Folios> <UUID>06a46e4b-b154-4c12-bb77-f9a63ed55ff2</UUID> <Respuesta>Aceptacion</Respuesta> </Folios> <Signature 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/2000/09/xmldsig#rsa-sha1" /> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>AQ36cbqKJKHy5vaS6GhDTWtwKE4=</DigestValue> </Reference> </SignedInfo> <SignatureValue>HVlFUPmRLyxeztem827eaasDObRXi+oqedCNNvDyMsRizqsS99cHt5mJCEE4vWgpDGPGLrph/yd++R4aN+V562DPp9qreFkisFpEvJy5Z8o/KzG7vc5qqaD8z9ohPpRERPHvxFrIm3ryEBqnSV6zqJG02PuxkWvYonVc+B7RdsO5iAiDTMs9guUhOvHBK8BVXQHKCbUAPCp/4YepZ4LUkcdloCAMPsN0x9GaUty2RMtNJuwaRWy+5IIBUCeXXZmQhoQfS0QfPpCByt0ago5v+FocJQiYQrsUV/8mesmNw5JoOCmufQYliQFyZgsstV8+h76dU/rwLr6R8YlFOkTxKg==</SignatureValue> <KeyInfo> <X509Data> <X509IssuerSerial> <X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: ACDMA, OID.2.5.4.45=SAT970701NN3, L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero", E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria, CN=A.C. 2 de pruebas(4096)</X509IssuerName> <X509SerialNumber>3230303031303030303030333030303232383135</X509SerialNumber> </X509IssuerSerial> <X509Certificate>MIIFxTCCA62gAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI4MTUwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjUyMTUyMTFaFw0yMDEwMjUyMTUyMTFaMIGxMRowGAYDVQQDExFDSU5ERU1FWCBTQSBERSBDVjEaMBgGA1UEKRMRQ0lOREVNRVggU0EgREUgQ1YxGjAYBgNVBAoTEUNJTkRFTUVYIFNBIERFIENWMSUwIwYDVQQtExxMQU43MDA4MTczUjUgLyBGVUFCNzcwMTE3QlhBMR4wHAYDVQQFExUgLyBGVUFCNzcwMTE3TURGUk5OMDkxFDASBgNVBAsUC1BydWViYV9DRkRJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgvvCiCFDFVaYX7xdVRhp/38ULWto/LKDSZy1yrXKpaqFXqERJWF78YHKf3N5GBoXgzwFPuDX+5kvY5wtYNxx/Owu2shNZqFFh6EKsysQMeP5rz6kE1gFYenaPEUP9zj+h0bL3xR5aqoTsqGF24mKBLoiaK44pXBzGzgsxZishVJVM6XbzNJVonEUNbI25DhgWAd86f2aU3BmOH2K1RZx41dtTT56UsszJls4tPFODr/caWuZEuUvLp1M3nj7Dyu88mhD2f+1fA/g7kzcU/1tcpFXF/rIy93APvkU72jwvkrnprzs+SnG81+/F16ahuGsb2EZ88dKHwqxEkwzhMyTbQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAJ/xkL8I+fpilZP+9aO8n93+20XxVomLJjeSL+Ng2ErL2GgatpLuN5JknFBkZAhxVIgMaTS23zzk1RLtRaYvH83lBH5E+M+kEjFGp14Fne1iV2Pm3vL4jeLmzHgY1Kf5HmeVrrp4PU7WQg16VpyHaJ/eonPNiEBUjcyQ1iFfkzJmnSJvDGtfQK2TiEolDJApYv0OWdm4is9Bsfi9j6lI9/T6MNZ+/LM2L/t72Vau4r7m94JDEzaO3A0wHAtQ97fjBfBiO5M8AEISAV7eZidIl3iaJJHkQbBYiiW2gikreUZKPUX0HmlnIqqQcBJhWKRu6Nqk6aZBTETLLpGrvF9OArV1JSsbdw/ZH+P88RAt5em5/gjwwtFlNHyiKG5w+UFpaZOK3gZP0su0sa6dlPeQ9EL4JlFkGqQCgSQ+NOsXqaOavgoP5VLykLwuGnwIUnuhBTVeDbzpgrg9LuF5dYp/zs+Y9ScJqe5VMAagLSYTShNtN8luV7LvxF9pgWwZdcM7lUwqJmUddCiZqdngg3vzTactMToG16gZA4CWnMgbU4E+r541+FNMpgAZNvs2CiW/eApfaaQojsZEAHDsDv4L5n3M1CC7fYjE/d61aSng1LaO6T1mh+dEfPvLzp7zyzz+UgWMhi5Cs4pcXx1eic5r7uxPoBwcCTt3YI1jKVVnV7/w=</X509Certificate> </X509Data> </KeyInfo> </Signature> </SolicitudAceptacionRechazo> ------WebKitFormBoundary7MA4YWxkTrZu0gW-- |
HTTP Response por XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Request URL:http://services.test.sw.com.mx/acceptreject/xml Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade { "codStatus": "success", "data": { "folios": [ { "uuid": "06a46e4b-b154-4c12-bb77-f9a63ed55ff2", "estatusUUID": "1001", "respuesta": "Aceptacion" } ], "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><AcuseAceptacionRechazo xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" RfcReceptor=\"LAN7008173R5\" RfcPac=\"DAL050601L35\" CodEstatus=\"1000\" Fecha=\"2018-08-23T08:55:42.3091792\"><Folios Respuesta=\"Aceptacion\" xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>06a46e4b-b154-4c12-bb77-f9a63ed55ff2</UUID><EstatusUUID>1001</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>VZ3vJdmyBkyAwUUALeYirfqWdHo4pphUCofGBbMe4UFbVJLjsf3llYYXsJh/nQLU1Wu17Amrht1cWhGErG+2uQ==</DigestValue></Reference></SignedInfo><SignatureValue>oXUADYs6h4TR6iakVAApLj7Vzxfrh73NEBgukTP/0eyvAqw62OplkY35AM/6A3ey8mWw9XYmeK8XKL7vMc2HMw==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></AcuseAceptacionRechazo>" } } |
Aceptar/rechazar por UUID y RFC
Para utilizar este servicio es necesario cargar los certificados en nuestro administrador de timbres, así mismo se proporcionan los siguientes elementos:
- UUID
- RFC receptor
Paso 1: Obtener token de acceso, o en su defecto usar token infinito
Primeramente se deberá autenticar en nuestros servicios en orden de obtener token de acceso, o si se desea, se puede usar el token infinito.
Paso 2: Enviar datos necesarios
Se envían los datos necesarios para la aceptación/rechazo, que son el RFC y el UUID a que desea aceptar/rechazar una cancelación (Para poder consumir este servicio es necesario subir los certificados en nuestro administrador de timbres, para así poder generar la petición), y por supuesto el token de acceso anteriormente generado.
Las URL del administrador de timbres son las siguientes:
HTTP Request por UUID
1 2 3 4 |
POST acceptreject/{RFC}/{UUID}/{accion} HTTP/1.1 Host: services.test.sw.com.mx Content-Type: application/json Authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo |
HTTP Response por UUID
1 2 3 4 5 |
Request URL:http://services.test.sw.com.mx/acceptreject/{RFC}/{UUID}/{accion} Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "codStatus": "success", "data": { "folios": [ { "uuid": "703a8b88-0c4d-471f-b1eb-8185b0f2e1d9", "estatusUUID": "1000", "respuesta": "Aceptacion" } ], "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><AcuseAceptacionRechazo xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" RfcReceptor=\"LAN7008173R5\" RfcPac=\"DAL050601L35\" CodEstatus=\"1000\" Fecha=\"2018-07-31T16:33:19.1001619\"><Folios Respuesta=\"Aceptacion\" xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>703a8b88-0c4d-471f-b1eb-8185b0f2e1d9</UUID><EstatusUUID>1000</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>l1rCtdEvSOfebgOp5zEh1Zxhh8LMXXuNEWGmld4Gojd4cyJ/in6bm9lQRjLwTibsOJK+gn7G/+mRbXWWviSbTg==</DigestValue></Reference></SignedInfo><SignatureValue>IG1lOcQrYfzJ9l77KDq/lVkO9+1nq3zjnZNs1/PxN4izTOm2ylfJtW3nIUxUj2n2/7/8G0ysS1uIIBbfCttiOg==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></AcuseAceptacionRechazo>" } } |
Respuestas
Todos los response retornan la misma estructura en caso de error o en caso de petición satisfactoria, las cuales son las siguientes:
Respuesta exitosa
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "codStatus": "success", "data": { "folios": [ { "uuid": "703a8b88-0c4d-471f-b1eb-8185b0f2e1d9", "estatusUUID": "1000", "respuesta": "Aceptacion" } ], "acuse": "<?xml version=\"1.0\" encoding=\"utf-8\"?><AcuseAceptacionRechazo xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" RfcReceptor=\"LAN7008173R5\" RfcPac=\"DAL050601L35\" CodEstatus=\"1000\" Fecha=\"2018-07-31T16:33:19.1001619\"><Folios Respuesta=\"Aceptacion\" xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>703a8b88-0c4d-471f-b1eb-8185b0f2e1d9</UUID><EstatusUUID>1000</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>l1rCtdEvSOfebgOp5zEh1Zxhh8LMXXuNEWGmld4Gojd4cyJ/in6bm9lQRjLwTibsOJK+gn7G/+mRbXWWviSbTg==</DigestValue></Reference></SignedInfo><SignatureValue>IG1lOcQrYfzJ9l77KDq/lVkO9+1nq3zjnZNs1/PxN4izTOm2ylfJtW3nIUxUj2n2/7/8G0ysS1uIIBbfCttiOg==</SignatureValue><KeyInfo><KeyName>BF66E582888CC845</KeyName><KeyValue><RSAKeyValue><Modulus>n5YsGT0w5Z70ONPbqszhExfJU+KY3Bscftc2jxUn4wxpSjEUhnCuTd88OK5QbDW3Mupoc61jr83lRhUCjchFAmCigpC10rEntTfEU+7qtX8ud/jJJDB1a9lTIB6bhBN//X8IQDjhmHrfKvfen3p7RxLrFoxzWgpwKriuGI5wUlU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></AcuseAceptacionRechazo>" } } |
En este caso se recibe un mensaje JSON, el cual contiene los siguientes datos:
- uuidConsultado: El uuid al que se consultan los relacionados.
- Resultado: Mensaje que retorna el SAT.
- uuidsRelacionadosPadres: Un arreglo de objetos uuid padre, el cual tiene las propiedades: uuid, rfcEmisor, rfcReceptor.
- uuidsRelacionadosHijos: Un arreglo de objetos uuid hijo, el cual tiene las propiedades: uuid, rfcEmisor, rfcReceptor
Respuesta no exitosa
1 2 3 4 5 |
{ "message": "Parámetros incompletos", "messageDetail": "Son necesarios el .Cer y el .Key en formato B64, la contraseña, el RFC y el UUID de la factura.", "status": "error" } |
Códigos de respuesta.
Codigo
|
Mensaje
|
Descripción
|
---|---|---|
1000 |
Se recibió la respuesta de la petición de forma exitosa | |
1001 |
Se recibió la respuesta de la petición de forma exitosa | 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 | |
1003 |
Sello No Corresponde al RFC Receptor | |
1004 |
Existen más de una petición de cancelación para el mismo uuid | |
1005 |
El uuid es nulo no posee el formato correcto | |
1006 |
Se rebaso el número máximo de solicitudes permitidas | Se cuenta con un límite 500 solicitudes pendientes por petición. Estás 500 solicitudes deben pertenecer al mismo Receptor. |
Para realizar la integración con nuestros servicios recomendamos utilizar POSTMAN , facilita las pruebas previas a la codificación.
Puedes importar el archivo POSTMAN-collection que proporcionamos al final del articulo para su descarga en POSTMAN para que puedas realizar pruebas funcionales de nuestro servicio.