Skip to the content.

Sincronizare

Acest capitol explică ordinea recomandată a operațiilor pentru publicarea și menținerea ofertelor în Imopedia.ro.

Principii

Flux pentru creare ofertă

  1. Apelează login și păstrează session_id.
  2. Apelează getAgents sau saveAgent ca să te asiguri că AGENT_ID există pentru AGENTIA.
  3. Construiește payload-ul ofertei cu AGENTIA, AGENT_ID, tipul imobilului, tranzacția, prețul și datele de localizare. Include ID_LOCAL doar dacă ai deja un identificator numeric stabil; dacă nu, trimite doar datele necesare, iar saveProperty va aloca ID_LOCAL și îl vei folosi ulterior.
  4. Apelează saveProperty.
  5. Salvează ID_LOCAL numeric din răspuns dacă API-ul l-a alocat.
  6. Continuă cu fișierele doar dacă răspunsul la saveProperty este valid și oferta a fost creată sau actualizată.
  7. Dacă oferta are imagini, verifică fiecare fișier prin existsFile.
  8. Încarcă fișierele lipsă prin addFile.
  9. Apelează syncFiles dacă vrei ca lista finală de fișiere să rămână exact cea transmisă.
  10. Apelează logout.

După publicare, linkul public al ofertei se poate salva în CRM folosind formula:

https://www.imopedia.ro/anunt/proprietate-{AGENTIA}RUN{ID_LOCAL}

De exemplu, pentru AGENTIA = 123 și ID_LOCAL = 67654, URL-ul este:

https://www.imopedia.ro/anunt/proprietate-123RUN67654

Pagina poate să nu fie accesibilă imediat după saveProperty dacă oferta este încă în procesare, validare sau indexare.

Flux pentru actualizare ofertă

Pentru actualizare, retrimite oferta prin saveProperty folosind același ID_LOCAL numeric salvat după creare. API-ul tratează payload-ul ca actualizare a ofertei existente în contextul agenției.

Actualizează apoi media separat:

  1. Verifică fișierele existente prin existsFile.
  2. Încarcă fișierele noi prin addFile.
  3. Trimite lista finală prin syncFiles, dacă fișierele eliminate din sistemul sursă trebuie eliminate și din Imopedia.ro.

Flux pentru ștergere ofertă

Pentru eliminarea unei oferte publicate, folosește deleteProperty cu identificatorul ofertei. După ștergere, nu mai trimite fișiere pentru acea ofertă.

Dacă ai nevoie să confirmi existența înainte de ștergere, verifică separat prin getProperty sau getProperties. deleteProperty poate fi tratat ca operație de cleanup idempotentă.

Sincronizarea fișierelor

syncFiles păstrează pe ofertă doar fișierele transmise în lista FILE_IDS. Operația este utilă când sistemul sursă este considerat sursa finală de adevăr pentru galeria ofertei.

Folosește syncFiles cu atenție: fișierele care nu apar în lista transmisă pot fi eliminate din galeria ofertei.

FILE_IDS se transmite ca string. Serverul acceptă array PHP serializat, JSON array, obiect JSON cu cheia ids sau listă text separată prin virgulă, punct și virgulă, bară verticală ori spații.

Dacă răspunsul conține _success.0.result.trebuie_trimise, retrimite fișierele indicate prin addFile, apoi repetă reconcilierea dacă este necesar.

Dacă răspunsul conține _warnings.FILE_IDS, verifică lista transmisă: API-ul poate marca apelul valid, dar să nu găsească niciun identificator de fișier acceptat pentru ofertă.

Retrimiterea datelor

Pentru o sincronizare stabilă, retrimiterile trebuie să păstreze aceiași identificatori:

Dacă identificatorii se schimbă, API-ul poate interpreta datele ca entități noi, nu ca actualizări. Schimbarea AGENTIA sau ID_LOCAL schimbă și URL-ul public construit pentru ofertă.

Dacă sistemul sursă are ID nenumeric, salvează ID_LOCAL numeric returnat de API și păstrează maparea. Nu încerca să reconstruiești ulterior oferta doar dintr-un ID CRM nenumeric și nu folosi property_id ca înlocuitor pentru ID_LOCAL.

Pentru operațiile disponibile, vezi Operații API. Pentru formatul fișierelor, vezi Fișiere media.