Servicio que recibe un Comprobante Fiscal Digital por Internet (CFDI) versión 3.3 o 4.0, y realiza la validación de su integridad, sello digital y estructura conforme al estándar del SAT. Incluye la verificación de reglas y matriz de errores del SAT, así como la validación de complementos aplicables. Además, confirma la existencia del CFDI en la base de datos del SAT y consulta su estatus fiscal (vigente, cancelado o no encontrado), independientemente del Proveedor Autorizado de Certificación (PAC) que haya emitido el CFDI.
URL´s
https://services.test.sw.com.mx 📄
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.