¡Esta es una revisión vieja del documento!
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.
URL del Web Service:
https://pruebas-ifactura.itimbre.com/plugins/IEngine/IEngine.php
El servicio recibe parámetros mediante una solicitud HTTP GET.
Ejemplo de estructura:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| engine | String | Sí | Nombre del motor a ejecutar. Para descarga SAT debe enviarse descagaSAT. |
| RfcEmisor | String | Sí | RFC del emisor del cual se desean descargar comprobantes. |
| TipoComprobante | String | Sí | Tipo de comprobante a consultar. Ejemplo: N para nómina. Ver catálogo al final. |
| callback | URL/String | Sí | Endpoint donde serán enviados los XML descargados. |
| fechaInicial | Date | Sí | Fecha inicial del rango de búsqueda. Formato: YYYY-MM-DD |
| fechaFinal | Date | Sí | Fecha final del rango de búsqueda. Formato: YYYY-MM-DD |
El flujo de operación es el siguiente:
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.
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'
]
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";
}
?>
Respuesta recomendada: HTTP 200 OK (Cuerpo: OK)
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)
Solicitud:
Resultado si existen 25 CFDI: