Listar Resoluciones
Permite obtener el listado de resoluciones de facturación configuradas en la inmobiliaria. Retorna tanto las resoluciones de facturación como las de documento soporte, con soporte para paginación y múltiples filtros.
Endpoint: https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions
{{instancia}}: Hace referencia a la instancia de cada inmobiliaria.
Petición
| Método | GET |
| Content-Type | application/json |
| Authorization | Bearer token, Token obtenido al consumir el servicio Login |
| Parámetros | ||||
| Parámetro | Tipo | Obligatorio | Valor por defecto | Descripción |
| page | integer | No | 1 | Especifica la página de resultados que se desea recuperar al realizar la solicitud. |
| page_size | integer | No | 10 | Especifica el número máximo de elementos que se deben devolver en la solicitud, el límite máximo es de 1000. |
| activa | string | No | - | Filtra resoluciones por estado activo. Valores válidos: SI (activas) o NO (inactivas). |
| tipo_doc_id | integer | No | - | Filtra resoluciones por el ID del tipo de documento contable asociado. |
| fact_electronica | string | No | - | Filtra resoluciones por facturación electrónica. Valores válidos: SI o NO. |
| resolucion_para | integer | No | - | Filtra resoluciones por tipo. Valores válidos: 1 (Factura de Venta) o 2 (Documento Soporte). Si no se especifica, retorna ambos tipos. |
| fecha_desde | string | No | - | Fecha mínima de la resolución. Formato: YYYY-MM-DD (ej: 2025-01-01). |
| fecha_hasta | string | No | - | Fecha máxima de la resolución. Formato: YYYY-MM-DD (ej: 2026-12-31). |
| fecha_vigencia_desde | string | No | - | Fecha mínima de vigencia de la resolución. Formato: YYYY-MM-DD. |
| fecha_vigencia_hasta | string | No | - | Fecha máxima de vigencia de la resolución. Formato: YYYY-MM-DD. |
Ejemplos de peticiones
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?page=1&page_size=50
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?activa=SI
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?resolucion_para=1
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?resolucion_para=2&activa=SI
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?fact_electronica=SI&page_size=100
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?fecha_desde=2024-01-01&fecha_hasta=2026-12-31
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?resolucion_para=1&activa=SI&fact_electronica=SI&page_size=50
Respuesta
Lista de resoluciones de facturación con información del tipo de documento asociado, datos de consecutivos, fechas, estado y metadatos de paginación.
{
"status": 200,
"message": null,
"body": [
{
"resolucion_id": 4,
"tipo_doc_id": 7,
"tipo_doc": "Factura",
"resolucion_numero": "18700052960",
"consecutivo_iniciar": 1,
"consecutivo_inicial": 1,
"consecutivo_final": 20000,
"fecha": "2025-07-24",
"fecha_vigencia": "2026-07-24",
"prefijo": "FE",
"dias_vencimiento": 5,
"activa": "SI",
"codigo_barra": "NO",
"codigo_ean": null,
"tipo_resolucion": null,
"creadopor": 5,
"fechacreacion": "2025-07-24 12:00:01",
"modificadopor": null,
"fechamodificacion": null,
"fact_electronica": "SI",
"resolucion_para": 1
},
{
"resolucion_id": 2,
"tipo_doc_id": 39,
"tipo_doc": "Documento Soporte",
"resolucion_numero": "18760000012",
"consecutivo_iniciar": 1,
"consecutivo_inicial": 1,
"consecutivo_final": 1000000,
"fecha": "2022-09-01",
"fecha_vigencia": "2024-05-31",
"prefijo": "DS",
"dias_vencimiento": 5,
"activa": "SI",
"codigo_barra": "NO",
"codigo_ean": null,
"tipo_resolucion": null,
"creadopor": 5,
"fechacreacion": "2024-05-02 15:01:48",
"modificadopor": 5,
"fechamodificacion": "2024-05-06 15:05:23",
"fact_electronica": "SI",
"resolucion_para": 2
}
],
"pagination": {
"total_records": 4,
"total_pages": 2,
"current_page": 1,
"page_size": 2,
"current_page_records": 2,
"has_next_page": true,
"has_previous_page": false
},
"filters_applied": null
}
Claves y Descripciones del JSON de Respuesta
Esta tabla enumera las claves presentes en el JSON principal de la respuesta y proporciona una breve descripción de cada una.
| Clave | Tipo | Descripción |
|---|---|---|
status |
Entero | Código del estado de la respuesta: 200 para exitoso, 400 para errores de validación, 500 para error interno. |
message |
Texto | Cuando la respuesta es exitosa, es nulo, y cuando hay error o no se encontraron resultados, contiene el mensaje descriptivo. |
body |
Array | Contiene el listado de resoluciones retornadas por la API. Es un array vacío si no hay resultados. |
pagination |
Objeto | Contiene toda la información de paginación de la consulta. |
filters_applied |
Objeto | Contiene los filtros que fueron aplicados en la consulta. Es nulo si no se aplicaron filtros. |
Cuerpo
Cada elemento dentro de la lista body tiene las siguientes claves:
| Clave | Tipo | Descripción |
|---|---|---|
resolucion_id |
Entero | Identificador único de la resolución. Use este valor para el parámetro resolucion_id al filtrar facturas en el endpoint Listar Facturas. |
tipo_doc_id |
Entero | Identificador del tipo de documento contable asociado a la resolución. Puede ser nulo. |
tipo_doc |
Texto | Nombre del tipo de documento contable (ej: "Factura", "Documento Soporte"). Puede ser nulo si no tiene tipo de documento asociado. |
resolucion_numero |
Texto | Número de la resolución asignado por la DIAN. |
consecutivo_iniciar |
Entero | Consecutivo a partir del cual se empezará a facturar. Debe estar entre el consecutivo inicial y final. |
consecutivo_inicial |
Entero | Consecutivo inicial autorizado por la DIAN. |
consecutivo_final |
Entero | Consecutivo final autorizado por la DIAN. |
fecha |
Texto | Fecha de expedición de la resolución. Formato: YYYY-MM-DD. |
fecha_vigencia |
Texto | Fecha de vigencia (vencimiento) de la resolución. Formato: YYYY-MM-DD. |
prefijo |
Texto | Prefijo asignado a la resolución (ej: "FE", "DS", "PR"). |
dias_vencimiento |
Entero | Días de vencimiento configurados para las facturas generadas con esta resolución. |
activa |
Texto | Estado de la resolución: SI (activa) o NO (inactiva). |
codigo_barra |
Texto | Indica si la resolución tiene código de barras habilitado: SI o NO. |
codigo_ean |
Texto | Código EAN asociado a la resolución. Puede ser nulo si no se ha configurado. |
tipo_resolucion |
Entero | Tipo interno de la resolución. Puede ser nulo. |
creadopor |
Entero | Identificador del usuario que creó la resolución. Puede ser nulo. |
fechacreacion |
Texto | Fecha y hora de creación de la resolución. Formato: YYYY-MM-DD HH:MM:SS. |
modificadopor |
Entero | Identificador del usuario que modificó la resolución por última vez. Puede ser nulo. |
fechamodificacion |
Texto | Fecha y hora de la última modificación de la resolución. Puede ser nulo. Formato: YYYY-MM-DD HH:MM:SS. |
fact_electronica |
Texto | Indica si la resolución es de facturación electrónica: SI o NO. |
resolucion_para |
Entero | Tipo de resolución: 1 = Factura de Venta, 2 = Documento Soporte (no obligados a facturar). |
Paginación
El objeto pagination tiene las siguientes claves:
| Clave | Tipo | Descripción |
|---|---|---|
total_records |
Numérico | Total de resoluciones que coinciden con los filtros aplicados. |
total_pages |
Numérico | Cantidad de páginas, corresponde al total de registros dividido por el tamaño de la página. |
current_page |
Numérico | Página actual de la consulta. |
page_size |
Numérico | Tamaño de la página, es decir, cantidad máxima de registros por consulta. |
current_page_records |
Numérico | Cantidad de registros retornados en la página actual. |
has_next_page |
Booleano | Verdadero si hay siguientes páginas que se pueden consultar, falso en otro caso. |
has_previous_page |
Booleano | Verdadero si existen páginas previas que se pueden consultar, falso en otro caso. |
Filtros Aplicados
El objeto filters_applied contiene los filtros que fueron utilizados en la consulta. Solo se incluye en la respuesta cuando se aplican filtros. Las posibles claves son:
| Clave | Tipo | Descripción |
|---|---|---|
activa |
Texto | Estado activo utilizado como filtro: SI o NO. |
tipo_doc_id |
Entero | ID del tipo de documento contable utilizado como filtro. |
fact_electronica |
Texto | Filtro de facturación electrónica utilizado: SI o NO. |
resolucion_para |
Entero | Tipo de resolución utilizado como filtro: 1 (Factura) o 2 (Documento Soporte). |
fecha_desde |
Texto | Fecha mínima de resolución utilizada como filtro. |
fecha_hasta |
Texto | Fecha máxima de resolución utilizada como filtro. |
fecha_vigencia_desde |
Texto | Fecha mínima de vigencia utilizada como filtro. |
fecha_vigencia_hasta |
Texto | Fecha máxima de vigencia utilizada como filtro. |
Respuesta con Filtros Aplicados
{
"status": 200,
"message": null,
"body": [
{
"resolucion_id": 4,
"tipo_doc_id": 7,
"tipo_doc": "Factura",
"resolucion_numero": "18700052960",
"consecutivo_iniciar": 1,
"consecutivo_inicial": 1,
"consecutivo_final": 20000,
"fecha": "2025-07-24",
"fecha_vigencia": "2026-07-24",
"prefijo": "FE",
"dias_vencimiento": 5,
"activa": "SI",
"codigo_barra": "NO",
"codigo_ean": null,
"tipo_resolucion": null,
"creadopor": 5,
"fechacreacion": "2025-07-24 12:00:01",
"modificadopor": null,
"fechamodificacion": null,
"fact_electronica": "SI",
"resolucion_para": 1
}
],
"pagination": {
"total_records": 3,
"total_pages": 1,
"current_page": 1,
"page_size": 10,
"current_page_records": 3,
"has_next_page": false,
"has_previous_page": false
},
"filters_applied": {
"resolucion_para": 1,
"activa": "SI"
}
}
Respuesta Sin Resultados
{
"status": 200,
"message": "No se encontraron resoluciones con los criterios especificados.",
"body": [],
"pagination": {
"total_records": 0,
"total_pages": 0,
"current_page": 1,
"page_size": 10,
"current_page_records": 0,
"has_next_page": false,
"has_previous_page": false
},
"filters_applied": {
"activa": "NO"
}
}
Respuesta de Error
Error de Validación (400)
Se retorna cuando se envía un parámetro con un valor no válido.
{
"status": 400,
"message": "El parámetro \"activa\" debe ser \"SI\" o \"NO\".",
"body": null,
"pagination": null,
"filters_applied": null
}
{
"status": 400,
"message": "El parámetro \"resolucion_para\" debe ser 1 (Factura) o 2 (Documento Soporte).",
"body": null,
"pagination": null,
"filters_applied": null
}
{
"status": 400,
"message": "El parámetro \"fecha_desde\" debe tener el formato Y-m-d (ej: 2026-01-15).",
"body": null,
"pagination": null,
"filters_applied": null
}
Error Interno (500)
Se retorna cuando ocurre un error inesperado en el servidor.
{
"status": 500,
"message": "Error interno del servidor al obtener las resoluciones.",
"body": null,
"pagination": null,
"filters_applied": null
}
Códigos de Respuesta HTTP
| Código | Descripción |
|---|---|
| 200 | Consulta exitosa. El cuerpo de la respuesta contiene las resoluciones (puede ser un array vacío si no hay resultados). |
| 400 | Error de validación. Algún parámetro tiene un valor no válido. El campo message indica el parámetro y los valores aceptados. |
| 500 | Error interno del servidor. |
Valores de Referencia
Valores de resolucion_para
| Valor | Descripción |
|---|---|
| 1 | Factura de Venta — Resoluciones utilizadas para la emisión de facturas de venta |
| 2 | Documento Soporte — Resoluciones utilizadas para documento soporte de no obligados a facturar |
Valores de activa
| Valor | Descripción |
|---|---|
| SI | La resolución está activa y disponible para facturación |
| NO | La resolución está inactiva y no se puede usar para facturar |
Notas Importantes
-
Relación con facturas: El
resolucion_idretornado puede usarse como valor del parámetroresolucion_iden el endpoint Listar Facturas para filtrar facturas que pertenecen a una resolución específica. -
Tipo de resolución: El campo
resolucion_paradiferencia las resoluciones de facturación (1) de las de documento soporte (2). En el sistema, las resoluciones de facturación se configuran en Configuraciones > Facturación y las de documento soporte en Configuraciones > Facturas de Compra. -
Filtros de fecha: Los filtros
fecha_desde/fecha_hastaaplican sobre la fecha de expedición de la resolución, mientras quefecha_vigencia_desde/fecha_vigencia_hastaaplican sobre la fecha de vigencia. Ambos rangos pueden combinarse en una misma consulta. -
Ordenamiento: Las resoluciones se retornan ordenadas por
resolucion_idde forma descendente (las más recientes primero).
Ejemplos
Curl
curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_AUTHENTICATION_TOKEN"
Con filtros:
curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/resolutions?resolucion_para=1&activa=SI&page_size=50" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_AUTHENTICATION_TOKEN"
PHP Curl
<?php
$instance = 'your_instance'; // Reemplace con su instancia actual
$token = 'YOUR_AUTHENTICATION_TOKEN'; // Reemplace con el token obtenido desde el servicio de login
// Parámetros de ejemplo
$page = 1;
$pageSize = 50;
// Parámetros de filtro opcionales
$resolucionPara = 1; // Opcional: 1 = Factura, 2 = Documento Soporte
$activa = 'SI'; // Opcional: 'SI' o 'NO'
$factElectronica = null; // Opcional: 'SI' o 'NO'
$url = "https://{$instance}.arrendasoft.co/service/v2/public/invoices/resolutions";
// Construir parámetros de consulta
$queryParams = [
'page' => $page,
'page_size' => $pageSize
];
if (!empty($resolucionPara)) {
$queryParams['resolucion_para'] = $resolucionPara;
}
if (!empty($activa)) {
$queryParams['activa'] = $activa;
}
if (!empty($factElectronica)) {
$queryParams['fact_electronica'] = $factElectronica;
}
$url .= '?' . http_build_query($queryParams);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
echo "HTTP Status Code: " . $http_code . "\n";
echo "Response: " . $response . "\n";
// Procesar la respuesta
$result = json_decode($response, true);
if ($http_code == 200 && !empty($result['body'])) {
echo "Se encontraron " . $result['pagination']['total_records'] . " resoluciones.\n\n";
foreach ($result['body'] as $resolucion) {
echo "ID: " . $resolucion['resolucion_id'] . "\n";
echo "Número: " . $resolucion['resolucion_numero'] . "\n";
echo "Prefijo: " . $resolucion['prefijo'] . "\n";
echo "Tipo: " . $resolucion['tipo_doc'] . "\n";
echo "Activa: " . $resolucion['activa'] . "\n";
echo "Vigencia: " . $resolucion['fecha_vigencia'] . "\n";
echo "---\n";
}
} else {
echo $result['message'] ?? "No se encontraron resoluciones.\n";
}
}
curl_close($ch);
?>
JavaScript Fetch
const instance = 'your_instance'; // Reemplace con su instancia actual
const token = 'YOUR_AUTHENTICATION_TOKEN'; // Reemplace con el token obtenido
// Parámetros de filtro opcionales
const params = new URLSearchParams();
params.append('page', '1');
params.append('page_size', '50');
params.append('resolucion_para', '1'); // Opcional: 1 = Factura, 2 = Documento Soporte
params.append('activa', 'SI'); // Opcional: 'SI' o 'NO'
// params.append('fact_electronica', 'SI'); // Opcional: descomentar para filtrar
const url = `https://${instance}.arrendasoft.co/service/v2/public/invoices/resolutions?${params.toString()}`;
fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
})
.then(response => response.json())
.then(data => {
if (data.status === 200 && data.body.length > 0) {
console.log(`Se encontraron ${data.pagination.total_records} resoluciones:`);
data.body.forEach(res => {
console.log(`- ${res.prefijo} ${res.resolucion_numero} (ID: ${res.resolucion_id})`);
console.log(` Tipo: ${res.tipo_doc} | Activa: ${res.activa}`);
console.log(` Consecutivos: ${res.consecutivo_inicial} - ${res.consecutivo_final}`);
console.log(` Vigencia: ${res.fecha} a ${res.fecha_vigencia}`);
});
// Información de paginación
console.log(`\nPágina ${data.pagination.current_page} de ${data.pagination.total_pages}`);
} else {
console.log(data.message || 'No se encontraron resoluciones.');
}
})
.catch(error => console.error('Error de conexión:', error));