/**
 * Exemplo: buscar UM imóvel específico.
 *
 * `fetchByRef` tenta `?id={ref}` primeiro (pareia com o `id_imovel` que
 * `getListing` devolve) e cai pra `?codigos={ref}` como fallback — aceita
 * tanto `id_imovel` quanto `codigo`.
 *
 * Configuração:
 *   export JETIMOB_WEBSERVICE_KEY="..."
 *   export JETIMOB_REF="6570922"   # id_imovel ou codigo
 */
import { fetchByRef } from "@horizon-integrations/jetimob-crm"

async function main() {
  const ref = process.env.JETIMOB_REF ?? "6570922"

  const property = await fetchByRef(
    { credentials: { webserviceKey: process.env.JETIMOB_WEBSERVICE_KEY! } },
    ref,
  )

  if (!property) {
    console.log(`❌ Imóvel ref=${ref} não encontrado`)
    return null
  }

  console.log(`✅ ${property.title}`)
  console.log(`   reference (codigo): ${property.reference}`)
  console.log(`   id_imovel: ${property.id_imovel}`)
  console.log(`   tipo: ${property.tipo} | operação: ${property.operacao?.join(", ")}`)
  console.log(`   sync_hash: ${property.sync_hash}`)

  return property
}

main().catch((err) => {
  console.error("❌ Erro fatal:", err)
  process.exit(1)
})
