Saltar a contenido

Inicio Rápido

Se muestra un ejemplo completo de como consumir el servicio REST para la descarga masiva de CFDI mediante CIEC. Para este ejemplo consideramos la descarga con los siguientes parámetros:

  • Todos los CFDI Emitidos (Vigentes y Cancelados)
  • Fecha inicial: 2019-08-01T00:00:00
  • Fecha final: 2019-08-30T00:00:00
  • Contribuyente: AAA010101AAA
  • CIEC: 012345

El flujo de consumo es como se describe en los Primeros Pasos

  1. Verificar Credenciales (opcional)

  2. Solicitud de descarga

  3. Monitorear estatus

  4. Obtener Resumen

  5. Obtener resultados

0. Verificar Credenciales

POST /webservices/csdescargasat/v3/auth HTTP/1.1
Content-Type: application/json
Host: csfacturacion.com
Content-Length: 51

{
  "rfc": "AAA010101AAA",
  "password": "CIEC"
}

Respuesta:

{
  "autenticado": true
}

Tip

Se aconseja realizar al menos dos peticiones para evitar falsos negativos.

1. Solicitud de descarga

POST /webservices/csdescargasat/v3/consultar HTTP/1.1
Content-Type: application/json
Rfc: AAA010101AAA
Password: password_contratacion
Host: csfacturacion.com
Content-Length: 241

{
  "servicio": "CRAPI",
  "descarga": {
    "rfcContribuyente": "AAA010101AAA",
    "password": "API",
    "fechaInicio": "2022-10-20T00:00:00",
    "fechaFin": "2022-11-20T23:59:59",
    "tipo": "todas",
    "status": "vigentes"
  }
}
Clave de Servicio

La clave de servicio hace referencia a la contratación con la cual consume la API de descarga. CSReporter: CSRN WebService: CRAPI

Respuesta Exitosa:

{
    "data": {
        "uuid": "c3278871-30bc-2c53-bdba-fa602d2cbd81",
        "mensaje": "Peticion realizada con exito",
        "contratacion": true,
        "transacciones": 3000000,
        "idContratacion": 74848
        }
}

2. Monitorear estatus

Si en el paso anterior se obtiene el campo uuid, la solicitud fue procesada con éxito y se puede monitorear su estatus.

GET /webservices/csdescargasat/v3/consultas/c3278871-30bc-2c53-bdba-fa602d2cbd81/progreso HTTP/1.1
Host: csfacturacion.com
{
  "estado": "COMPLETADO", 
  "encontrados": 390
}

Estatus

Consulte Los primeros pasos para saber más sobre todos los posibles estatus de una consulta.

3. Obtener Resumen

El resumen de las consultas con un estatus satisfactorio puede ser obtenido mediante:

GET /webservices/csdescargasat/v3/consultas/c3278871-30bc-2c53-bdba-fa602d2cbd81/resumen HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: csfacturacion.com
Estatus con resumen

Recuerda que solo puedes obtener el resumen de una solicitud si tiene alguno de los siguientes estatus:

  • COMPLETADO
  • COMPLETADO_CON_FALTANTES

Respuesta exitosa:

{
  "total": 60,
  "paginas": 3,
  "fechasMismoHorario": [],
  "xmlFaltantes": false,
  "cancelados": 1
}

4. Obtener Resultados

Los resultados de las solicitudes exitosas pueden ser obtenidos mediante:

ZIP: Archivos XML comprimidos en un archivo ZIP.

GET /webservices/csdescargasat/v3/consultas/c3278871-30bc-2c53-bdba-fa602d2cbd81 HTTP/1.1
Host: csfacturacion.com

JSON: Obtener Metadata individualmente en objetos JSON.

GET /webservices/csdescargasat/v3/cfdi/c3278871-30bc-2c53-bdba-fa602d2cbd81 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: csfacturacion.com

XML: Obtener CFDI mediante archivo XML.

GET /webservices/csdescargasat/v3/cfdi/c3278871-30bc-2c53-bdba-fa602d2cbd81 HTTP/1.1
Accept: application/xml
Content-Type: application/json
Host: csfacturacion.com
Estatus con resultados

Recuerda que solo puedes obtener el resumen de una solicitud si tiene alguno de los siguientes estatus:

  • COMPLETADO
  • COMPLETADO_CON_FALTANTES

Suite Insomnia

Puedes probar todos los endpoints de la API de manera rápida con la suite de Insomnia disponible en el siguiente enlace

Para más información consulte la documentación oficial de Insomnia.

FAQ

  • 🔁 Consultas con estatus REPETIR


    Se debe enviar la solicitud nuevamente para obtener los archivos XML

    Repetir

  • ❌ Tengo XML Faltantes


    Es posible que hayas superado el limite del SAT.

    Limite

  • 🔑 Obtengo fallo de autenticación


    Es posible que la resolución del captcha falle. Tambien, recomendamos verificar tus credenciales directamente en el portal del SAT

    Fallo de autenticación

  • Consultas en espera


    Si tu consulta lleva demasiado tiempo en espera, es posible que el portal del SAT presente cierto grado de degradación o nuestro servicio está bajo alta demanda.