# 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://<span style="color: rgb(241, 196, 15);">***{{instancia}}***</span>.arrendasoft.co/service/v2/public/invoices/resolutions

**<span style="color: rgb(241, 196, 15);">{{instancia}}</span>:** Hace referencia a la instancia de cada inmobiliaria.

#### **Petición**

<div class="markdown-body" dir="auto" id="bkmrk-m%C3%A9todo-get-content-t"><table border="1" style="width: 100%;"><colgroup><col style="width: 39.4436%;"></col><col style="width: 60.5167%;"></col></colgroup><tbody><tr><td>**Método**</td><td>GET</td></tr><tr><td>**Content-Type**</td><td>application/json</td></tr><tr><td>**Authorization**</td><td>**Bearer token**, Token obtenido al consumir el servicio [Login](https://docs.nuby.ai/books/api-nuby-v2/page/login)</td></tr></tbody></table>

<table border="1" style="width: 100%;"><colgroup><col style="width: 16%;"></col><col style="width: 8%;"></col><col style="width: 11%;"></col><col style="width: 13%;"></col><col style="width: 52%;"></col></colgroup><tbody><tr><td class="align-center" colspan="5">**Parámetros**</td></tr><tr><td class="align-center">**Parámetro**</td><td class="align-center">**Tipo**</td><td class="align-center">**Obligatorio**</td><td class="align-center">**Valor por defecto**</td><td class="align-center">**Descripción**</td></tr><tr><td>page</td><td>integer</td><td class="align-center">No</td><td class="align-center">1</td><td>Especifica la página de resultados que se desea recuperar al realizar la solicitud.</td></tr><tr><td>page\_size</td><td>integer</td><td class="align-center">No</td><td class="align-center">10</td><td>Especifica el número máximo de elementos que se deben devolver en la solicitud, el límite máximo es de 1000.</td></tr><tr><td>activa</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Filtra resoluciones por estado activo. Valores válidos: `SI` (activas) o `NO` (inactivas).</td></tr><tr><td>tipo\_doc\_id</td><td>integer</td><td class="align-center">No</td><td class="align-center">-</td><td>Filtra resoluciones por el ID del tipo de documento contable asociado.</td></tr><tr><td>fact\_electronica</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Filtra resoluciones por facturación electrónica. Valores válidos: `SI` o `NO`.</td></tr><tr><td>resolucion\_para</td><td>integer</td><td class="align-center">No</td><td class="align-center">-</td><td>Filtra resoluciones por tipo. Valores válidos: `1` (Factura de Venta) o `2` (Documento Soporte). Si no se especifica, retorna ambos tipos.</td></tr><tr><td>fecha\_desde</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Fecha mínima de la resolución. Formato: `YYYY-MM-DD` (ej: `2025-01-01`).</td></tr><tr><td>fecha\_hasta</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Fecha máxima de la resolución. Formato: `YYYY-MM-DD` (ej: `2026-12-31`).</td></tr><tr><td>fecha\_vigencia\_desde</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Fecha mínima de vigencia de la resolución. Formato: `YYYY-MM-DD`.</td></tr><tr><td>fecha\_vigencia\_hasta</td><td>string</td><td class="align-center">No</td><td class="align-center">-</td><td>Fecha máxima de vigencia de la resolución. Formato: `YYYY-MM-DD`.</td></tr></tbody></table>

</div>**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.

```json
{
    "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.

<table id="bkmrk-clave-tipo-descripci" style="width: 100%;"><thead><tr><th style="width: 16%;">**Clave**</th><th style="width: 8%;">**Tipo**</th><th style="width: 76%;">**Descripción**</th></tr></thead><tbody><tr><td style="width: 16%;">`status`</td><td style="width: 8%;">Entero</td><td style="width: 76%;">Código del estado de la respuesta: 200 para exitoso, 400 para errores de validación, 500 para error interno.</td></tr><tr><td style="width: 16%;">`message`</td><td style="width: 8%;">Texto</td><td style="width: 76%;">Cuando la respuesta es exitosa, es nulo, y cuando hay error o no se encontraron resultados, contiene el mensaje descriptivo.</td></tr><tr><td style="width: 16%;">`body`</td><td style="width: 8%;">Array</td><td style="width: 76%;">Contiene el listado de resoluciones retornadas por la API. Es un array vacío si no hay resultados.</td></tr><tr><td style="width: 16%;">`pagination`</td><td style="width: 8%;">Objeto</td><td style="width: 76%;">Contiene toda la información de paginación de la consulta.</td></tr><tr><td style="width: 16%;">`filters_applied`</td><td style="width: 8%;">Objeto</td><td style="width: 76%;">Contiene los filtros que fueron aplicados en la consulta. Es nulo si no se aplicaron filtros.</td></tr></tbody></table>

##### Cuerpo

Cada elemento dentro de la lista `body` tiene las siguientes claves:

<table id="bkmrk-clave-tipo-descripci-1" style="width: 100%;"><thead><tr><th style="width: 18%;">**Clave**</th><th style="width: 10%;">**Tipo**</th><th style="width: 72%;">**Descripción**</th></tr></thead><tbody><tr><td style="width: 18%;">`resolucion_id`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Identificador único de la resolución. Use este valor para el parámetro `resolucion_id` al filtrar facturas en el endpoint [Listar Facturas](https://docs.nuby.ai/books/api-nuby-v2/page/listar-facturas "Listar Facturas").</td></tr><tr><td style="width: 18%;">`tipo_doc_id`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Identificador del tipo de documento contable asociado a la resolución. Puede ser nulo.</td></tr><tr><td style="width: 18%;">`tipo_doc`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Nombre del tipo de documento contable (ej: "Factura", "Documento Soporte"). Puede ser nulo si no tiene tipo de documento asociado.</td></tr><tr><td style="width: 18%;">`resolucion_numero`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Número de la resolución asignado por la DIAN.</td></tr><tr><td style="width: 18%;">`consecutivo_iniciar`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Consecutivo a partir del cual se empezará a facturar. Debe estar entre el consecutivo inicial y final.</td></tr><tr><td style="width: 18%;">`consecutivo_inicial`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Consecutivo inicial autorizado por la DIAN.</td></tr><tr><td style="width: 18%;">`consecutivo_final`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Consecutivo final autorizado por la DIAN.</td></tr><tr><td style="width: 18%;">`fecha`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Fecha de expedición de la resolución. Formato: `YYYY-MM-DD`.</td></tr><tr><td style="width: 18%;">`fecha_vigencia`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Fecha de vigencia (vencimiento) de la resolución. Formato: `YYYY-MM-DD`.</td></tr><tr><td style="width: 18%;">`prefijo`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Prefijo asignado a la resolución (ej: "FE", "DS", "PR").</td></tr><tr><td style="width: 18%;">`dias_vencimiento`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Días de vencimiento configurados para las facturas generadas con esta resolución.</td></tr><tr><td style="width: 18%;">`activa`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Estado de la resolución: `SI` (activa) o `NO` (inactiva).</td></tr><tr><td style="width: 18%;">`codigo_barra`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Indica si la resolución tiene código de barras habilitado: `SI` o `NO`.</td></tr><tr><td style="width: 18%;">`codigo_ean`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Código EAN asociado a la resolución. Puede ser nulo si no se ha configurado.</td></tr><tr><td style="width: 18%;">`tipo_resolucion`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Tipo interno de la resolución. Puede ser nulo.</td></tr><tr><td style="width: 18%;">`creadopor`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Identificador del usuario que creó la resolución. Puede ser nulo.</td></tr><tr><td style="width: 18%;">`fechacreacion`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Fecha y hora de creación de la resolución. Formato: `YYYY-MM-DD HH:MM:SS`.</td></tr><tr><td style="width: 18%;">`modificadopor`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Identificador del usuario que modificó la resolución por última vez. Puede ser nulo.</td></tr><tr><td style="width: 18%;">`fechamodificacion`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Fecha y hora de la última modificación de la resolución. Puede ser nulo. Formato: `YYYY-MM-DD HH:MM:SS`.</td></tr><tr><td style="width: 18%;">`fact_electronica`</td><td style="width: 10%;">Texto</td><td style="width: 72%;">Indica si la resolución es de facturación electrónica: `SI` o `NO`.</td></tr><tr><td style="width: 18%;">`resolucion_para`</td><td style="width: 10%;">Entero</td><td style="width: 72%;">Tipo de resolución: `1` = Factura de Venta, `2` = Documento Soporte (no obligados a facturar).</td></tr></tbody></table>

##### Paginación

El objeto `pagination` tiene las siguientes claves:

<table id="bkmrk-clave-tipo-descripci-2" style="width: 100%;"><thead><tr><th style="width: 21%;">**Clave**</th><th style="width: 11%;">**Tipo**</th><th style="width: 68%;">**Descripción**</th></tr></thead><tbody><tr><td style="width: 21%;">`total_records`</td><td style="width: 11%;">Numérico</td><td style="width: 68%;">Total de resoluciones que coinciden con los filtros aplicados.</td></tr><tr><td style="width: 21%;">`total_pages`</td><td style="width: 11%;">Numérico</td><td style="width: 68%;">Cantidad de páginas, corresponde al total de registros dividido por el tamaño de la página.</td></tr><tr><td style="width: 21%;">`current_page`</td><td style="width: 11%;">Numérico</td><td style="width: 68%;">Página actual de la consulta.</td></tr><tr><td style="width: 21%;">`page_size`</td><td style="width: 11%;">Numérico</td><td style="width: 68%;">Tamaño de la página, es decir, cantidad máxima de registros por consulta.</td></tr><tr><td style="width: 21%;">`current_page_records`</td><td style="width: 11%;">Numérico</td><td style="width: 68%;">Cantidad de registros retornados en la página actual.</td></tr><tr><td style="width: 21%;">`has_next_page`</td><td style="width: 11%;">Booleano</td><td style="width: 68%;">Verdadero si hay siguientes páginas que se pueden consultar, falso en otro caso.</td></tr><tr><td style="width: 21%;">`has_previous_page`</td><td style="width: 11%;">Booleano</td><td style="width: 68%;">Verdadero si existen páginas previas que se pueden consultar, falso en otro caso.</td></tr></tbody></table>

##### 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:

<div class="markdown-body" dir="auto" id="bkmrk-clave-tipo-descripci-3"><table><thead><tr><th>**Clave**</th><th>**Tipo**</th><th>**Descripción**</th></tr></thead><tbody><tr><td>`activa`</td><td>Texto</td><td>Estado activo utilizado como filtro: `SI` o `NO`.</td></tr><tr><td>`tipo_doc_id`</td><td>Entero</td><td>ID del tipo de documento contable utilizado como filtro.</td></tr><tr><td>`fact_electronica`</td><td>Texto</td><td>Filtro de facturación electrónica utilizado: `SI` o `NO`.</td></tr><tr><td>`resolucion_para`</td><td>Entero</td><td>Tipo de resolución utilizado como filtro: `1` (Factura) o `2` (Documento Soporte).</td></tr><tr><td>`fecha_desde`</td><td>Texto</td><td>Fecha mínima de resolución utilizada como filtro.</td></tr><tr><td>`fecha_hasta`</td><td>Texto</td><td>Fecha máxima de resolución utilizada como filtro.</td></tr><tr><td>`fecha_vigencia_desde`</td><td>Texto</td><td>Fecha mínima de vigencia utilizada como filtro.</td></tr><tr><td>`fecha_vigencia_hasta`</td><td>Texto</td><td>Fecha máxima de vigencia utilizada como filtro.</td></tr></tbody></table>

</div>#### **Respuesta con Filtros Aplicados**

```json
{
    "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**

```json
{
    "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.

```json
{
    "status": 400,
    "message": "El parámetro \"activa\" debe ser \"SI\" o \"NO\".",
    "body": null,
    "pagination": null,
    "filters_applied": null
}
```

```json
{
    "status": 400,
    "message": "El parámetro \"resolucion_para\" debe ser 1 (Factura) o 2 (Documento Soporte).",
    "body": null,
    "pagination": null,
    "filters_applied": null
}
```

```json
{
    "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.

```json
{
    "status": 500,
    "message": "Error interno del servidor al obtener las resoluciones.",
    "body": null,
    "pagination": null,
    "filters_applied": null
}
```

#### **Códigos de Respuesta HTTP**

<div class="markdown-body" dir="auto" id="bkmrk-c%C3%B3digo-descripci%C3%B3n-2"><table style="width: 100%;"><thead><tr><th style="width: 10%;">**Código**</th><th style="width: 90%;">**Descripción**</th></tr></thead><tbody><tr><td style="width: 10%;">200</td><td style="width: 90%;">Consulta exitosa. El cuerpo de la respuesta contiene las resoluciones (puede ser un array vacío si no hay resultados).</td></tr><tr><td style="width: 10%;">400</td><td style="width: 90%;">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.</td></tr><tr><td style="width: 10%;">500</td><td style="width: 90%;">Error interno del servidor.</td></tr></tbody></table>

</div>#### **Valores de Referencia**

##### Valores de resolucion\_para

<table id="bkmrk-valor-descripci%C3%B3n-1-"><thead><tr><th>Valor</th><th>Descripción</th></tr></thead><tbody><tr><td>1</td><td>Factura de Venta — Resoluciones utilizadas para la emisión de facturas de venta</td></tr><tr><td>2</td><td>Documento Soporte — Resoluciones utilizadas para documento soporte de no obligados a facturar</td></tr></tbody></table>

##### Valores de activa

<table id="bkmrk-valor-descripci%C3%B3n-si"><thead><tr><th>Valor</th><th>Descripción</th></tr></thead><tbody><tr><td>SI</td><td>La resolución está activa y disponible para facturación</td></tr><tr><td>NO</td><td>La resolución está inactiva y no se puede usar para facturar</td></tr></tbody></table>

#### **Notas Importantes**

<div class="markdown-body" dir="auto" id="bkmrk-relaci%C3%B3n-con-factura">1. **Relación con facturas:** El `resolucion_id` retornado puede usarse como valor del parámetro `resolucion_id` en el endpoint [Listar Facturas](https://docs.nuby.ai/books/api-nuby-v2/page/listar-facturas "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 &gt; Facturación* y las de documento soporte en *Configuraciones &gt; 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).

</div>#### **Ejemplos**

<div class="markdown-body" dir="auto" id="bkmrk-curl-curl--x-get-%22ht"><details><summary>Curl</summary>

```bash
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:**

```bash
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"
```

</details><details><summary>PHP Curl</summary>

```php
<?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);

?>
```

</details><details><summary>JavaScript Fetch</summary>

```javascript
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));
```

</details><div>  
</div></div>