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

# Descoberta de propriedades em staging

> Percorra todas as propriedades ligadas ao seu PMS, leia uma e veja porque outra dá 404.

Este guia constrói o passo de mapeamento de uma integração: encontrar todas as propriedades Tatallo que os seus anfitriões ligaram ao seu PMS, para guardar cada `id` junto ao anúncio correspondente. Corre em staging, onde as propriedades fictícias coincidem exatamente com estes exemplos. Usa as variáveis do [Início rápido](https://tatallo-docs.mintlify.site/pt/get-started/quickstart.md).

## 1. Percorra a lista completa

As listas vêm página a página. Peça uma página pequena para ver o cursor em ação:

```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` não é `null`, por isso há mais. Envie-o de volta como `cursor`, exatamente como o recebeu, e repita até `next_cursor` ser `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
```

Em staging isto imprime três propriedades:

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

A ordem é estável entre páginas, por isso percorrer todas devolve cada propriedade exatamente uma vez. Um cursor é opaco e só funciona com a chave e o ambiente que o receberam: não o guarde nem construa um à mão.

## 2. Leia uma propriedade

```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`: o anfitrião suspendeu-a, por isso os hóspedes não podem reservar. Continua na sua lista; mantenha o mapeamento.

## Uma propriedade não ligada ao seu PMS

O anfitrião fictício de staging tem mais uma propriedade, `a7591591-4684-4bf6-b66f-4d039414e433`, que não está ligada ao seu 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"
  }
}
```

Isto não é um defeito. Uma propriedade que o seu PMS não pode ver responde exatamente como uma que não existe, exceto pelo `request_id`, para a API não revelar nada sobre propriedades fora da sua ligação. A propriedade aparece na lista e lê-se normalmente a partir do momento em que o anfitrião a liga ao seu PMS.


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