Structura datelor
WSDL-ul marchează majoritatea câmpurilor ca opționale, iar API-ul poate accepta payload-uri minime pentru testare sau sincronizare parțială. Pentru publicarea unei oferte complete, câmpurile marcate ca recomandate trebuie trimise pentru a evita anunțuri incomplete sau afișare incorectă. Setul minim recomandat este documentat în Validare și câmpuri recomandate.
| Nume câmp | Tip | Exemplu | Descriere | Obligatoriu |
|---|---|---|---|---|
ID_LOCAL |
integer | 67654 |
Identificatorul numeric canonic al ofertei în contextul agenției. Dacă este transmis, trebuie să fie stabil la retrimiteri. Dacă nu este transmis sau ID-ul CRM nu este numeric, API-ul alocă un ID_LOCAL numeric care trebuie salvat de integrator. Nu este property_id intern Imopedia. |
Recomandat când există ID numeric stabil |
AGENTIA |
integer | 123 |
ID-ul numeric al agenției autorizate pentru publicare, primit de la Imopedia. | Da |
TAGURI |
string | "[\"Sold\"]" |
Array JSON cu etichete specifice proprietății (ex.: Sold, Ucraina). |
Opțional |
IMOPEDIA |
integer | 1 |
Flag pentru afișarea ofertei în listingul Imopedia.ro. Folosește 1 pentru publicare. |
Recomandat pentru publicare |
TITLU |
string | "Apartament 2 camere în Giurgiului" |
Titlul anunțului afișat public. | Recomandat pentru publicare |
COMISION |
float | 2 |
Comisionul perceput, exprimat procentual. | Opțional |
VIDEO_INFO |
string | Vezi exemplul JSON de mai jos. | String JSON serializat cu resurse video sau tururi virtuale. | Opțional |
GEO_LAT / GEO_LONG |
string | 44.392663 / 26.089659 |
Coordonate geografice pentru harta Google Maps. | Opțional |
PRET_TEXT_DISCOUNT |
string | "Capacitate 4 persoane..." |
Detalii privind prețurile cu discount, folosit inclusiv în regimuri speciale. | Opțional |
T_I_PRET_DISCOUNT |
float | 200 |
Preț de închiriere cu discount. | Opțional |
T_H_PRET_DISCOUNT |
float | null |
Preț regim hotelier cu discount. | Opțional |
GOLD |
integer | 1 |
Solicită promovarea ofertei ca GOLD, în limita disponibilă pentru agenție. |
Opțional |
Identificatori și URL public
ID_LOCAL este identificatorul numeric canonic al ofertei în contextul agenției și trebuie păstrat stabil la fiecare retrimitere. Împreună cu AGENTIA, acesta formează identificatorul folosit în URL-ul public al anunțului:
https://www.imopedia.ro/anunt/proprietate-{AGENTIA}RUN{ID_LOCAL}
Exemplu cu date fictive:
https://www.imopedia.ro/anunt/proprietate-123RUN67654
Nu construi linkul public din property_id. Dacă saveProperty returnează property_id, tratează-l ca identificator intern Imopedia, nu ca slug public și nu ca înlocuitor pentru ID_LOCAL.
Dacă ID-ul din CRM este alfanumeric, UUID sau alt format nenumeric, nu îl folosești direct ca ID_LOCAL numeric. Dacă la creare omiți ID_LOCAL, API-ul alocă un ID_LOCAL numeric; salvează această valoare returnată și folosește-o pentru actualizări, media, ștergere, promovare și URL public.
saveProperty poate returna atât identificatori interni, cât și ID_LOCAL numeric. Pentru sincronizare, CRM-ul trebuie să persiste ID_LOCAL și să îl folosească la toate apelurile viitoare de saveProperty pentru aceeași ofertă.
Localizare și compatibilitate legacy
Pentru integrări noi, trimite județul explicit prin JUDET_ID; acesta este câmpul recomandat pentru maparea județului. Poți trimite și JUDET ca text descriptiv, dar nu îl trata ca înlocuitor pentru JUDET_ID. Istoric, unele integrări au trimis județul ca text în ORAS; acest comportament este păstrat doar ca fallback legacy. Dacă JUDET_ID lipsește, serviciul poate încerca best-effort să derive JUDET_ID din valoarea trimisă în ORAS, dar ORAS nu trebuie folosit ca metodă principală pentru județ. Dacă ORAS lipsește, serviciul poate salva o valoare goală pentru compatibilitate cu schema w_imob, însă această valoare nu ajută la identificarea județului.
Video și tururi virtuale
VIDEO_INFO se transmite ca string JSON serializat, nu ca array SOAP imbricat. Fiecare element poate include câmpuri precum ID, ID_OFERTA, TITLE, FILE_TYPE și FILE_URL. Pentru YouTube, folosește FILE_TYPE = "youtube" și un URL de embed sau watch valid.
Forma JSON înainte de serializare:
[
{
"TITLE": "Titlu video",
"FILE_TYPE": "youtube",
"FILE_URL": "https://www.youtube.com/embed/example"
}
]
Referințe JSON
Pentru consum programatic, câmpurile și nomenclatoarele sunt disponibile ca fișiere versionate:
- fields.json - lista câmpurilor de ofertă, tipuri MySQL, descrieri, valori posibile și tipuri de imobile asociate.
- field-descriptions.json - descrieri scurte pentru câmpurile API.
- property-types.json - tipurile de imobile acceptate.
- index.json - manifestul tuturor nomenclatoarelor disponibile.
Pentru toate valorile controlate, vezi Nomenclatoare.