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

# Descubrimiento de propiedades en staging

> Recorre cada propiedad conectada a tu PMS, lee una y comprueba por qué otra es un 404.

Esta guía construye el paso de asignación de una integración: encuentra cada propiedad de Tatallo que tus anfitriones han conectado a tu PMS, para que puedas guardar cada `id` junto a tu propio anuncio. Se ejecuta en staging, donde las propiedades fixture coinciden exactamente con estos ejemplos. Usa las variables del [Inicio rápido](https://tatallo-docs.mintlify.site/es/get-started/quickstart.md).

## 1. Recorre la lista completa

Las listas llegan de página en página. Pide una página pequeña para ver el cursor en funcionamiento:

```bash theme={"dark"}
curl -s "$TATALLO_BASE_URL/v1/properties?limit=1" \
  -H "Authorization: Bearer $TATALLO_API_KEY"
```

```json theme={"dark"}
{
  "data": [
    {
      "id": "6cfa992d-1805-4de6-892c-23785031aba0",
      "name": "Fixture Loft Kreuzberg",
      "timezone": "Europe/Berlin",
      "status": "active",
      "country": "Germany",
      "city": "Berlin",
      "max_guests": 2,
      "currency": "EUR",
      "updated_at": "2026-10-01T09:00:00.000Z"
    }
  ],
  "page": {
    "next_cursor": "pKZAA9cXZioUAmmXQVzN4RBwg8cC3KXflLg_Ys2qB0vNw7TfJ1kq3m8cWl5yHh0eE4tR6uD1aPo"
  }
}
```

`page.next_cursor` no es `null`, así que hay más. Devuélvelo como `cursor`, exactamente como lo recibiste, y repite hasta que `next_cursor` sea `null`:

```bash theme={"dark"}
cursor=""
while :; do
  page=$(curl -s -G "$TATALLO_BASE_URL/v1/properties" \
    -H "Authorization: Bearer $TATALLO_API_KEY" \
    --data-urlencode "limit=100" \
    ${cursor:+--data-urlencode "cursor=$cursor"})
  echo "$page" | jq -r '.data[] | "\(.id)  \(.status)  \(.name)"'
  cursor=$(echo "$page" | jq -r '.page.next_cursor // empty')
  [ -z "$cursor" ] && break
done
```

En staging esto imprime tres propiedades:

```text theme={"dark"}
6cfa992d-1805-4de6-892c-23785031aba0  active  Fixture Loft Kreuzberg
934f807c-39d6-45de-b107-d5c9e03cb041  inactive  Fixture House Alfama
bef2859f-2444-47ec-b5f4-f1e6701f087f  active  Fixture Apartment Trastevere
```

El orden es estable entre páginas, así que recorrer todas las páginas devuelve cada propiedad exactamente una vez. Un cursor es opaco y solo funciona con la clave y el entorno que lo recibieron: no lo guardes y no construyas uno a mano.

## 2. Lee una propiedad

```bash theme={"dark"}
curl -s "$TATALLO_BASE_URL/v1/properties/934f807c-39d6-45de-b107-d5c9e03cb041" \
  -H "Authorization: Bearer $TATALLO_API_KEY"
```

```json theme={"dark"}
{
  "id": "934f807c-39d6-45de-b107-d5c9e03cb041",
  "name": "Fixture House Alfama",
  "timezone": "Europe/Lisbon",
  "status": "inactive",
  "country": "Portugal",
  "city": "Lisbon",
  "max_guests": 6,
  "currency": "EUR",
  "updated_at": "2026-10-01T09:00:00.000Z"
}
```

Esta está `inactive`: su anfitrión la suspendió, así que los huéspedes no pueden reservarla. Sigue en tu lista, así que conserva su asignación.

## Una propiedad que no está conectada a tu PMS

El anfitrión fixture de staging tiene una propiedad más, `a7591591-4684-4bf6-b66f-4d039414e433`, que no está conectada a tu PMS:

```bash theme={"dark"}
curl -s "$TATALLO_BASE_URL/v1/properties/a7591591-4684-4bf6-b66f-4d039414e433" \
  -H "Authorization: Bearer $TATALLO_API_KEY"
```

```json theme={"dark"}
{
  "error": {
    "code": "property_not_found",
    "message": "Property not found.",
    "request_id": "385c1118-7082-4e15-97a7-16703f74d58b"
  }
}
```

No es un fallo. Una propiedad que tu PMS no está autorizado a ver responde exactamente igual que una propiedad que no existe, salvo el `request_id`, de modo que la API no revela nada sobre propiedades fuera de tu conexión. La propiedad aparece en tu lista, y se lee con normalidad, desde el momento en que su anfitrión la conecta a tu PMS.


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