POST /dte documento por documento, se sube un archivo Excel con una fila por documento (y sus ítems), y un proceso asíncrono de Fegora emite cada documento por su cuenta.
Crear un lote: POST /lote
Respuesta
cantidadOperaciones contando las filas no vacías de la columna OPERACION (menos el encabezado). Si el archivo no puede leerse, no tiene hojas, no tiene filas o falta la columna OPERACION, la solicitud falla con 400 y uno de los códigos LOT-INVEXC-2..LOT-INVEXC-5.
Formato del archivo Excel
- Extensión:
.xlsxúnicamente. La validación al crear el lote usa una librería que no lee el formato antiguo.xls— un archivo.xlses rechazado conLOT-INVEXC-2antes de procesarse. - La primera fila debe contener los encabezados de columna (nombres exactos, sin distinguir mayúsculas/minúsculas).
- Cada documento ocupa una fila de encabezado (con la columna
OPERACIONenCREAR) seguida de una o más filas de detalle (una por ítem, sin valor enOPERACION), hasta la siguiente filaCREARo hasta 5 filas vacías consecutivas.
Columnas de encabezado del documento
Columnas de detalle (una fila por ítem)
Seguir el estado: GET /lote/{id}
cantidadOperacionesPendientesEjecucion sea mayor a cero, siga consultando este endpoint periódicamente hasta que llegue a cero.
Actualizar un lote: PATCH /lote/{id}
Fegora usa esta misma ruta internamente para reportar el avance del procesamiento. Como integrador normalmente sólo necesita leer el lote (GET /lote/{id}), pero la ruta de actualización acepta los mismos campos:
Obtener los resultados por fila
Cuando el lote termina de procesarse,resultadoArchivoUri (si está disponible) apunta a un archivo con el detalle de cada fila, incluidas las que fallaron.
Páginas relacionadas
Carga masiva (guía de usuario)
La misma funcionalidad desde la aplicación web, sin usar el API directamente.
Casos especiales
Plantillas reutilizables, resguardo de XML y otros flujos fuera de la emisión estándar.