Propiedades
Una clave con properties:read lee tus propiedades y los Agentes, Lugares, Áreas y amenidades a los que se refieren. Para crearlas y editarlas también por la API, consulta Escribir propiedades.
Leer propiedades
GET /v1/properties— una página con cursor de propiedades en orden de cambio. Envíaupdated_sincepara traer solo lo que cambió einclude_archived=truepara ver también las archivadas (retiradas).GET /v1/properties/{property_id}— una propiedad por suid.GET /v1/properties/by-slug/{slug}— una propiedad por su slug. Un slug antiguo todavía encuentra la propiedad; susluges el actual, así que redirige cuando no coinciden.
curl "https://api.letsrealty.io/v1/properties?limit=200&listing_type=sale" \
-H "Authorization: Bearer $LETSREALTY_API_KEY"
La lista también acepta listing_type, place (un código de Lugar: propiedades allí o debajo), area (el id de un Área), is_featured y q (el título o tu referencia interna).
Paginar y sincronizar
Pagina con limit (hasta 200) y el next_cursor de la página anterior hasta que sea null. Para mantener una copia al día, recorre todo una vez y luego consulta con updated_since un minuto antes del updated_at más reciente que hayas visto, y actualiza por id. Una propiedad archivada vuelve con archived: true cuando envías include_archived=true. Consulta Paginación.
Idiomas
El title, la description y los highlights de una propiedad llegan en uno de tus Idiomas del Sitio por respuesta:
?lang=eselige un Idioma del Sitio activado. Sin él se usa el primer idioma activado de tu cabeceraAccept-Language, y si no, tu Idioma Predeterminado.- Un
langque no está activado es un422que nombra los activados. langen la respuesta es el idioma del texto, yavailable_langslista todos los idiomas en que la propiedad tiene texto. Una propiedad sin texto en el idioma que pediste llega en tu Idioma Predeterminado, o en el idioma en que se escribió cuando tampoco tiene texto en ese.
curl "https://api.letsrealty.io/v1/properties/by-slug/casa-tamarindo?lang=en" \
-H "Authorization: Bearer $LETSREALTY_API_KEY"
Los nombres de place y areas de una propiedad también siguen el idioma que pediste.
La galería
images es la galería de la propiedad en orden, cada imagen con su id, su url en el CDN, is_primary y sort_order. primary_image_url es la URL de la imagen principal, o null si no hay ninguna marcada.
Los campos
- Identidad:
id,slug,internal_ref(tu propia referencia),title,description,highlights,lang,available_langs. - Precio:
listing_type,price,currency,rent_price(una venta que también se ofrece en alquiler),price_reduced_at,price_reduced_from. - El inmueble:
property_type,bedrooms,bathrooms,area,lot_area,parking_spaces,year_built,floor,hoa_fee,amenities. - Ubicación:
address,latitude,longitude,location_precision,place_code,place(su ruta y textos para mostrar),areas(slugyname),needs_location(aún sin Lugar, así que no está en tu sitio web). - Presentación:
agent_id,is_featured,primary_image_url,images,video_url,tour_url. - Estado:
archived,created_at,updated_at.
Las notas privadas, los datos de importación y las estadísticas de la consola nunca forman parte de la API. La referencia de la API tiene el tipo de cada campo.
Agentes, Lugares, Áreas y amenidades
La misma clave lee aquello a lo que se refiere una propiedad:
GET /v1/agents— una página con cursor de los perfiles públicos de tus Agentes (nombre, slug, foto, cargo, biografía, teléfono, correo, redes sociales, idioma eis_active), conupdated_since. Los Agentes desactivados no aparecen salvo que envíesinclude_inactive=true, como debería hacer una sincronización para verlos pasar ais_active: false.GET /v1/agents/{agent_id}lee uno; elagent_idde una propiedad lo identifica. Los accesos a la consola nunca forman parte.GET /v1/places— cada Lugar donde están tus propiedades y cada Lugar por encima, de menor a mayor profundidad, cada uno con suparent_code. Elplace_codede una propiedad es uno de ellos.GET /v1/areas— una página con cursor de tus Áreas con suslugy sunameenlang, conupdated_since.GET /v1/amenities— cadakeyque pueden tener lasamenitiesde una propiedad, con sugroupy sulabelenlang.
Los Lugares y las amenidades llegan en una sola página: next_cursor siempre es null.