Servicio que recibe un comprobante CFDI 3.3 ó 4.0 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.
URL´s
🛠️ Pruebas:
https://services.test.sw.com.mx
📄
🚀 Productivo:
https://services.sw.com.mx
📄
Validación CFDI
🔗 Endpoint
Metodo | Ruta |
---|---|
POST | /validate/cfdi |
🔐 Autenticación y Headers
Header | Value |
---|---|
Authorization | Bearer Token |
Content-Type | multipart/form-data |
🧾 Parámetros Form
Propiedad | Uso | Descripción |
---|---|---|
xml | Requerido | XML del comprobante a ser validado. |
📍 Parámetros Query
Propiedad | Uso | Permitidos | Descripción |
---|---|---|---|
validatestatus | Opcional | false | Indicar omisión de consulta de estatus cfdi; si no se registra, consulta siempre. |
Ejemplos de Request
Ejemplo de Request (Consulta el Estatus del CFDI por default)
curl --request POST \ --url http://services.test.sw.com.mx/validate/cfdi \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form 'xml=cfdi.xml'
Ejemplo de Request donde se omite la consulta del estatus del CFDI.
curl --request POST \ --url http://services.test.sw.com.mx/validate/cfdi?validatestatus=false \ --header 'Authorization: Bearer $token' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form 'xml=cfdi.xml'
Ejemplo Response
{ "status": "success", "detail": [ { "detail": [ { "message": "OK", "messageDetail": "Validacion de Estructura Correcta", "type": 1, "typeValue": "Information" } ], "section": "CFDI33 - Validacion de Estructura" }, { "detail": [ { "message": "OK", "messageDetail": "Validaciones Proveedor Comprobante ( CFDI33 ) Correcta", "type": 1, "typeValue": "Information" } ], "section": "CFDI33 - Validaciones Proveedor Comprobante ( CFDI33 )" }, { "detail": [ { "message": "OK", "messageDetail": "CFDI33 - Validaciones Proveedor Complemento cartaporte20:CartaPorte Correcta", "type": 1, "typeValue": "Information" } ], "section": "CFDI33 - Validaciones Proveedor Complemento cartaporte20:CartaPorte" } ], "cadenaOriginalSAT": "||1.1|fbbc0b7c-b3fd-4cca-a9e6-4f4d28d1a68a|2022-06-13T10:53:33|SPR190613I52|fPBy9+zmUeF5Fuml7Mj5uMNVvrfyhOwP5H5I/e+SZ4X7lU5l0VtyNZHiAOCQrJX/IupUqwH4nMhDKDBmJj8E6n1cSO6WMDti5exGTE1uVyCAMTOYVxQiwj/hzRNsr3UUuLMl7i73HTGAbA43YTAEsEa8VJiB9c4BKFuJyYmF8002Jj9S3iMBagx4jSwkNGPakpDxnwkPKknbzi3uACAyKS/7u4wLxvpwnDN7D+87oIvoKK01u8oOV5keH+E7xRLjZC6jOM9QlTYFkKz6Z7VcNVTWa12LujDItTa4CFY6VuW/71CmauR1BRRoCP1dpFIZlzaReO2NIUl4TfFp7oYHLw==|30001000000400002495||", "cadenaOriginalComprobante": "||3.3|A|11793|2022-06-11T00:00:00|99|30001000000400002434|7100|USD|19.4953|7100|I|PPD|64850|EKU9003173C9|ESCUELA KEMPER URGATE|601|KME110831G32|KRISTAFILMS DE MEXICO SA DE CV|G03|78101806|ET-0622-13908|1|E48|Servicio|FLETE EXPORTACION TERRESTRE|7100|7100|7100|002|Tasa|0.000000|0.00|7100|002|Tasa|0.000000|0.00|002|0.00|0.00|002|Tasa|0.000000|0.00|0.00|2.0|Sí|Salida|MEX|01|3297.51|Origen|KME110831G32|KRISTAFILMS|2022-06-01T00:00:00|SEGUNDA ORIENTE|206|206|1354|01|006|NLE|AFG|66600|Destino|KME110831G32|CP CONVERTERS BRISTOL|2022-06-09T00:00:00|3297.51|2201|2201|Bristol|Pensilvania|Pensilvania|PA|AFG|19007|44|KGM|44|1|13111212|POLIPROPILENO ORIENTADO AXIALMENTE\\nPELICULA METALIZADA|44|H87|KGM|No|44|42000.00|MXN|3920200599|TPAF02|1938DTM29012021021001002|C3R2|43LA6C|2020|QUALITAS COMPAÑÍA DE SEGUROS, S.A.B. DE C.V.|0640499881-173886|1.00|CTR004|BE2028|01|CATO8503166K5|NVOL025207|CRISTOBAL TREVINO RODRIGUEZ|NOGALES|205|NLE|MEX|67350||", "uuid": "fbbc0b7c-b3fd-4cca-a9e6-4f4d28d1a68a", "statusSat": "Vigente", "statusCodeSat": "S - Comprobante obtenido satisfactoriamente.", "isCancelable": "Cancelable con aceptación", "statusCancelation": "" }
{ "message": "301 - La estructura del comprobante es incorrecta.", "messageDetail": "Error al leer el documento XML. La estructura del documento no es un Xml valido y/o la codificación del documento no es UTF8. Root element is missing.", "data": null, "status": "error" }
Atributo | Tipo | Descripción |
---|---|---|
message | String | Mensaje de error. |
messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
data | Array/null | Arreglo de objetos con información referente a las validaciones. |
status | String | “success” o “error” |
cadenaOriginalSAT | String/null | Cadena original del timbre fiscal. |
cadenaOriginalComprobante | String/null | Cadena original del CFDI validado. |
uuid | String/null | Folio fiscal (UUID) del CFDI validado. |
statusSat | String/null | Estado del CFDI consultado ante el SAT. |
statusCodeSat | String/null | Muestra si el comprobante fue encontrado. |
isCancelable | String/null | Muestra si es cancelable con aceptación, sin aceptación o no cancelable. |
statusCancelation | String/null | Estado actual del proceso de cancelación del CFDI. |
En SW® somos mejores para TI, es por ello que tu opinión es muy importante, por favor ayúdanos calificando este articulo y dejando tus comentarios.