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