Documentos
Facturas, cotizaciones, notas de crédito y otros documentos tributarios o de venta/compra. Todas las rutas requieren autenticación.
Rutas principales
| Método | Ruta | Descripción |
|---|---|---|
| GET | /documents | Lista documentos (paginado) |
| GET | /documents/:id | Obtiene un documento por ID |
| POST | /documents | Crea un documento |
| PUT | /documents/:id | Actualiza un documento |
| POST | /documents/:id/confirm | Confirma un documento |
| POST | /documents/:id/cancel | Cancela un documento |
Parámetros de listado (GET /documents)
| Parámetro | Tipo | Descripción |
|---|---|---|
page | number | Número de página (ej. 1) |
limit | number | Registros por página (ej. 20) |
type | string | Código tipo documento |
status | string | Estado del documento |
| Filtros de fecha | - | Según implementación |
Ejemplo: listar documentos
curl -X GET "https://api.abaco.hn/documents?page=1&limit=10" \
-H "Authorization: Bearer TU_KEY_ID:TU_SECRET"Ejemplo de respuesta (lista)
{
"documents": [
{
"id": 1,
"number": "001-001-0000001",
"type": "01",
"businessPartnerId": 10,
"total": 1500.00,
"status": "confirmed",
"createdAt": "2024-01-15T10:00:00.000Z"
}
],
"total": 1,
"page": 1,
"limit": 10
}Confirmar documento
POST /documents/:id/confirmConfirma un documento de compra (103, 105, 106). Al confirmar se aplica inventario (si es IA o fue desconfirmado) y se genera el asiento contable.
Auto-confirmación
Los documentos de compra 103, 105 y 106 creados sin extracción automática desde factura se auto-confirman al guardarse. Los creados con ese flujo requieren confirmación manual.
Desconfirmar documento
POST /documents/:id/unconfirmSolo aplica a documentos tipo 103. Revierte el inventario y permite volver a editar el documento. Requiere que no existan pagos confirmados.
Cancelar documento
POST /documents/:id/cancelCancela notas de crédito (06, 105), notas de débito (07, 106) e importaciones (104). Revierte inventario y genera asiento contable de reversión.
Borrado definitivo de borradores
La eliminación física de un documento de compra tipo 103 aún no confirmado (inventario y asientos asociados) solo está disponible desde la aplicación web; no con API key.
Imprimir documento
POST /documents/:id/printGenera un PDF del documento usando la plantilla Jasper seleccionada.
Enviar documento por email
POST /send-document{
"templateId": 1,
"documentId": 123,
"email": "cliente@ejemplo.com",
"subject": "Su factura",
"message": "Adjunto su factura",
"sendFrom": "gmail"
}Tipos de documento
| Código | Tipo | Módulo |
|---|---|---|
| 01 | Factura de venta | Ventas |
| 06 | Nota de crédito venta | Ventas |
| 07 | Nota de débito venta | Ventas |
| 100 | Cotización | Ventas |
| 101 | Orden de venta | Ventas |
| 112 | Entrega | Ventas |
| 113 | Factura de reserva | Ventas |
| 103 | Factura de compra | Compras |
| 104 | Importación | Compras |
| 105 | Nota de crédito compra | Compras |
| 106 | Nota de débito compra | Compras |
| 102 | Orden de compra | Compras |
| 11 | Boleta / Gastos | Compras |
| 05 | Comprobante de retención | Ambos |
Errores comunes
- 401: Revisar que el header
Authorization: Bearer <keyId:secret>sea correcto. - 403: La compañía de la API key no tiene acceso al recurso, o el documento no es editable.
- 404: No existe un documento con ese
id. - 400: Validación fallida (montos, cuentas contables, período cerrado, etc.)