Yo probé el siguiente caso:DADO escribió:- Un paquete no puede descargarse mas de tres veces, pero es suficiente modificar por ejemplo la fecha final, por solo un segundo y generar otro paquete ?
Busqué un dia en concreto, entre las 00:00:00 y las 15:00:00, luego del mismo dia pero con horas 13:00:00 y las 15:00:00 me regresó el conjunto de facturas de las horas indicadas, obviamente menos facturas en la segunda consulta, pero las que habia en ella, tambien estaban en la primer consulta, asi que realizando ajustes de 1 segundo va a funcionar. Si se nos pasa algun paquete de descargar (porque ya caducó, por ejemplo) hacemos ajuste de segundos y listo.
Lo que imagino que sucede es lo siguiente, el sat no almacena las fechas que solicitamos, sino el hash generado del nodo de solicitud, que ocuparía menos espacio al guardarlo en una base de datos, luego al enviar un nuevo paquete por minimo que sea el cambio, es un nuevo hash, asi que el servicio del sat lo da por bueno, asi la solicitud pasa y la magia está hecha

Edito: un error que encontré es el siguiente (lo descubrí por accidente), si enviamos un request con un hash de un id de paquete y al integar este hash al request pero ingresando un id de otro paquete (en la descarga) el request pasa por bueno, aunque el hash sea de un paquete y se haya integrado al request el id de otro paquete, descargando (si no ha vencido o no tiene mas de 3 descargas) el id que va en dicho request. Pero ésto no sucedería en producción pues sería un fallo intencional en el codigo fuente