Saltar a contenido

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.