Servicio mediante el cual se valida integridad, sello, errores de estructura, matriz de errores del SAT incluyendo complementos, se valida que exista en el SAT, así como el estatus en el SAT.
Ruta
|
Operación
|
Descripción
|
---|---|---|
/validate/cfdi33
|
POST | Ruta para validación de XML. |
Este servicio recibe el token y un documento xml. Regresa un estatus general , resultado de la validación y un listado con el detalle de cada validación realizada.
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 Documento XML CFDI v3.3
Se envía el documento xml cfdi v3.3. Este documento puede incluir el timbre fiscal digital. Por el momento no soporta Addendas.
HTTP Request
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 |
POST /validate/cfdi33 HTTP/1.1 Host: services.test.sw.com.mx authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo Content-Type: multipart/form-data; boundary="------=_Part_11_11939969.1490230712432" Cache-Control: no-cache ------=_Part_11_11939969.1490230712432 Content-Type: text/xml Content-Transfer-Encoding: binary Content-Disposition: form-data; name=xml; filename=xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <cfdi:Comprobante Certificado="null" Fecha="2018-08-15T16:23:00" Folio="36" LugarExpedicion="44200" Moneda="XXX" NoCertificado="20001000000300022815" Sello="1234567890" Serie="FP" SubTotal="0" TipoDeComprobante="P" Total="0" Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:ine="http://www.sat.gob.mx/ine" xmlns:nomina12="http://www.sat.gob.mx/nomina12" xmlns:pago10="http://www.sat.gob.mx/Pagos" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd http://www.sat.gob.mx/Pagos http://www.sat.gob.mx/sitio_internet/cfd/Pagos/Pagos10.xsd"> <cfdi:Emisor Nombre="TEST Razon Social" RegimenFiscal="601" Rfc="LAN7008173R5 "/> <cfdi:Receptor Nombre="Test name" Rfc="XAXX010101000" UsoCFDI="P01"/> <cfdi:Conceptos> <cfdi:Concepto Cantidad="1" ClaveProdServ="84111506" ClaveUnidad="ACT" Descripcion="Pago " Importe="0" ValorUnitario="0"/> </cfdi:Conceptos> <cfdi:Complemento> <pago10:Pagos Version="1.0"> <pago10:Pago CtaBeneficiario="12345678954" CtaOrdenante="13213132412345678" FechaPago="2018-08-15T16:23:00" FormaDePagoP="02" MonedaP="MXN" Monto="10" NomBancoOrdExt="BANAMEX" NumOperacion="12345" RfcEmisorCtaBen="LAN7008173R5" RfcEmisorCtaOrd="XEXX010101000"> <pago10:DoctoRelacionado Folio="194" IdDocumento="b61936a6-5779-4d93-bc2e-e142d20d1055" ImpPagado="10" ImpSaldoAnt="10" ImpSaldoInsoluto="0" MetodoDePagoDR="PPD" MonedaDR="MXN" NumParcialidad="2" Serie="F"/> </pago10:Pago> </pago10:Pagos> </cfdi:Complemento> </cfdi:Comprobante> ------=_Part_11_11939969.1490230712432-- |
HTTP Response
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
Request URL:http://services.test.sw.com.mx/validate/cfdi33 Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade { "status": "success", "detail": [ { "detail": [ { "message": "OK", "messageDetail": "Validacion de Estructura Correcta", "type": 1 } ], "section": "CFDI33 - Validacion de Estructura" }, { "detail": [ { "message": "CFDI33102 - El resultado de la digestión debe ser igual al resultado de la desencripción del sello.", "messageDetail": "Comprobante.Sello: No es un valor base64 valido.", "type": 0 }, { "message": "CFDI33131 - La clave del campo RegimenFiscal debe corresponder con el tipo de persona (fisica o moral).", "messageDetail": null, "type": 0 }, { "message": "303 - El RFC del CSD del Emisor no corresponde al RFC que viene como Emisor en el Comprobante.", "messageDetail": " El RFC registrado en el certificado debe ser igual al registrado en el emisor del CFDI ValorEsperado: SUL010720JN8 ValorReportado: LAN7008173R5", "type": 0 }, { "message": "308 - El CSD del Emisor no ha sido firmado por uno de los Certificados de Autoridad de SAT.", "messageDetail": "El certificado debe ser emitido por el Servicio de Administración Tributaria.", "type": 0 } ], "section": "CFDI33 - Validaciones Proveedor Comprobante ( CFDI33 ) " }, { "detail": [ { "message": "CRP118 - El valor del campo Descripcion debe ser Pago.", "messageDetail": null, "type": 0 }, { "message": "CRP213 - El campo CtaOrdenante no cumple con el patrón requerido.", "messageDetail": "El patron esperado es: System.Linq.Enumerable+WhereListIterator`1[SW.CFDISDK.Catalogs.C_FormaPago]", "type": 0 } ], "section": "CFDI33 - Validaciones Proveedor Complemento pago10:Pagos" } ], "cadenaOriginalSAT": null, "cadenaOriginalComprobante": "||3.3|FP|36|2018-08-15T16:23:00|20001000000300022779|0|XXX|0|P|44200|LAN7008173R5|TEST Razon Social|601|XAXX010101000|Test name|P01|84111506|1|ACT|Pago|0|0|1.0|2018-08-15T16:23:00|02|MXN|10|12345|XEXX010101000|BANAMEX|13213132412345678|LAN7008173R5|12345678954|b61936a6-5779-4d93-bc2e-e142d20d1055|F|194|MXN|PPD|2|10|10|0||", "uuid": null, "statusSat": "No Encontrado", "statusCodeSat": "N - 601: La expresión impresa proporcionada no es válida." } |
Respuesta de validación
statusSat
|
statusCodeSat
|
---|---|
N – 601: La expresión impresa proporcionada no es válida.
|
No Encontrado |
S – Comprobante obtenido satisfactoriamente.
|
Cancelado |
S – Comprobante obtenido satisfactoriamente.
|
Vigente |
N – 602: Comprobante no encontrado.
|
No Encontrado |
Respuesta exitosa
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 |
{ { "status": "success", "detail": [ { "detail": [ { "message": "OK", "messageDetail": "Validacion de Estructura Correcta", "type": 1 } ], "section": "CFDI33 - Validacion de Estructura" }, { "detail": [ { "message": "OK", "messageDetail": "Validaciones Proveedor Comprobante ( CFDI33 ) Correcta", "type": 1 } ], "section": "CFDI33 - Validaciones Proveedor Comprobante ( CFDI33 ) " }, { "detail": [ { "message": "OK", "messageDetail": "CFDI33 - Validaciones Proveedor Complemento tfd:TimbreFiscalDigital Correcta", "type": 1 } ], "section": "CFDI33 - Validaciones Proveedor Complemento tfd:TimbreFiscalDigital" } ], "cadenaOriginalSAT": "||1.1|e0aae6b3-43cc-4b9c-b229-7e221000e2bb|2017-08-16T00:02:49|LSO1306189R5|ZWX8h7VfRi62AsxaL30isOqGWv1nF3CLVv82n2WSh9RRcsAzWRiJpQCj40ubIX3UeN3i48tGKdPjzb9ItOE37pSWAgf24v2nMvifIgd5vVFy0hnkk6JdFnfCWaUJ/C0ZzA5+Z4ige6evK8DQEpYW/uo6XKaLdGsDrGF1jR4Zt1I=|00001000000301634628||", "cadenaOriginalComprobante": "||3.3|RogueOne|HNFK231|2017-08-15T22:01:34|01|00001000000304726808|1.00|MXN|1|1.16|I|PUE|06300|LSO1306189R5|LUNA SOFT SA DE CV|601|LSO1306189R5|SW SMARTERWEB|G03|50211503|UT421511|1|H87|Pieza|Cigarros|1.00|1.00|1.00|002|Tasa|0.160000|0.16|002|Tasa|0.160000|0.16|0.16||", "uuid": "e0aae6b3-43cc-4b9c-b229-7e221000e2bb", "statusSat": "Vigente", "statusCodeSat": "S - Comprobante obtenido satisfactoriamente." } |
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.