Validare și câmpuri recomandate
saveProperty acceptă actualizări parțiale identificate prin AGENTIA + ID_LOCAL. Lista de mai jos evidențiază validările importante pentru publicare, fără să impună retrimiterea câmpurilor nemodificate.
Pentru conținutul public din TITLU și OBSERVATII, respectă și Regulile de publicare.
Validări recomandate pentru publicare
Verifică în special aceste categorii:
| Categorie | Câmpuri recomandate | Observații |
|---|---|---|
| Identificare | AGENTIA, ID_LOCAL, TIP_IMOBIL_REAL, AGENT_ID, IMOPEDIA |
ID_LOCAL trebuie să fie numeric și stabil la retrimiteri. Dacă CRM-ul nu are ID numeric stabil, salvează ID_LOCAL numeric returnat de API după prima publicare. AGENT_ID trebuie să existe pentru agenția indicată, de obicei după saveAgent sau după citirea listei prin getAgents. IMOPEDIA = 1 indică afișarea ofertei în listingul Imopedia.ro. |
| Date ofertă | DATA_APARITIE, DATA_MODIFICARE, TITLU, OBSERVATII |
TITLU și OBSERVATII ajută la afișarea completă a anunțului. |
| Localizare | REGION_ID, JUDET_ID, ZONA_ID, ORAS, JUDET, ZONA, REPER, GEO_LAT, GEO_LONG, GEO_ACCURACY |
REGION_ID este identificatorul canonic al regiunii și este recomandat / viitor obligatoriu. ORAS și JUDET sunt acceptate, dar deprecated pentru identificarea regiunii. Regiunea, județul și zona au identificatori distincți; nu copia JUDET_ID sau ZONA_ID în REGION_ID. Coordonatele ajută afișarea pe hartă. |
| Tranzacție și preț | T_V_TRANZ, T_I_TRANZ, T_H_TRANZ, T_V_PRET, T_I_PRET, T_H_PRET, T_V_MONEDA, T_I_MONEDA, T_H_MONEDA, COMISION, COMISION_I, PLATA_TVA |
Activează tranzacția relevantă cu valoarea 1; păstrează celelalte tranzacții inactive sau necompletate. Precizează comisionul aplicabil în câmpul dedicat tranzacției. |
| Suprafață și compartimentare | SUPR_UTILA, SUPR_CONSTR, SUPR_TEREN, NRCAM, NRDORMITOARE, NR_BAI, ETAJ, NRETAJE, NR_BALCOANE |
Alege câmpurile potrivite pentru tipul imobilului. Pentru terenuri sunt importante SUPR_TEREN, DESCHIDERE, T_INTRAVILAN și T_EXTRAVILAN. |
| Caracteristici | DOTARI, DETALII, FINISAJE, VECINATATI, DESTINATII_TEXT, STARE_IMOBIL, MOBILAT, AN_CONSTRUCTIE |
Folosește valorile din nomenclatoare când câmpul are valori controlate. |
| Contact | CONTACT_PERS, CONTACT_TEL, CONTACT_EMAIL sau AGENT_ID |
Dacă nu folosești un agent salvat, trimite date de contact valide în payload. |
| Media | VIDEO_INFO, imagini prin addFile, lista finală prin syncFiles |
Media se sincronizează după saveProperty; vezi Fișiere media. |
Pentru detalii despre tipuri, descrieri și valori controlate, folosește Structura ofertelor împreună cu Nomenclatoare și exemplele din Exemple.
Actualizări parțiale
Pentru o ofertă existentă, trimite AGENTIA, ID_LOCAL și numai câmpurile modificate. Omiterea unui câmp nu îi șterge valoarea persistentă.
Omiterea REGION_ID nu blochează actualizarea altor câmpuri. Regiunea rămâne neschimbată dacă requestul nu conține ORAS sau JUDET din care poate fi determinată o altă regiune. Dacă unul dintre aceste câmpuri legacy identifică o regiune, fallback-ul poate calcula REGION_ID.
Erori frecvente observate
Înainte de trimitere, validează explicit:
REGION_IDinteger cel puțin1, preluat din nomenclatorul public de regiuni. Stringurile numerice precum"12"sunt acceptate și normalizate la integer.ORASșiJUDETnumai pentru compatibilitate legacy; folosirea lor pentru identificarea regiunii produce warning-ulDEPRECATED_FIELD.- Rolurile distincte ale
REGION_ID,JUDET_IDșiZONA_ID; API-ul nu le convertește între ele. ZONAcompletat sau mapat corect prinZONA_ID.ID_LOCALnumeric, dacă este transmis. Nu trimite ID-uri CRM alfanumerice direct în câmpurile care cer identificator numeric; salvează identificatorul numeric returnat de API.AGENT_IDexistent pentru agenția transmisă înAGENTIA; dacăgetAgentsnu returnează agentul dorit, creează-l sau actualizează-l prinsaveAgentînainte desaveProperty.- Cel puțin o tranzacție activă, de exemplu
T_V_TRANZ = 1,T_I_TRANZ = 1sauT_H_TRANZ = 1. - Preț și monedă pentru tranzacția activă, de exemplu
T_V_PRETșiT_V_MONEDA. GEO_LATșiGEO_LONGîn format numeric, fără text suplimentar.
Unele erori de validare pot fi returnate generic, de exemplu Internal server error pe câmpul server. Tratează acest răspuns ca eșec al operației: nu continua cu fișierele media, verifică mai întâi agentul, identificatorii, tranzacția activă, prețul, localizarea și tipurile numerice din payload.