price, rooms, floor), iar dotările sunt o listă de coduri (features). Aceleași câmpuri le trimiți la POST /listings/validate, POST /listings, PATCH /listings/{code} și PUT /listings/ref/{ref}.
Pagina de față explică grupurile de câmpuri și dă câte un exemplu complet pe tipurile cele mai folosite. Lista completă, cu tipul și unitatea fiecărui câmp și cu tipurile de proprietate pentru care există, e în vocabular, la GET /schema.
Identitatea
string
obligatoriu
Tipul proprietății:
apartment, house, room, complex, land, commercial, warehouse, garage, hospitality, special.string
Subtipul, din vocabularul tipului (de exemplu
studio, standard, penthouse la apartament; building, agricultural la teren). Obligatoriu pentru toate tipurile care au subtipuri, adică toate în afară de room și complex.string
obligatoriu
sale (vânzare), rent (închiriere) sau short_stay (regim hotelier). Nu orice tip acceptă orice tranzacție: perechile valide sunt în types[].transactions din vocabular. Regimul hotelier se poate folosi doar când vocabularul îl marchează available: true.Textul
string
obligatoriu
Titlul, între 10 și 90 de caractere, cu conținut real (nu „aaaaaaaaaa”).
string
obligatoriu
Descrierea, între 30 și 5.000 de caractere. Nu pune în text telefoane, emailuri sau adrese web: contactul trece prin pagina anunțului, iar moderarea respinge anunțurile cu date de contact în text.
string
Limba titlului și a descrierii, ca cod ISO 639-1 (
ro, en). Dacă lipsește, Housera o deduce din text.Locația
latitude, longitude, city și street sunt obligatorii pentru orice anunț. Opțional, trimiți county, area (cartierul), street_number și landmark (un reper apropiat). Detaliile sunt în ghidul de locație.
Prețul
integer
obligatoriu
Suma întreagă, în moneda din
price_currency. Sensul urmează tranzacția: prețul total la vânzare, chiria pe lună la închiriere, prețul pe noapte în regim hotelier. E întotdeauna prețul întregii oferte, niciodată pe metru pătrat. Obligatoriu, cu excepția ansamblurilor (complex), unde prețul „de la” se calculează din tipurile de unități.string
implicit:"EUR"
Codul ISO 4217 al monedei. Monedele acceptate sunt în
currencies din vocabular (EUR, RON, USD și altele). Toate sumele anunțului (garanția, costurile suplimentare) sunt în aceeași monedă.boolean
Prețul e negociabil.
price e valoarea în euro, pe care o compară căutarea, cu currency: "EUR". Suma și moneda în care ai trimis-o sunt în price_declared:
Suprafețele
Toate suprafețele sunt în m², cu cel mult două zecimale.
Vocabularul conține și suprafețele secundare (balcoane, terasă, curte, birouri, producție, depozitare), fiecare pe tipurile la care are sens.
Specificațiile
Câmpurile care descriu proprietatea: camere, etaj, an, stare, încălzire, certificat energetic și multe altele. Cele obligatorii depind de tip:
Câteva reguli utile:
- Codurile, nu etichetele. Trimiți
"condition": "renovated", nu"Renovat". Codurile și etichetele lor (în română și engleză) sunt în vocabular. - Etajul ca număr e acceptat:
3e citit cafloor_3,0caground,-1casemi_basement. În răspunsuri primești mereu codul. - Booleenii sunt
truesaufalse. - Listele (
heating_types,orientations,materials) sunt liste de coduri, chiar și cu un singur element. - Codurile retrase rămân valabile: dacă trimiți un cod vechi, e citit ca succesorul lui (vezi
retiredîn vocabular).
Dotările
features e o listă de coduri din catalogul de dotări, de exemplu ["ac", "elevator", "intercom"]. Catalogul are câteva sute de coduri, grupate (utilități, securitate, exterior, clădire…), fiecare cu tipurile de proprietate la care se aplică. Îl găsești în features din vocabular.
O dotare care nu e în catalog sau nu se aplică tipului anunțului nu blochează scrierea: e ignorată și apare în warnings[].
Contactul
Numele și emailul de contact sunt cele ale contului care deține cheia. Telefonul e cel din cont, dacă nu trimiți altul:string
Un număr de telefon valid. Se salvează în format internațional (E.164). Obligatoriu doar dacă în cont nu e niciun telefon.
Ce nu există pentru tip și tranzacție
Fiecare câmp există doar pentru anumite combinații de tip și tranzacție: garanția (deposit_months) doar la închiriere, numărul de porți de încărcare (dock_doors_count) doar la hale, compartimentarea doar la apartamente. Un câmp trimis acolo unde nu există nu e o eroare: e ignorat, iar răspunsul ți-l semnalează în warnings[]:
warnings[] e gol.
Exemple complete
Toate exemplele de mai jos trec de validare așa cum sunt.- Apartament
- Casă
- Teren
- Spațiu comercial
Ansamblurile rezidențiale
Un ansamblu (complex) nu are un etaj, o suprafață sau un preț unic. În locul lor, trimiți lista tipurilor de unități în unit_types. Cel puțin un rând trebuie să fie complet: label, area_sqm, units_count și price_from.
price_from. Câmpurile de proiect (stadiul, termenul de livrare, regimul de înălțime) sunt în vocabular, la câmpurile care au complex între tipuri.
Linkuri media
object
Linkuri externe,
http sau https, de cel mult 500 de caractere: video (un film de prezentare), tour (un tur virtual), plan (un plan).