> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pruff.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Consultar la situación tributaria

> Obtén el inicio de actividades, el término de giro y el tramo de ventas de un cliente o de sus deudores, aunque no estén enrolados.

La consulta de la situación tributaria (`business`) es asíncrona: primero pides la consulta y recibes un `requestId`, y después lees el resultado con ese id hasta que esté listo. Funciona para cualquier RUT, esté o no enrolado en tu empresa.

## 1. Pedir la consulta

```bash theme={null}
curl -X POST https://api.pruff.com/api/clients/datahub/request \
  -H "x-api-key: <tu-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "client": "11111111-1",
    "payers": ["22222222-2"],
    "clientRequests": ["business"],
    "payersRequests": ["business"]
  }'
```

| Campo | Descripción |
| - | - |
| `client` | RUT del cliente, sin puntos y con guion. |
| `payers` | RUTs de los deudores, sin puntos y con guion. Máximo 100. |
| `clientRequests` | Consultas para el cliente. Para la situación tributaria, `["business"]`. |
| `payersRequests` | Consultas para los deudores. Para la situación tributaria, `["business"]`. |

Envía al menos `client` o `payers`, cada uno con su lista de consultas. Puedes pedir `business` junto con otras consultas, como `ndf`, en la misma solicitud.

Respuesta `200`:

```json theme={null}
{ "requestId": "<id>" }
```

| Error | Respuesta |
| - | - |
| RUT inválido, o sin `client` ni `payers` | `400 { "message": "Invalid input" }` |
| Más de 100 `payers` | `400 { "message": "Too many payers" }` |

Este endpoint comparte su cuota con los endpoints de Mercado Público: 300 solicitudes por hora por empresa.

## 2. Leer el resultado

```bash theme={null}
curl https://api.pruff.com/api/clients/datahub/response/<requestId> \
  -H "x-api-key: <tu-api-key>"
```

Mientras falte alguna consulta, la respuesta es `200 { "message": "Request not ready" }`. Vuelve a consultar hasta que cambie.

| Error | Respuesta |
| - | - |
| El `requestId` no existe o es de otra empresa | `404 { "message": "Datahub API request not found" }` |
| La solicitud no incluyó ninguna consulta válida | `404 { "message": "No consults found" }` |

Cuando todas las consultas terminan, el resultado viene agrupado en `client` y `payers`, y dentro de cada grupo, por RUT:

```json theme={null}
{
  "client": {
    "11111111-1": {
      "business": {
        "rut": "11111111-1",
        "razonSocial": "EMPRESA EJEMPLO SPA",
        "direccion": "METROPOLITANA, SANTIAGO, AV EJEMPLO 123",
        "fechaInicioActividades": "2015-03-02T00:00:00.000Z",
        "terminoGiro": false,
        "fechaTerminoGiro": null,
        "giro": "VENTA AL POR MAYOR DE OTROS PRODUCTOS",
        "cantidadEmpleados": 25,
        "rangoFacturacionUf": { "name": "Pequeña Empresa II", "min": 5000, "max": 10000 },
        "tramoVentas": 6,
        "anioTramoVentas": 2025,
        "hasBeenEnrolled": true,
        "active": true,
        "paused": false,
        "deactivatedAt": null
      }
    }
  },
  "payers": {
    "22222222-2": {
      "business": {
        "fechaInicioActividades": "2009-06-15T00:00:00.000Z",
        "terminoGiro": true,
        "fechaTerminoGiro": "2024-08-31",
        "giro": "CONSTRUCCION DE EDIFICIOS",
        "cantidadEmpleados": 0,
        "rangoFacturacionUf": { "name": "Sin información", "min": 0, "max": 0 },
        "tramoVentas": 0,
        "anioTramoVentas": null,
        "hasBeenEnrolled": false,
        "active": false,
        "paused": false,
        "deactivatedAt": null
      }
    }
  }
}
```

Puedes leer el resultado de una consulta durante 14 días.

## Campos de `business`

Los datos tributarios salen de fuentes públicas del SII: la consulta de situación tributaria y el archivo anual de empresas que publica el SII. Un campo sin dato para ese RUT no viene en la respuesta.

| Campo | Descripción |
| - | - |
| `rut` | RUT consultado. Solo viene si la empresa ya está registrada en tu cuenta de Pruff. |
| `razonSocial` | Razón social. Solo viene si la empresa ya está registrada en tu cuenta de Pruff. |
| `direccion` | Dirección tributaria, como `región, comuna, dirección`. |
| `fechaInicioActividades` | Fecha de inicio de actividades ante el SII, en formato ISO 8601 a las 00:00 UTC. Se consulta al SII en el momento; si no responde, se usa la del archivo anual. Si ninguna de las dos fuentes la tiene, viene vacía (`""`) o no viene. |
| `terminoGiro` | `true` si la empresa tiene término de giro en el año más reciente del archivo anual del SII, `false` si no lo tiene. `null` si el RUT no está en ese archivo. |
| `fechaTerminoGiro` | Fecha del término de giro, en formato `YYYY-MM-DD`. `null` si no tiene término de giro o si el RUT no está en el archivo. |
| `giro` | Actividad económica según el SII. Viene vacío (`""`) si el RUT está en el archivo anual pero sin actividad informada. |
| `cantidadEmpleados` | Cantidad de trabajadores informada al SII. Viene `0` tanto si la empresa no tiene trabajadores como si el SII no informa el dato. |
| `tramoVentas` | Tramo de ventas, del 1 (sin información) al 13 (Gran Empresa IV). `0` si ni el SII ni la ficha de la empresa informan tramo para ese RUT. |
| `rangoFacturacionUf` | Nombre del tramo y su rango de ventas anuales en UF (`min`, `max`). |
| `anioTramoVentas` | Año comercial del archivo del SII del que sale `tramoVentas`. `null` si el SII no informa tramo para ese RUT, o si el tramo viene de la ficha de la empresa en tu cuenta de Pruff, que no tiene año. |
| `hasBeenEnrolled` | `true` si el RUT está o estuvo enrolado en tu empresa. Usa `active` para saber si sigue activo. |
| `active` | `true` si el enrolamiento del RUT en tu empresa está activo. |
| `paused` | `true` si el enrolamiento está pausado. |
| `deactivatedAt` | Fecha y hora en que se desactivó el enrolamiento, en formato ISO 8601. Solo tiene valor cuando `active` es `false`; si no, `null`. |

`tramoVentas` y `rangoFacturacionUf` salen del año más reciente del archivo anual del SII. Solo si el SII no informa tramo para ese RUT se usa el de la ficha de la empresa en tu cuenta de Pruff, y en ese caso `anioTramoVentas` viene en `null`.

`terminoGiro`, `fechaTerminoGiro` y `anioTramoVentas` cubren a las empresas del archivo anual del SII. Para un RUT que no está en ese archivo, los tres vienen en `null`.

## Cuando no hay respuesta

`business` puede venir como texto en vez de objeto:

| Valor | Significado |
| - | - |
| `"error"` | No se pudo armar la situación tributaria de ese RUT. |
| `"timeout"` | La consulta no terminó en 1 minuto. |

En los dos casos, vuelve a pedir la consulta.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.