Primeros Pasos
Las solicitudes de documentos tienen un ciclo de vida que es importante conocer para consumir el servicio.
flowchart LR
idS((Inicio)) --> CREADA --> PROCESO --> ERROR_AUTENTICACION & ERROR_NAVEGACION & ERROR & EXITO --> idE((Fin))
Todo inicia cuando la solicitud de documento o tramite es enviada al servicio, si la autenticación ante el SAT es correcta, se procede a hacer la solicitud del documento o tramite. La solicitud termina con un estatus satisfactorio cuando fue posible realizar el tramite o descarga el documento solicitado.
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 id
de solicitud.
El id
se utiliza para todas las operaciones del servicio por lo que es importante tenerlo siempre en cuenta.
El estatus inicial de cualquier solicitud es CREADA
.
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 el tramite o descarga de docuemnto.
Posibles estatus
CREADA
Se ha creado una solicitud y está pendiente de ser procesada.
EN_PROCESO
La solicitud ha pasado a la cola de procesamiento por lo que las tareas relacionadas a autenticación, tramites o descarga de documentos están por iniciar.
ERROR_AUTENTICACION
Si los datos del contribuyente, RFC
y CIEC
no permiten la autenticación, la consulta termina en estatus ERROR_AUTENTICACION
. Otra causa es la resolución del captcha, es decir, el resultado de la resolución
no coincide con el captcha. 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). Recomendamos verificar
sus credenciales antes de realizar la solicitud.
ERROR_NAVEGACION
No se pudó realizar una petición al buzón tributario. Las causas comunes de este estatus son:
- Cambios en el flujo o respuestas del Buzón Tributario: En este caso CSFacturacion es responsable de analizar los cambios para hacer las adecuaciones al sistema.
- Degradación del Buzon Tributario: Cuando el Buzón es sujeto de altas cargas de trabajo, el flujo para realizar el tramite o descarga de documento se puede ver interrumpido o finalizado con este estatus.
FALLIDA
La solicitud no pudo completarse satisfactoriamente debido a un error no controlado o esperado.
EXITO
La solicitud terminó de manera satisfactoria, el tramite o descarga de documento se hizo con éxito.
EXITO_WEBHOOK_ERROR
La solicitud terminó de manera satisfactoria pero no fue posible entregar el resultado mediante
el webhook
dado. Consulte Webhook para más información.
Obtención de Resultados
La API ofrece dos métodos de obtención: Webhook
y Polling
.
Cuando la solicitud termina en alguno de los siguientes estatus:
EXITO
EXITO_WEBHOOK_ERROR
se puede obtener el documento o tramite resultado de dicha solicitud. Estos estatus se consideran Exitosos
Webhook
Al crear una solicitud se cuenta con el campo webhook
para realizar una petición POST
al recurso indicado,
notificando el resultado final de la solicitud. El sistema considera como exitosa la notificación POST
si se
recibe un código < 400
.
El sistema tiene un esquema de re-intento bajo los siguientes códigos HTTP:
423
, 425
, 429
, 500
, 502
, 503
, 504
, 507
, 510
.
Consulte Webhook para más información sobre los datos que se entregan mediante este método.
Polling
Este método consiste en una operación de consulta constante al recurso de queries
. Se crea una iteración de
consultas a este recurso hasta que el estatus de solicitud sea exitoso (u otro requerido) con el fin de descargar
un documento.
Siga estos pasos para hacer polling
:
-
Obtener Detalle de Solicitud
Una vez creada la solicitud obtendrá un
id
de solicitud, utilice esteid
para obtener el detalle de solicitud.El detalle de solicitud contiene los siguientes datos relevantes:
- Estatus: Estatus de la solicitud. Consulte Estatus para saber más de los posibles estatus.
- Fecha de creación: Fecha y hora en la que se creó la solicitud.
- Tipo de Documento: Indica el tipo de documento o tramite que se solicitó.
- Documento: Cuando la solicitud conlleva la descarga de un documento (32D, por ejemplo), este nodo representa los detalles del mismo, como el identificador del documento para su posterior descarga.
Consulte aquí la referencia para el detalle de solicitud.
-
Obtener Detalle de Documento o Tramite
Cuando la solicitud termina con un estatus exitoso, se puede acceder al nodo
document
del detalle de solicitud donde debe obtener el identificador de documento para consultar el detalle de documento o tramite. En caso de documentos, estos se codifican enbase64
para su consulta.
Recuerde siempre consultar el detalle de la solicitud para obtener el identificador del documento y acceder al recurso del documento.
El siguiente diagrama resume el flujo mencionado anteriormente:
sequenceDiagram
autonumber
Client->>API: Solicitud de Documento
API->>Client: ID de Solicitud
loop ¿Solicitud Exitosa?
Client->>API: ID de Solicitud
API->>Client: Detalle de Solicitud
end
Client->>API: ID de Documento
API->>Client: Detalle de Documento
Estatus de Tramites
Actualmente no se pueden realizar tramites.