Ir al contenido principal

Listar Resoluciones [BETA]

Funcionalidad en pruebas
Esta funcionalidad forma parte de un proceso de pruebas internas y no se encuentra disponible para usuarios del sistema.

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

  1. Relación con facturas: El resolucion_id retornado puede usarse como valor del parámetro resolucion_id en el endpoint Listar Facturas para filtrar facturas que pertenecen a una resolución específica.

  2. Tipo de resolución: El campo resolucion_para diferencia 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.

  3. Filtros de fecha: Los filtros fecha_desde / fecha_hasta aplican sobre la fecha de expedición de la resolución, mientras que fecha_vigencia_desde / fecha_vigencia_hasta aplican sobre la fecha de vigencia. Ambos rangos pueden combinarse en una misma consulta.

  4. Ordenamiento: Las resoluciones se retornan ordenadas por resolucion_id de 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));

¿Necesita ayuda adicional?

Nuestro equipo de soporte está disponible para asistirle:

Escríbenos a nuestro correo:

📞 (604) 444-7417 Opción 2

📧 soporte@nuby.ai

Escríbenos a nuestra línea de Whatsapp:

Whatsapp

Síguenos en nuestras redes sociales: