Facturas
Maneja las operaciones relacionadas con facturas en la API.
Endpoints
Section titled “Endpoints”Obtener todas las facturas
Section titled “Obtener todas las facturas”GET /invoices
Obtiene el listado de todas las facturas.
Respuesta
Section titled “Respuesta”La API devolverá un array con todas las facturas registradas o un mensaje de error en caso de fallar.
Respuesta exitosa:
[ { "id": "uuid-factura-1", "customerId": "uuid-cliente", "issueDate": "2025-06-02", "companyId": "uuid-empresa", "establishmentId": "uuid-establecimiento", "emissionPointId": "uuid-punto-emision", "documentTypeId": "uuid-tipo-documento" // ... otros campos de la factura }, { "id": "uuid-factura-2" // ... datos de otra factura }]Posibles errores
Section titled “Posibles errores”| Código | Descripción |
|---|---|
| 500 | Error interno al obtener la lista de facturas |
{ "statusCode": 500, "message": "Error fetching invoices: [detalles del error]"}Crear una nueva factura
Section titled “Crear una nueva factura”POST /invoice
Crea una nueva factura procesando todos los pasos necesarios.
Encabezados requeridos
Section titled “Encabezados requeridos”| Key | Value (Ejemplo de Clave API para autenticación) |
|---|---|
| x-api-key | $2a$12$IQf1vb/MNB7o3UKLMCECZeX.SzHl4C3kZmqkzF9c/JZkqp/mVlbBS |
Cuerpo de la solicitud (JSON):
{ "customerId": "uuid-cliente", "issueDate": "2025-06-02", "companyId": "uuid-empresa", "establishmentId": "uuid-establecimiento", "emissionPointId": "uuid-punto-emision", "documentTypeId": "uuid-tipo-documento", "tenantId": "uuid-tenant", "paymentMethods": [ { "paymentMethodId": "uuid-metodo-pago", "deadline": 30, "timeUnit": "DAY", "value": "100.00" } ], "details": [ { "productId": "uuid-producto", "quantity": 2, "price": "50.00", "discount": "0.00" } ]}Campos del objeto para crear una factura
Section titled “Campos del objeto para crear una factura”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| customerId | String (UUID) | Sí | ID del cliente |
| issueDate | String | Sí | Fecha de emisión de la factura |
| companyId | String (UUID) | Sí | ID de la empresa |
| establishmentId | String (UUID) | Sí | ID del establecimiento |
| emissionPointId | String (UUID) | Sí | ID del punto de emisión |
| documentTypeId | String (UUID) | Sí | ID del tipo de documento |
| tenantId | String (UUID) | No | ID del tenant |
| paymentMethods | Array | Sí | Métodos de pago para la factura |
| details | Array | Sí | Detalles de los productos de la factura |
| paymentMethodId | String (UUID) | Sí | ID del método de pago |
| deadline | Integer | No | Plazo de pago |
| timeUnit | Enum (TimeUnit) | No | Unidad de tiempo para el plazo (DAY, MONTH, YEAR) |
| value | String (Decimal) | Sí | Valor del pago |
Respuesta
Section titled “Respuesta”La API devolverá la información de la factura creada exitosamente o un mensaje de error en caso de fallar.
{ "id": "550e8400-e29b-41d4-a716-446655440000", "customerId": "uuid-cliente", "issueDate": "2025-06-02", "companyId": "uuid-empresa", "establishmentId": "uuid-establecimiento", "emissionPointId": "uuid-punto-emision", "documentTypeId": "uuid-tipo-documento", "tenantId": "uuid-tenant", "paymentMethods": [ { "id": "663e8344-a29e-41b5-b716-446655440123", "paymentMethodId": "uuid-metodo-pago", "deadline": 30, "timeUnit": "DAY", "value": "100.00" } ], "details": [ { "id": "772e9500-e29b-41d4-a716-446655440321", "productId": "uuid-producto", "quantity": 2, "price": "50.00", "discount": "0.00" } ], "createdAt": "2025-06-02T12:00:00Z", "updatedAt": "2025-06-02T12:00:00Z"}Posibles errores
Section titled “Posibles errores”| Código | Descripción |
|---|---|
| 400 | Error en la creación de la factura con detalles del problema |
{ "statusCode": 400, "message": "Error creating invoice: [detalles del error]"}Obtener una factura por ID
Section titled “Obtener una factura por ID”GET /invoices/{id}
Obtiene la información detallada de una factura específica a partir de su ID.
Encabezados requeridos
Section titled “Encabezados requeridos”| Encabezado | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| x-api-key | String | Clave API para autenticación (formato similar a bcrypt) | $2a$12$IQf1vb/MNB7o3UKLMCECZeX.SzHl4C3kZmqkzF9c/JZkqp/mVlbBS |
Parámetros de ruta
Section titled “Parámetros de ruta”| Parámetro | Tipo | Descripción |
|---|---|---|
| id | String (UUID) | ID de la factura a consultar |
Respuesta
Section titled “Respuesta”La API devolverá los detalles completos de la factura solicitada o un mensaje de error en caso de fallar.
Respuesta exitosa:
{ "id": "uuid-factura", "customerId": "uuid-cliente", "issueDate": "2025-06-02", "companyId": "uuid-empresa", "establishmentId": "uuid-establecimiento", "emissionPointId": "uuid-punto-emision", "documentTypeId": "uuid-tipo-documento", "tenantId": "uuid-tenant", "paymentMethods": [ { "id": "uuid-pago", "paymentMethodId": "uuid-metodo-pago", "deadline": 30, "timeUnit": "DAY", "value": "100.00" } ], "details": [ { "id": "uuid-detalle", "productId": "uuid-producto", "quantity": 2, "price": "50.00", "discount": "0.00" } ], "createdAt": "2025-06-02T12:00:00Z", "updatedAt": "2025-06-02T12:00:00Z"}Posibles errores
Section titled “Posibles errores”| Código | Descripción |
|---|---|
| 500 | Error interno al obtener la factura |
| 404 | La factura con el ID proporcionado no ha sido encontrada |
{ "statusCode": 500, "message": "Error fetching invoice: [detalles del error]"}{ "statusCode": 404, "message": "Invoice not found"}