Ir al contenido principal

Listar Facturas [Beta]

Permite obtener una lista de elementos, donde cada elemento contiene la información de cada una de las facturas registradas en la inmobiliaria.

Endpoint: https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list

{{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.

Nota: Para los parámetros de tipo fecha que se compongan de un rango, como listing_start_date y listing_end_date, se debe tener en cuenta que si se envía solo el start_date, se retornarán registros donde la condición es “>= (mayor o igual)”. Si solo se envía el end_date, se retornarán registros donde la condición es “<= (menos o igual)”, y si se envían ambas, entonces se retornarán registros dentro de ese rango de fechas.

Ejemplos de peticiones

https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page=1
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page_size=100
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page=1&page_size=100

Respuesta

Lista de elementos, donde cada elemento contiene la información de cada una de las facturas.

{
    "status": 200,
    "message": null,
    "body": [
        {
            "factura_id": 366,
            "factura_numero": 324,
            "resolucion": "0 - 120000042273",
            "fecha_factura": "2014-08-01",
            "fecha_vencimiento": "2014-08-06",
            "valor_total": "94992.00",
            "saldo": "94992.00",
            "documento_tercero": "1111111",
            "nombre_tercero": "TERCERO FACTURADO",
            "estado": "Facturada",
            "estado_dian": null,
            "estado_cliente_dian": null,
            "notas": 0,
            "creado_por": "Administrador",
            "fecha_envio_dian": null,
            "fecha_creacion": "2014-08-08 10:50:52"
        },
        {
            "factura_id": 8,
            "factura_numero": 7,
            "resolucion": "0 - 120000042273",
            "fecha_factura": "2014-01-01",
            "fecha_vencimiento": "2014-01-06",
            "valor_total": "1666850.00",
            "saldo": "0.00",
            "documento_tercero": "22222222",
            "nombre_tercero": "COOPERATIVA MULTIACTIVA",
            "estado": "Pagada",
            "estado_dian": null,
            "estado_cliente_dian": null,
            "notas": 0,
            "creado_por": "Contador",
            "fecha_envio_dian": null,
            "fecha_creacion": "2014-05-07 11:14:46"
        }
    ],
    "pagination": {
        "total_records": 41326,
        "total_pages": 83,
        "current_page": 83,
        "page_size": 500,
        "current_page_records": 326,
        "has_next_page": false,
        "has_previous_page": true
    }
}
Claves y Descripciones del JSON de Facturación

Esta tabla enumera las claves presentes en el JSON principal de la respuesta y proporciona una breve descripción de cada una, explicando su propósito y el tipo de información que contienen.

Clave Tipo Descripción
status Entero Código del estado de la respuesta, 200 para exitoso, 500 para error
message Texto Cuando la respuesta es exitosa, es nulo o vacío, y cuando hay error, este contiene el mensaje que describe el error presentado.
body Objeto Contiene el listado de facturas retornadas por la API.
pagination Objeto Contiene toda la información de paginación y respuesta.
Cuerpo

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

Clave Tipo Descripción
factura_id Entero Identificador único de la factura
factura_numero Entero Número de la factura
resolucion Texto Prefijo y número de la resolución
fecha_factura Texto Fecha de la factura
fecha_vencimiento Texto Fecha de vencimiento de la factura
valor_total Numérico Valor de la factura
saldo Numérico Saldo pendiente de la factura
documento_tercero Texto Número de documento del cliente
nombre_tercero Texto Nombre completo del cliente
estado Texto Estado de la factura
estado_dian Texto Estado de la factura en la DIAN cuando es una factura electrónica
estado_cliente_dian Texto Estado de la factura respecto al cliente en la DIAN cuando es una factura electrónica
notas Numérico Cantidad de notas débito o crédito que tiene la factura
creado_por Texto Usuario que creó la factura en el sistema
fecha_envio_dian Texto Fecha de envío de la factura a la DIAN cuando es factura electrónica
fecha_creacion Texto Fecha de creación de la factura
Paginación

Cada elemento dentro de la lista pagination tiene las siguientes claves:

Clave Tipo Descripción
total_records Numérico Total de facturas del sistema
total_pages Numérico Cantidad de páginas, este corresponde al total de registros dividido por el tamaño de la página
current_page Numérico Página actual
page_size Numérico Tamaño de la página, es decir, cantidad de registros por consulta
current_page_records Numérico Cantidad de registros de 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, falto en otro caso

Ejemplos

Curl
curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page_size=100&page=3" -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 para listar facturas
$page = 1;
page_size = 50;

$url = "https://{$instance}.arrendasoft.co/service/v2/public/invoices/list?";
$queryParams = [
    'page' => $page,
    'page_size' => $page_size
];
$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
    $info = json_decode($response, true);
    $body = $info['body'] ?? [];
    if ($http_code == 200 && !empty($body)) {
        echo "Se consultaron " . count($body) . " facturas.\n";
        
        // Ejemplo: Imprimir los números de las facturas
        foreach($body as $invoice) {
          echo "Factura número: " . $invoice['factura_numero'] . "\n";
        }
    } else {
        echo "{$info['message']}.\n";
    }
}
curl_close($ch);

?>