Query Lifecycle
Las solicitudes de descarga tienen un ciclo de vida que es importante conocer para consumir el servicio.
sequenceDiagram
autonumber
participant Cliente
participant ServicioWeb
Cliente->>ServicioWeb: Solicita descarga de archivos
ServicioWeb-->>Cliente: Retorna Identificador de solicitud (ID)
loop Polling hasta COMPLETADO
Cliente->>ServicioWeb: Consulta estatus de la solicitud (ID)
ServicioWeb-->>Cliente: Retorna estatus (EN_PROCESO)
end
Cliente->>ServicioWeb: Consulta estatus de la solicitud (ID)
ServicioWeb-->>Cliente: Retorna estatus (COMPLETADO)
Cliente->>ServicioWeb: Solicita archivos descargados (ID)
ServicioWeb-->>Cliente: Retorna archivos descargados
Todo inicia cuando la solicitud de descarga es enviada al servicio, si la autenticación ante el SAT es correcta, se procede a hacer las solicitudes de filtrado y extracción de datos, cuando la solicitud ha finalizado, es decir, no hay más datos para extraer, la solicitud termina con un estatus satisfactorio y el usuario podrá descargar ya sea un ZIP
con todos los CFDI o metadata mediante paginación JSON
.
Nacimiento
Toda solicitud nace en el momento en el que se contacta al servicio de manera correcta
(todo los campos de solicitud son correctos), es decir se obtiene un UUID
de solicitud.
El UUID
se utiliza para todas las operaciones del servicio por lo que es importante
tenerlo siempre en cuenta. El estatus inicial de cualquier solicitud es EN_ESPERA
.
Procesamiento
Cuándo existe capacidad en el servicio para atender una solicitud más, esta pasa al estatus EN_PROCESO
indicando que el servicio está realizando las tareas necesarias para recolectar los metadatos y XML.
Posibles estatus
EN_PROCESO
La solicitud ha pasado a la cola de procesamiento por lo que las tareas relacionadas a autenticación, recolección de metadata y descarga de XML están por iniciar.
FALLO_AUTENTICACIÓN
Si los datos del contribuyente, RFC
y CIEC
no permiten la autenticación, la consulta termina en estatus
FALLO_AUTENTICACION
.
Otra causa es la resolución del captcha; el sistema de resolución de captchas utilizado por el servicio puede producir falsos negativos en la autenticación, ya que el captcha no se resuelve correctamente.
Otros factores son las respuestas del SAT en casos de degradación del servicio y por lo tanto no se puede autenticar (a pesar de que los datos sean los correctos).
Para este estatus es recomendable implementar una política de re-intento para mitigar los falsos negativos. Finalmente, verifique las claves de acceso directamente en el SAT para descartar cualquier problema intermedio.
DESCARGANDO
La consulta sigue en proceso y en especifico se encuentra en la etapa de descarga de archivos XML.
La consulta ha superado la etapa de recolección de todos los metadatos disponibles (EN_PROCESO
) y está
descargando 1 a 1 los archivos XML.
FALLO
La solicitud no pudo completarse satisfactoriamente debido a un error no controlado o esperado. Puede contactar al equipo de soporte indicando el ID/UUID de la consulta.
COMPLETADO
La solicitud finalizo de manera satisfactoria, todos los metadatos y archivos XML están disponibles para su consulta/descarga.
COMPLETADO_CON_FALTANTES
La solicitud finalizo pero algunos CFDI's o XML no están disponibles. Las posibles causas para este estatus son:
- Conflicto de
más de 500 CFDI emitidos en la misma fecha
. El servicio emplea el proceso que se menciona aquí y en caso de no ser efectivo, la solicitud termina en este estatus. - El contribuyente ya superó el limite diario permitido.
- La descarga especifica de un XML no fue efectuada con éxito debido a timeout o intermitencia en el portal CFDI.
- Algunos CFDI son recibidos y se encuentran cancelados.
REPETIR
Este estatus indica que los XML de una solicitud fueron eliminados, esto se debe a las tareas de mantenimiento del servicio. Para más información consulte el siguiente enlace consideraciones. Las consultas con este estatus no son candidatas para solicitar su resumen u obtención de resultados.
Si desea obtener los XML de las consultas con estatus REPETIR
debe realizar la solicitud nuevamente.
Resultados
Para consultar los resultados de una solicitud, esta debe tener alguno de los siguientes estatus:
COMPLETADO
COMPLETADO_CON_FALTANTES
Para cualquier otro estatus el servicio genera una respuesta 400 - Bad Request
.
Los endpoints /{uuid}/resumen
y /{uuid}/{no_pag}
generan 404 - Not Found
.