Tabla de Contenidos

Web Service de Descarga de CFDI del SAT – IEngine

1. Introducción

El presente documento describe el uso del Web Service IEngine – Descarga SAT, utilizado para solicitar la descarga de comprobantes fiscales digitales (CFDI) desde el SAT mediante los parámetros proporcionados.

El servicio permite consultar y descargar los XML asociados a un RFC emisor dentro de un rango de fechas determinado. Una vez obtenidos los comprobantes, el sistema envía cada XML descargado hacia un endpoint webhook configurado por el usuario.

2. Endpoint del Servicio

URL del Web Service:

https://pruebas-ifactura.itimbre.com/plugins/IEngine/IEngine.php

3. Método de consumo

El servicio recibe parámetros mediante una solicitud HTTP GET.

Ejemplo de estructura:

https://pruebas-ifactura.itimbre.com/plugins/IEngine/IEngine.php?engine=descagaSAT&RfcEmisor=RFC&TipoComprobante=N&callback=webhookUrl&fechaInicial=2025-10-22&fechaFinal=2025-10-24

4. Parámetros de entrada

Parámetro Tipo Requerido Descripción
engine String Nombre del motor a ejecutar. Para descarga SAT debe enviarse descagaSAT.
RfcEmisor String RFC del emisor del cual se desean descargar comprobantes.
TipoComprobante String Tipo de comprobante a consultar. Ejemplo: N para nómina. Ver catálogo al final.
callback URL/String Endpoint donde serán enviados los XML descargados.
fechaInicial Date Fecha inicial del rango de búsqueda. Formato: YYYY-MM-DD
fechaFinal Date Fecha final del rango de búsqueda. Formato: YYYY-MM-DD

5. Ejemplo de solicitud

Solicitud (GET):

https://pruebas-ifactura.itimbre.com/plugins/IEngine/IEngine.php?engine=descagaSAT&RfcEmisor=XAXX010101000&TipoComprobante=N&callback=https://midominio.com/webhook&fechaInicial=2025-10-22&fechaFinal=2025-10-24

6. Funcionamiento del servicio

El flujo de operación es el siguiente:

7. Webhook receptor

Descripción: El webhook es un endpoint proporcionado por el usuario consumidor del servicio. Este endpoint será invocado N veces, donde N corresponds al número de XML descargados.

Nota: Si SAT devuelve 100 XML, el webhook será llamado 100 veces de forma individual y cada llamada contendrá un XML diferente.

8. Parámetros enviados al webhook

El webhook recibe un parámetro vía POST:

Parámetro Tipo Descripción
xml String/XML Contenido completo del CFDI descargado.

Ejemplo de payload recibido:

[
    'xml' => 'contenido_xml_del_cfdi'
]

9. Ejemplo de recepción del webhook

Ejemplo en PHP:

<?php

$xml = $_POST['xml'] ?? null;

if ($xml) {
    // Procesar XML recibido
    file_put_contents('cfdi.xml', $xml);
    echo "XML recibido correctamente";
} else {
    http_response_code(400);
    echo "XML no recibido";
}

?>

10. Recomendaciones para implementar el webhook

Respuesta recomendada: HTTP 200 OK (Cuerpo: OK)

11. Manejo de múltiples XML

12. Consideraciones de seguridad

13. Resumen del flujo

Cliente
  |
  | Solicitud descarga SAT (GET)
  v
IEngine Web Service
  |
  | Consulta CFDI SAT
  v
XML encontrado
  |
  | POST webhook (N veces)
  v
Sistema consumidor (Procesa y almacena)

14. Ejemplo completo

Solicitud:

https://pruebas-ifactura.itimbre.com/plugins/IEngine/IEngine.php?engine=descagaSAT&RfcEmisor=AAA010101AAA&TipoComprobante=N&callback=https://cliente.com/webhook/cfdi&fechaInicial=2025-10-22&fechaFinal=2025-10-24

Resultado si existen 25 CFDI:

[
    'xml' => '<cfdi:Comprobante ... > ... </cfdi:Comprobante>'
]

Tipos de comprobante CFDI soportados

El parámetro TipoComprobante permite indicar el tipo de CFDI que se desea consultar durante la descarga desde SAT. Los valores posibles corresponden al atributo oficial definido por la autoridad:

Valor Tipo de comprobante Descripción
I Ingreso Comprobantes emitidos por la prestación de servicios, venta de productos, arrendamientos u operaciones donde existe un ingreso.
E Egreso Comprobantes utilizados para devoluciones, descuentos, bonificaciones o ajustes relacionados con ingresos previamente registrados.
T Traslado Comprobantes utilizados para acreditar el transporte o traslado de mercancías.
N Nómina Comprobantes fiscales digitales utilizados para registrar pagos de salarios y prestaciones a trabajadores.
P Pago Comprobantes utilizados para registrar la recepción de pagos relacionados con operaciones previamente facturadas.

Ejemplos de uso rápidos:

Consideraciones adicionales: