SVILUPPATORI

API immobiliari Realgest: documentazione e download

Metodi, parametri ed esempi per collegare immobili, anagrafiche e pubblicazione. Documentazione tecnica SOAP e risorse originali da scaricare.

Scarica il WSDL aggiornato · Scarica le anagrafiche aggiornate

Indice della documentazione

Guida per sviluppatori che devono leggere, inserire e governare la pubblicazione degli annunci immobiliari Realgest tramite WSDL SOAP.

Panoramica del servizio

ServiceWEBSERVICE_REALGEST
Endpointhttps://software.realgest.it:443/ws/index.php
Namespacehttps://software.realgest.it/ws/
ProtocolloSOAP 1.1 via HTTP POST
BindingRPC encoded
WSDL aggiornato: dettagli facoltativi estesi il 23 ottobre 2026.
RG_SetPortaliAnnuncio allinea anche l'abilitazione generale al multiinvio; la superficie usa fallback compatibile sui dati storici; gli ID geografici sono normalizzati su add/update annuncio; le stanze/camere usano la tipologia strutturata id_tipologia=64; i campi video, virtual tour, data asta, cessione attività, piscina, impianto fotovoltaico e solare termico sono scrivibili in inserimento e aggiornamento. Le immagini remote vengono verificate anche sul contenuto quando il server remoto usa un MIME generico. La planimetria accetta esclusivamente un URL pubblico a un file JPG, JPEG o PNG.

Convenzioni generali

  • Tutti i metodi documentati richiedono admin_api_key.
  • Le risposte applicative espongono Success, Error ed ErrorCode. Verificare Success === true prima di usare il payload.
  • Gli header SOAPAction negli esempi usano la forma breve, ad esempio SOAPAction: "RG_AddAnnuncio".
  • Le tabelle nello ZIP realgest_anagrafiche.zip rappresentano i valori anagrafici da usare per molti campi id_*.
  • Per la pubblicazione sui portali usare RG_GetPortali, RG_GetPortaliAnnuncio e RG_SetPortaliAnnuncio. I metodi di esclusione (RG_GetEsclusioneAnnuncio, RG_SetEsclusioneAnnuncio) restano disponibili quando il flusso applicativo lavora per portali esclusi.
  • RG_SetPortaliAnnuncio con almeno un portale valido abilita anche l'annuncio al multiinvio generale; con lista vuota o senza portali validi disabilita l'annuncio dal multiinvio.
  • Con mqterreno valorizzato, superficie indica i metri quadrati del fabbricato e mqterreno i metri quadrati fisici di tutto il terreno, giardino incluso. Non sommare le due superfici. Per i record storici senza mqterreno rimane il fallback di lettura precedente: fabbricato, terreno edificabile, terreno agricolo, superficie generica.
  • Per annunci di stanze o camere usare id_tipologia=64 o una delle nuove stanze specifiche del catalogo esteso.
  • In RG_AddAnnuncio e RG_UpdateAnnuncio, se id_comune, id_provincia o id_regione identificano un territorio collegato a una nazione, id_nazione viene riallineato automaticamente a quella nazione. I valori geografici 0 o stringa vuota vengono salvati come NULL.
  • Per le cessioni di attività usare id_tipologia=18 o id_tipologia=59 e valorizzare i campi attivita_*. Se le mura non sono incluse, indicare anche il canone mensile reale: in assenza del canone il MultiInvio mantiene il comportamento storico.
  • Le coordinate lat e long vengono salvate solo se passate dal chiamante; le API non eseguono geocoding automatico da indirizzo, comune o località.
  • Usare video_360 per virtual tour o tour 360 e url_video1-url_video6 per URL video. url_video1 è il video principale consigliato.
  • piscina, impianto_fotovoltaico e solare_termico sono booleani indipendenti: nessun valore viene dedotto dagli altri campi. In inserimento, se omessi, assumono false; in aggiornamento cambiano soltanto quando il relativo parametro è presente.

Autenticazione ed error handling

La chiave amministrativa viene passata come parametro SOAP admin_api_key. Non è prevista nel WSDL un’autenticazione HTTP separata.

if ($response->Success !== true) {
    throw new RuntimeException($response->Error . ' (' . $response->ErrorCode . ')');
}

Metodi principali

La sezione seguente si concentra sui metodi utili per consultare e sincronizzare annunci, lookup territoriali/tipologici e pubblicazione sui portali.

RG_GetAnnunci

Ricerca annunci con filtri, ordinamento e paginazione.

Firma WSDL

Operazione
WsAction.RG_GetAnnunci
SOAPAction
RG_GetAnnunci
Stile
rpc
Risposta
RG_GetAnnunciResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetAnnunci".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.
data_inserimentostringFiltro/data in formato stringa; usare preferibilmente YYYY-MM-DD quando si filtra per data.
id_tipo_offertalongRiferimento a id_tipologia_offerta.csv.
id_classelongRiferimento a id_classe_immobile.csv.
id_tipologialongRiferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso.
id_nazionelongRiferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati.
id_regionelongIdentificativo regione; deducibile dal dominio geografico collegato alle province/comuni.
id_provincialongRiferimento a id_provincia.csv.
id_comunelongRiferimento a id_comune.csv o al metodo RG_GetComune.
id_arealongRiferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone.
prezzo_minfloatValore minimo per filtro di ricerca.
prezzo_maxfloatValore massimo per filtro di ricerca.
superficie_minintValore minimo per filtro di ricerca.
superficie_maxintValore massimo per filtro di ricerca.
locali_minintValore minimo per filtro di ricerca.
locali_maxintValore massimo per filtro di ricerca.
servizi_minintValore minimo per filtro di ricerca.
servizi_maxintValore massimo per filtro di ricerca.
id_classe_energeticalongRiferimento a id_classe_energetica.csv.
id_tipologia_disponibilitalongRiferimento a id_tipologia_disponibilita.csv.
id_categoria_catastalelongRiferimento a id_categoria_catastale.csv.
id_riscaldamentolongRiferimento a id_riscaldamento.csv.
terrazzobooleanFlag booleano: true/false.
balconebooleanFlag booleano: true/false.
numero_balconiint nullableNumero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone.
ascensorebooleanFlag booleano: true/false.
giardinobooleanFlag booleano: true/false.
cantinabooleanFlag booleano: true/false.
id_boxlongIdentificativo box/posto auto secondo codifica Realgest.
id_cucinalongIdentificativo tipologia cucina secondo codifica Realgest.
aria_condizionatabooleanFlag booleano: true/false.
climatizzazionebooleanFlag booleano: true/false.
arredatobooleanFlag booleano: true/false.
attivobooleanFlag di pubblicazione/visibilità dell’annuncio.
data_incaricostringData incarico, preferibilmente YYYY-MM-DD.
solo_con_fotobooleanSe true limita i risultati agli annunci con foto.
startintOffset iniziale per la paginazione.
limitintNumero massimo di record da restituire.
ordinamentostringCampo di ordinamento, secondo i valori accettati lato Realgest.
ordinamento_versostringVerso ordinamento: ASC/DESC, se supportato.

Struttura della risposta

Ogni annuncio contiene anche i campi facoltativi civico e cap, entrambi stringhe. Significato e gestione dei valori mancanti.

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
NumeroAnnunciintNumero totale annunci coerenti con i filtri.
AnnunciRG_AnnunciArrayArray di annunci sintetici/completi secondo il tipo WSDL.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetAnnunci"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetAnnunci>
        <admin_api_key>API_KEY</admin_api_key>
        <id_agenzia>0</id_agenzia>
        <data_inserimento>2026-05-21</data_inserimento>
        <id_tipo_offerta>0</id_tipo_offerta>
        <id_classe>0</id_classe>
        <id_tipologia>0</id_tipologia>
        <id_comune>0</id_comune>
        <prezzo_min>100000</prezzo_min>
        <prezzo_max>300000</prezzo_max>
        <solo_con_foto>false</solo_con_foto>
        <start>0</start>
        <limit>0</limit>
        <ordinamento>data_inserimento</ordinamento>
        <ordinamento_verso>DESC</ordinamento_verso>
    </ws:WsAction.RG_GetAnnunci>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetAnnuncio

Recupera il dettaglio di un singolo annuncio.

Firma WSDL

Operazione
WsAction.RG_GetAnnuncio
SOAPAction
RG_GetAnnuncio
Stile
rpc
Risposta
RG_GetAnnuncioResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idlongIdentificativo numerico dell’entità gestita dal metodo.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.

Struttura della risposta

Ogni annuncio contiene anche i campi facoltativi civico e cap, entrambi stringhe. Significato e gestione dei valori mancanti.

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
AnnuncioRG_AnnuncioDettaglio singolo annuncio.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>0</id>
        <id_agenzia>0</id_agenzia>
    </ws:WsAction.RG_GetAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetTipologieImmobili

Restituisce le tipologie immobiliari disponibili. La tipologia 64 identifica Stanza/Camera; le nuove voci specifiche sono nel catalogo esteso.

Firma WSDL

Operazione
WsAction.RG_GetTipologieImmobili
SOAPAction
RG_GetTipologieImmobili
Stile
rpc
Risposta
RG_GetTipologieImmobiliResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetTipologieImmobili".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
ElencoRG_TipologieImmobiliArrayElenco dei valori lookup richiesti.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetTipologieImmobili"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetTipologieImmobili>
        <admin_api_key>API_KEY</admin_api_key>
        <id_agenzia>0</id_agenzia>
    </ws:WsAction.RG_GetTipologieImmobili>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetTipologieOfferta

Restituisce le tipologie di offerta, ad esempio vendita o locazione.

Firma WSDL

Operazione
WsAction.RG_GetTipologieOfferta
SOAPAction
RG_GetTipologieOfferta
Stile
rpc
Risposta
RG_GetTipologieResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetTipologieOfferta".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
ElencoRG_TipologieArrayElenco dei valori lookup richiesti.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetTipologieOfferta"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetTipologieOfferta>
        <admin_api_key>API_KEY</admin_api_key>
        <id_agenzia>0</id_agenzia>
    </ws:WsAction.RG_GetTipologieOfferta>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetComune

Ricerca/autocomplete dei comuni.

Firma WSDL

Operazione
WsAction.RG_GetComune
SOAPAction
RG_GetComune
Stile
rpc
Risposta
RG_GetComuneResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetComune".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
termstringTesto di ricerca/autocomplete.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
ElencoRG_ComuniArrayElenco dei valori lookup richiesti.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetComune"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetComune>
        <admin_api_key>API_KEY</admin_api_key>
        <term>Roma</term>
        <id_agenzia>0</id_agenzia>
    </ws:WsAction.RG_GetComune>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetZone

Ricerca/autocomplete delle zone collegate a un comune.

Firma WSDL

Operazione
WsAction.RG_GetZone
SOAPAction
RG_GetZone
Stile
rpc
Risposta
RG_GetZoneResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetZone".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
termstringTesto di ricerca/autocomplete.
idcomunelongIdentificativo comune per filtrare le zone.
selectedstringValore già selezionato, utile per pre-selezione lato interfaccia.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
NumeroZoneintNumero zone restituite.
ZoneRG_ZoneArrayArray zone/aree.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetZone"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetZone>
        <admin_api_key>API_KEY</admin_api_key>
        <term>Roma</term>
        <idcomune>0</idcomune>
        <selected></selected>
    </ws:WsAction.RG_GetZone>
  </soapenv:Body>
</soapenv:Envelope>

Fabbricato, terreno e giardino — aggiornamento 9 ottobre 2026

giardino resta un booleano di presenza. Non misura un'area e non trasforma automaticamente tutto il terreno in giardino. Il giardino fa parte di mqterreno: un terreno totale di 1000 m² con 200 m² di giardino va inviato come 1000, non 1200.

CasosuperficiemqterrenogiardinoMetri specifici del giardino
Solo casa1000false0
Solo terreno0800false0
Villa con giardino100300truemqgiardino_villa = 300
Villa con giardino e altro terreno1001000truemqgiardino_villa = 200

I tre nuovi parametri di scrittura sono aggiunti in coda a RG_AddAnnuncio e RG_UpdateAnnuncio. Sono facoltativi: ometterli o inviare xsi:nil="true" conserva il valore esistente in aggiornamento; inviare 0 lo azzera. In inserimento omissione/nil significa dato non noto, non zero. Non inviare stringhe vuote, negativi, decimali, ettari o separatori di migliaia: le API accettano m² interi.

I metri specifici del giardino non possono superare il terreno totale quando questo è noto. Per azzerare il terreno di una casa con giardino, azzerare anche i metri del giardino nella stessa chiamata. Errori di validazione restituiscono Success=false, ErrorCode=201 senza salvare l'annuncio.

Le letture dettaglio, elenco, vetrina e ricerca testuale espongono i nuovi campi facoltativi: mqterreno, mqgiardino_appartamento, mqgiardino_villa e mqgiardino (somma dei due dettagli, solo in lettura). Se entrambi i dettagli sono ignoti, mqgiardino è null. Aggiornare il WSDL del client per usare i nuovi parametri. I client con il WSDL precedente restano funzionanti.

Nel gestionale i campi fabbricato e terreno totale sono disponibili per ogni classe. I metri dettagliati del giardino rimangono nel computo fabbricati, con i coefficienti già previsti. Non vengono migrati automaticamente i valori storici, né sono modificati generatori o invii ai portali.

<superficie>100</superficie>
<giardino>true</giardino>
<mqterreno>1000</mqterreno>
<mqgiardino_villa>200</mqgiardino_villa>

Tipologie Realgest: estensione del 23 ottobre 2026

Le nuove voci sono disponibili per tutte le agenzie nel gestionale e nei metodi RG_GetTipologieImmobili e RG_GetTipologieImmobiliNetwork. I metodi RG_AddAnnuncio e RG_UpdateAnnuncio le accettano nei parametri esistenti id_tipologia e id_classe; le letture e i filtri degli annunci restituiscono e utilizzano gli stessi ID.

Usare gli ID Realgest della prima colonna. I codici Immobiliare.it V2 sono riferimenti esterni separati. Non inviare il codice del portale come ID Realgest. Nessuna rinomina o riclassificazione degli annunci esistenti: Villa, ID 29, conserva il riferimento alla Villa unifamiliare V2 23; Altro e tutti gli altri ID storici restano disponibili.

Equivalenze mantenute: Casa Indipendente, ID 24, copre Terratetto unifamiliare (V2 21); Stanza/Camera, ID 64, copre Stanza in appartamento (V2 194). Per Studio generico usare Ufficio, ID 39; Studio medico, ID 42, resta specifico quando dichiarato dalla sorgente. La nuova voce Posto barca è distinta dalla voce legacy 6, che rimane invariata.

La struttura SOAP rimane invariata: il catalogo è dinamico e id_tipologia resta un xsd:long, senza una nuova enumerazione XSD chiusa. Per i lookup locali aggiornare anche realgest_anagrafiche.zip, che conserva le tre colonne id_tipologia,id_classe_immobile,nome.

ID RealgestTipologiaid_classeRiferimento V2Vendita ordinaria V2Affitto ordinario V2
65Villa bifamiliare424SìSì
66Villa plurifamiliare425SìSì
67Appartamento in villa427SìSì
68Chalet433SìSì
69Terratetto plurifamiliare422SìSì
70Cascina430SìSì
71Casa colonica431SìSì
72Baita432SìSì
73Trullo434SìSì
74Dammuso435SìSì
75Nuraghe436SìSì
76Maso437SìSì
77Baglio438SìSì
78Rifugio439SìSì
79Sasso440SìSì
80Masseria441SìSì
81Soffitta448SìSì
82Stanza in villa4195NoSì
83Stanza in ufficio5196NoSì
84Stanza in studio medico5197NoSì
85Stanza in studio tecnico5198NoSì
86Stanza in casa indipendente4236NoSì
87Non Edificabile8262SìSì
88Terreno agricolo8269SìSì
89Coworking5259NoSì
90Progetto9276SìNo
91Posto moto444NoNo
92Posto camper o roulotte446NoNo
93Cantina447NoNo
94Filiale bancaria581NoNo
95Castello4233NoNo
96Dimora storica4235NoNo
97Centralina578NoNo
98Podere o tenuta579NoNo
99Impianti sportivi5229NoNo
100Centro commerciale5237NoNo
101Terreno terziario8190NoNo
102Posto barca445NoNo

Classi Realgest: 4 = Immobile residenziale; 5 = Immobile commerciale/industriale; 8 = Terreno; 9 = Progetto. Le stanze in ufficio/studio e il coworking appartengono alla classe 5; le stanze in villa/casa indipendente alla classe 4. Le disponibilità V2 in tabella riguardano quella destinazione, non introducono nuovi blocchi nelle API Realgest.

Significato: Villa plurifamiliare comprende le ville con più di due unità familiari; il numero di unità non trasforma un palazzo in villa. Appartamento in villa identifica l’unità, non l’intera villa. La nuova tipologia non edificabile è distinta da Terreno agricolo; la precedente Area agricola o non edificabile, ID 63, rimane invariata. Non determinare la tipologia dal titolo. Una sorgente aggregata o ambigua richiede una scelta verificata, senza inventare dettagli.

Stanza/Camera, ID 64, resta utilizzabile; quando la sorgente identifica una delle nuove stanze specifiche usare il relativo ID della tabella. Il nome della classe restituito dal lookup non è il suo ID numerico: per Add/Update usare id_classe indicato qui.

$params = array('admin_api_key' => $key, 'id' => $id,
  'id_classe' => 4, 'id_tipologia' => 65);
$result = $client->call('WsAction.RG_UpdateAnnuncio', $params);
// Verificare Success ed ErrorCode e rileggere RG_GetAnnuncio.

Riferimento: catalogo ufficiale Immobiliare.it V2, XML e flag verificati il 23 ottobre 2026. Le voci con vendita e affitto ordinari V2 entrambi No sono riservate alle aste in quella destinazione; Progetto (V2 276) ha una classe dedicata e non rappresenta una singola unita. availableForProject indica invece la disponibilita di una tipologia di unita dentro un progetto: non equivale allo stato nuova costruzione. Le API Realgest non aggiungono blocchi editoriali basati su queste disponibilita.

Civico e CAP dell’annuncio — 25 ottobre 2026

civico e cap appartengono al singolo annuncio e sono salvati separatamente in imm_immobili. Sono campi facoltativi, distinti dall’indirizzo dell’agenzia e dal nome della via.

ParametroTipo WSDLValori
civicoxsd:stringStringa facoltativa, massimo 20 caratteri. Accetta lettere e separatori, per esempio 12/A, 7 bis o SNC.
capxsd:stringStringa facoltativa, massimo 20 caratteri. Inviare 00100 come stringa per conservare gli zeri iniziali; sono rappresentabili anche codici postali esteri come SW1A 1AA. Non viene imposto un CAP italiano di cinque cifre alle località estere.

In RG_AddAnnuncio e RG_UpdateAnnuncio inviarli come parametri diretti, accanto a indirizzo: non sono figli di dettagli_annuncio. Ometterli non impedisce la creazione. In modifica, omissione o nil conserva il valore; una stringa vuota esplicita cancella il testo. I due campi sono indipendenti: aggiornare il civico senza CAP non cambia il CAP già salvato.

Sono restituiti come Annuncio.civico e Annuncio.cap da RG_GetAnnuncio, e sui singoli elementi degli elenchi, della vetrina e della ricerca testuale. Quando il valore DB è NULL il contratto SOAP storico può omettere il campo o restituirlo vuoto: il client deve gestire entrambe le rappresentazioni del dato sconosciuto. mostra_ubicazione regola la pubblicazione della posizione e non cancella i dati salvati nell’annuncio.

// Inserimento: civico e CAP sono facoltativi.
$params = array('admin_api_key' => $key, 'id_agenzia' => $agency,
  'riferimento_annuncio' => 'Appartamento in centro',
  'indirizzo' => 'Via Esempio', 'civico' => '12/A', 'cap' => '00100');
$result = $client->call('WsAction.RG_AddAnnuncio', $params);
// Aggiornamento del solo CAP: civico e via restano conservati.
$result = $client->call('WsAction.RG_UpdateAnnuncio', array(
  'admin_api_key' => $key, 'id' => $id, 'cap' => '00101'));
// Verificare Success/ErrorCode e rileggere RG_GetAnnuncio.

Sei dettagli facoltativi — estensione del 23 ottobre 2026

I campi seguenti sono figli di dettagli_annuncio, già previsto in RG_AddAnnuncio e RG_UpdateAnnuncio. Non sono nuovi parametri al primo livello: l'ordine e le firme precedenti restano invariati. Sono restituiti nello stesso oggetto dalle letture del singolo annuncio, dagli elenchi, dalla vetrina e dalla ricerca che già espongono i dettagli.

CampoTipo WSDLValori e significato
rendita_catastalexsd:decimalRendita annua in euro, da 0 a 9999999999.99, al massimo due decimali. Non è il valore catastale dell'immobile.
spese_condominiali_importoxsd:decimalImporto in euro per la periodicità indicata, stessi limiti della rendita. Zero significa spese assenti.
spese_condominiali_periodicitaxsd:stringEsattamente mensile oppure annuale. Non viene attribuita automaticamente una periodicità all'importo.
numero_piani_totalixsd:intIntero da 0 a 999: piani complessivi del fabbricato, inclusi interrati. Distinto dal piano dell'unità e dal numero di livelli dell'unità.
numero_ascensori_fabbricatoxsd:intIntero da 0 a 99. Zero significa nessun ascensore, non dato sconosciuto.
accessibile_disabilixsd:booleantrue/1 accessibile, false/0 non accessibile, NULL non verificato. Non è dedotto dal campo barriere architettoniche.

Omissione e NULL: oggetto o campo omesso/nil non scrive quel dato; in creazione resta NULL, in aggiornamento conserva il valore. Per riportare esplicitamente un campo a NULL usare azzera_campi. Non inviare contemporaneamente un valore e il suo nome nell'elenco di cancellazione. Zero e false sono valori effettivi e vengono conservati. Una stringa vuota non rappresenta NULL nelle API.

Importi: nel SOAP usare il punto decimale, senza valuta o separatori delle migliaia, ad esempio 123.45. Valori negativi, frazioni con più di due cifre, enum diversi e conteggi fuori limite vengono rifiutati senza scritture parziali. Le risposte mantengono la precisione dei centesimi; trattare gli importi come decimali, evitando arrotondamenti binari nel client.

I campi storici costi_condominiali, ascensore, numero_ascensori, piani_fuori_fabbricato, piani_entro_fabbricato e barriere_architettoniche non sono sostituiti o convertiti. Nessuna deduzione dal titolo o dalla descrizione, nessun aggiornamento massivo dei record esistenti. video_360 resta il parametro preesistente per il tour esterno.

Esempio di aggiornamento

<dettagli_annuncio>
  <rendita_catastale>850.25</rendita_catastale>
  <spese_condominiali_importo>0.00</spese_condominiali_importo>
  <spese_condominiali_periodicita>mensile</spese_condominiali_periodicita>
  <numero_piani_totali>4</numero_piani_totali>
  <numero_ascensori_fabbricato>0</numero_ascensori_fabbricato>
  <accessibile_disabili>false</accessibile_disabili>
</dettagli_annuncio>
<!-- Per rendere sconosciuta la sola rendita, in una chiamata successiva: -->
<dettagli_annuncio>
  <azzera_campi><item>rendita_catastale</item></azzera_campi>
</dettagli_annuncio>
$params = array('admin_api_key' => $key, 'id' => $id,
  'dettagli_annuncio' => array(
    'rendita_catastale' => '850.25',
    'spese_condominiali_importo' => '0.00',
    'spese_condominiali_periodicita' => 'mensile',
    'numero_piani_totali' => 4,
    'numero_ascensori_fabbricato' => 0,
    'accessibile_disabili' => false));
$result = $client->call('WsAction.RG_UpdateAnnuncio', $params);
// Verificare Success ed ErrorCode: HTTP 200 da solo non prova il salvataggio.
// In creazione: RG_AddAnnuncio con id_agenzia e riferimento_annuncio.

Classe catastale e certificazione energetica — 28 ottobre 2026

Due campi facoltativi del blocco dettagli_annuncio in RG_AddAnnuncio e RG_UpdateAnnuncio, restituiti anche da RG_GetAnnuncio e dalle letture di elenchi, vetrina e ricerca. Le firme e le posizioni dei parametri precedenti sono conservate. Aggiornare la copia locale del WSDL per utilizzare i nuovi figli.

CampoTipoSignificato e aggiornamento
classe_catastalexsd:stringClasse riportata nei dati catastali, massimo 20 caratteri, per esempio 3 oppure U. È distinta dalla categoria catastale (id_categoria_catastale, es. A/2), dalla classe dell’immobile e dalla classe energetica. Non viene dedotta o convertita.
certificato_energeticoxsd:booleantrue/1: immobile certificato; false/0: in attesa di certificazione. Riusa il flag storico già presente nella GUI, non crea un secondo stato di certificazione. È distinto da classe, indice e PDF dell’attestato; non richiede file o URL.

Facoltativi: se non sono inviati, non producono errori. In aggiornamento, omissione o xsi:nil="true" conserva il dato salvato. In creazione la classe catastale resta NULL; il flag mantiene il default storico false, che non costituisce una nuova verifica dell’immobile.

Cancellazione: per rendere sconosciuta la classe catastale usare azzera_campi con classe_catastale. Per togliere lo stato certificato inviare certificato_energetico=false. Il flag storico non ammette NULL nel database: non inserirlo in azzera_campi. Questa richiesta e valori non validi sono rifiutati con Success=false e ErrorCode=201, senza scritture parziali. Gli altri campi non sono modificati automaticamente.

<dettagli_annuncio>
  <classe_catastale>3</classe_catastale>
  <certificato_energetico>true</certificato_energetico>
</dettagli_annuncio>
<!-- In una chiamata successiva: classe sconosciuta, certificazione in attesa. -->
<dettagli_annuncio>
  <certificato_energetico>false</certificato_energetico>
  <azzera_campi><item>classe_catastale</item></azzera_campi>
</dettagli_annuncio>
$result = $client->call('WsAction.RG_UpdateAnnuncio', array(
  'admin_api_key' => $key, 'id' => $id,
  'dettagli_annuncio' => array(
    'classe_catastale' => '3', 'certificato_energetico' => true)));
// Verificare Success/ErrorCode, poi rileggere RG_GetAnnuncio.
// Una vecchia chiamata priva di dettagli_annuncio continua a funzionare.

Immobiliare.it: nel suo tracciato energy-class/@certified è un booleano, mentre @value identifica la classe energetica e @scale distingue APE e IPE. Il PDF è un allegato separato, riservato al CRM del portale; non è richiesto per valorizzare il flag. Specifica energetica e FAQ ufficiali, consultate il 28 ottobre 2026. L’esposizione Realgest non certifica da sola l’invio del campo da parte del connettore.

IPE decimale — 14 novembre 2026

Il parametro diretto ipe di RG_AddAnnuncio e RG_UpdateAnnuncio e il campo Annuncio.ipe di RG_GetAnnuncio e degli elementi di RG_GetAnnunci sono dichiarati xsd:decimal nel WSDL aggiornato. Il campo conserva il significato di indice di prestazione energetica, distinto dalla classe e dal flag di certificazione.

Usare il punto come separatore dei decimali: 125.50. Anche un intero come 125 o zero 0 è valido. Non inviare 125,50, separatori delle migliaia, unità di misura, testo, stringhe vuote o notazione esponenziale. I valori non validi restituiscono Success=false e ErrorCode=201 senza salvare alcun campo dell’annuncio.

  • Parametro omesso o xsi:nil="true": in creazione il dato resta NULL; in aggiornamento si conserva quello già salvato. nil non è un comando di cancellazione.
  • 0 è un valore esplicito e viene salvato, distinto da NULL.
  • Lo storage esistente mantiene due decimali; eventuali cifre ulteriori vengono arrotondate a due decimali dal database. Il massimo assoluto memorizzabile è 99999999.99. Non sono stati ricalcolati o convertiti gli annunci esistenti.
  • In lettura il dato è un decimale; se sconosciuto il campo può essere omesso oppure restituito nil; non dipendere dal numero di zeri finali (125.5 e 125.50 rappresentano lo stesso valore).
  • Le vecchie chiamate che inviano una stringa numerica con il punto restano accettate. Aggiornare la cache WSDL e rigenerare gli eventuali client tipizzati per acquisire il nuovo tipo; le firme mantengono lo stesso ordine dei parametri.
// Parametro diretto, fuori da dettagli_annuncio.
$params = array('admin_api_key' => $key, 'id' => $id, 'ipe' => 125.50);
$result = $client->call('WsAction.RG_UpdateAnnuncio', $params);
// Verificare Success/ErrorCode, poi rileggere RG_GetAnnuncio.
// Equivalente XML: <ipe xsi:type="xsd:decimal">125.50</ipe>
// Se sconosciuto: omettere ipe oppure usare <ipe xsi:nil="true" />.

Portali TOP e Portali Base — 31 ottobre 2026

TOP: Immobiliare.it, Idealista, Subito.it e Wikicasa conservano le quattro selezioni indipendenti già esistenti. Tutti gli altri portali immobiliari sono riuniti nel gruppo Portali Base, identificato nelle API dal nome invariato portali_secondari; non si scelgono più singolarmente per annuncio.

portali_secondari è un parametro diretto xsd:boolean, in fondo a RG_AddAnnuncio e RG_UpdateAnnuncio, dopo dettagli_annuncio. Restituito da RG_GetAnnuncio, RG_GetAnnunci, RG_GetAnnunciVetrina e RG_GetAnnunciFromString.

Valore ricevutoComportamento
true / 1Seleziona insieme tutti i secondari disponibili per l’agenzia. Le selezioni TOP restano invariate.
false / 0Esclude insieme tutti i secondari. Le selezioni TOP restano invariate.
Omesso o xsi:nil="true"In modifica conserva la scelta; in creazione il gruppo è attivo per impostazione predefinita.
Altri valoriSuccess=false, ErrorCode=201, senza salvataggi parziali.

Il flag seleziona il gruppo per il singolo annuncio. Restano valide l’abilitazione generale del MultiInvio, le configurazioni dell’agenzia e gli eventuali requisiti dei portali: il flag non attiva contratti o credenziali e non certifica la pubblicazione.

Compatibilità degli elenchi precedenti: RG_SetPortaliAnnuncio e RG_SetEsclusioneAnnuncio continuano a gestire le scelte TOP. Gli eventuali ID di secondari presenti nei vecchi elenchi non cambiano la selezione collettiva; per escludere o includere i secondari usare RG_UpdateAnnuncio(portali_secondari=false/true). Le letture degli elenchi restano disponibili nel formato precedente. RG_SetPortaliAnnuncio mantiene anche il suo comportamento storico sull’abilitazione generale.

In creazione il precedente escludi_tutti_i_portali=true continua a escludere tutti i portali e imposta il gruppo a falso. Inviarlo insieme a portali_secondari=true esplicito è contraddittorio: la richiesta viene rifiutata con ErrorCode=201. Se il flag collettivo è omesso, le chiamate precedenti restano valide.

Migrazione iniziale autorizzata: gruppo attivato su tutti gli annunci esistenti e precedenti esclusioni individuali dei secondari superate. Selezioni TOP, stato attivo degli immobili, configurazioni delle agenzie e interruttore generale conservati.

<!-- parametro diretto di RG_UpdateAnnuncio: include i secondari -->
<portali_secondari>true</portali_secondari>
<!-- esclude i secondari, senza cambiare i quattro TOP -->
<portali_secondari>0</portali_secondari>

Per verificare subito il valore salvato usare RG_GetAnnuncio. La ricerca testuale conserva la sua cache preesistente. WSDL aggiornato.

Incarico in esclusiva

Il campo dettagli_annuncio.mandato_esclusiva dichiara se l’agenzia ha l’incarico in esclusiva per l’immobile. È distinto dal tipo di mediazione, dalla condivisione MLS, dalle date dell’incarico e dalla selezione dei portali: nessuno di questi dati viene cambiato automaticamente.

ValoreSignificatoInterfaccia Realgest
true / 1Incarico in esclusiva dichiarato.Sì
false / 0Incarico non esclusivo dichiarato.No
NULLInformazione sconosciuta o non indicata.Non indicato

Scrittura SOAP: figlio facoltativo e nillable di RG_DettagliAnnuncioInput, usato dal parametro dettagli_annuncio già presente in RG_AddAnnuncio e RG_UpdateAnnuncio. Non è un nuovo parametro al primo livello. Le firme precedenti e l’ordine dei parametri rimangono validi.

  • Inserimento senza il campo: il valore resta NULL.
  • Aggiornamento senza il campo, senza l’oggetto dettagli oppure con xsi:nil="true": conserva il dato salvato.
  • false è un valore esplicito e salva “No”; non significa omissione.
  • Per tornare a NULL, inviare dettagli_annuncio.azzera_campi = ['mandato_esclusiva']. Non inviare contemporaneamente un valore e la richiesta di cancellazione.
  • I valori non validi, come 2, -1 o il testo si, sono rifiutati con Success=false, ErrorCode=201, senza salvataggi parziali.

Lettura: restituito come booleano o NULL in Annuncio.dettagli_annuncio.mandato_esclusiva da RG_GetAnnuncio e nei singoli elementi di RG_GetAnnunci, RG_GetAnnunciVetrina e RG_GetAnnunciFromString. Nessuna valorizzazione massiva degli annunci esistenti e nessuna deduzione da descrizioni o altri flag.

// Incarico esclusivo: integrare questo oggetto nei normali dati di inserimento.
$nuovo['dettagli_annuncio']['mandato_esclusiva'] = true;
$result = $client->call('WsAction.RG_AddAnnuncio', $nuovo);

// Aggiornamento esplicito a NON esclusivo.
$result = $client->call('WsAction.RG_UpdateAnnuncio', array(
  'admin_api_key' => $key, 'id' => $id,
  'dettagli_annuncio' => array('mandato_esclusiva' => false)));

// Rimozione dell’informazione: torna a NULL / Non indicato.
$result = $client->call('WsAction.RG_UpdateAnnuncio', array(
  'admin_api_key' => $key, 'id' => $id,
  'dettagli_annuncio' => array('azzera_campi' => array('mandato_esclusiva'))));

// Rileggere e verificare Success/ErrorCode prima di considerare completato l’aggiornamento.
$result = $client->call('WsAction.RG_GetAnnuncio', array(
  'admin_api_key' => $key, 'id' => $id));

Il riferimento w accanto al campo indica il contributo alla qualità su WikiCasa, verificato nella schermata del suo gestionale. Non rende l’esclusiva obbligatoria e non certifica l’invio del dato: il collegamento nei connettori dei portali va verificato separatamente. Dichiarare “Sì” soltanto quando l’incarico è realmente esclusivo.

Qualità, requisiti dello score e pubblicazione sui portali

Riferimenti verificati il 28 ottobre 2026. Q indica un fattore di qualità documentato; P indica un requisito di pubblicazione; C indica una condizione che dipende da tipologia, contratto o contenuti inviati. Un campo può avere più ruoli. Non esiste un elenco unico di campi sempre obbligatori per lo score dei tre portali. Un dettaglio facoltativo può dare punti senza essere necessario per pubblicare; un campo tecnico obbligatorio può non avere un punteggio autonomo.

Le tabelle indicano quali informazioni Realgest possono alimentare i fattori. Non attestano che ogni connettore le trasmetta già. I nomi nel gruppo dettagli_annuncio sono figli dell’oggetto SOAP, non parametri diretti. Le voci indicate come GUI sono dati del gestionale: non inviarne arbitrariamente il nome come nuovo parametro SOAP.

Indice: Immobiliare.it · WikiCasa · idealista · Requisiti obbligatori e condizionali.

Immobiliare.it: campi che contribuiscono allo score

Le guide ufficiali distinguono completezza, acquisizione e qualità. I fattori seguenti sono Q; le condizioni riportate non diventano nuovi obblighi delle API Realgest.

Fattori QDato RealgestCondizione documentata per la qualità
Fotografieimmagini; galleria nella GUI.Per il punteggio pieno della componente fotografica, la guida indica almeno 10 foto HD; immagini sotto 1024 pixel sul lato lungo riducono il punteggio. Non è il minimo tecnico delle API Realgest.
Descrizionedescrizione; descrizione completa nella GUI.La guida di pubblicazione indica almeno 500 caratteri per soddisfare il criterio di qualità. Il testo deve restare pertinente e veritiero.
Indirizzo; geolocalizzazione; visibilità della posizioneindirizzo, civico, cap, coordinate e mostra_ubicazione.Posizione corretta, precisa e visibile. Conservare le preferenze di riservatezza: non renderla pubblica automaticamente per ottenere punti.
Prezzo; visibilità del prezzoprezzo, visualizza_prezzo; prezzi delle superfici nella GUI.Il prezzo esposto contribuisce alla qualità. “Prezzo su richiesta” è una scelta distinta e può ridurre il punteggio.
Planimetria; FotoPlanplanimetria; FotoPlan non ancora gestito da Realgest.Contenuti distinti. FotoPlan richiede il caricamento nel CRM del portale e il mantenimento del link negli aggiornamenti: non sostituirlo con una planimetria statica.
Video YouTube; Virtual Tour 3Durl_video1…url_video6, video_360.Facoltativi, contribuiscono se disponibili e compatibili con il canale del portale. Non inventare URL.
Certificazione energetica APE; classe energeticadettagli_annuncio.certificato_energetico, id_classe_energetica.Attestazione, classe e indici sono distinti. Il flag non richiede un PDF e non autorizza a dedurre la classe energetica.
Camere da letto; bagni; cucinadettagli_annuncio.numero_camere_letto, servizi, id_cucina.Compilare i dettagli reali e pertinenti. Il numero di locali non coincide necessariamente con quello delle camere da letto.
Totale piani; anno di costruzione; stato dell’immobiledettagli_annuncio.numero_piani_totali, anno_costruzione, id_condizione.I piani dell’edificio sono distinti dal piano dell’unità immobiliare.
Classe catastale; categoria catastale; rendita; foglio; particelladettagli_annuncio.classe_catastale, id_categoria_catastale, dettagli_annuncio.rendita_catastale; foglio/particella nella GUI.Classe e categoria catastale hanno significati diversi. Foglio e particella contribuiscono secondo la guida ma restano riservati sul portale. Il connettore deve verificare separatamente la destinazione di ogni dato.
Spese condominialidettagli_annuncio.spese_condominiali_importo e dettagli_annuncio.spese_condominiali_periodicita; testo storico costi_condominiali.Indicare importo e periodicità reali; non convertire automaticamente testo senza unità.
Ascensori; portineria; accessibilità ai disabiliascensore, dettagli_annuncio.numero_ascensori_fabbricato, portiere, dettagli_annuncio.accessibile_disabili.Presenza, quantità e accessibilità sono informazioni indipendenti.
Riscaldamento; climatizzazione; disponibilità; agente di riferimentoid_riscaldamento, climatizzazione; disponibilità e agente nella GUI.Compilare secondo la situazione effettiva. Non dichiarare l’immobile libero o assegnare un agente convenzionale solo per aumentare lo score.

Fonti: qualità Immobiliare.it, guida di pubblicazione, FAQ tecniche, FotoPlan e documenti energetici. Non viene ricostruita una formula o attribuito un peso a ogni singolo campo.

WikiCasa: campi che contribuiscono allo score

La schermata di qualità del gestionale WikiCasa fornita al progetto mostra i fattori Q seguenti. È una rilevazione su un annuncio: non dimostra una formula universale per tutte le tipologie. I corrispondenti REST sono stati confrontati con la documentazione ufficiale archiviata.

Fattori QDato RealgestCondizione e obbligatorietà
Fotografie; planimetrieimmagini, planimetria.Contenuti distinti. La schermata non prova un numero minimo universale di fotografie per il massimo punteggio.
Descrizionedescrizione.La schermata osservata richiede più di 850 caratteri per il relativo beneficio di qualità. La presenza della descrizione è anche P in creazione; la soglia di qualità non diventa una nuova validazione Realgest.
Indirizzo visibileIndirizzo, coordinate, mostra_ubicazione.Q e C per la localizzazione. Il REST distingue mappa, via e civico, mentre Realgest ha un controllo generale; la schermata non prova tre punteggi separati.
Prezzo pubblicoprezzo, visualizza_prezzo.Il valore deve rispettare le regole di vendita/affitto. La riservatezza è una scelta esplicita: prezzo zero non equivale automaticamente a trattativa riservata.
Locali; bagni; pianolocali, servizi, piano, id_piano.Q; locali e superficie partecipano anche al gruppo minimo e ai controlli di coerenza del portale. Non inventare quantità per superare i controlli.
Balcone/terrazzo; box; giardino; ascensorebalcone, terrazzo, id_box, dettagli_annuncio.numero_box, giardino, ascensore.Solo caratteristiche reali. Balcone/terrazzo e giardino sono fattori aggregati nella schermata: non attribuire automaticamente punti distinti a ogni rappresentazione. Giardino pubblico e condominiale non sono sinonimi.
Aria condizionata; stato; riscaldamento; arredamentoaria_condizionata, id_condizione, id_riscaldamento, arredato.Q facoltativi; non selezionare “Sì” se il dato è sconosciuto.
Incarico in esclusivadettagli_annuncio.mandato_esclusiva.Q facoltativo. true soltanto per un incarico effettivamente esclusivo; false e NULL non vanno trasformati in true.
Virtual Tour; videovideo_360, url_video1…url_video6.Q facoltativi. Conservare la distinzione tra video e tour.
Informazioni catastali; classe energeticaCatasto nella GUI e dettagli catastali SOAP disponibili; id_classe_energetica.Il catasto è un fattore aggregato; la schermata non indica quale sottoinsieme sia sufficiente. Non contare ogni identificativo come un fattore autonomo.
Spese condominiali; anno di costruzioneImporto e periodicità delle spese; anno_costruzione.Q facoltativi. Il REST usa spese annuali: il connettore deve rispettare la periodicità nota senza dedurla da testo ambiguo.

La voce di qualità relativa al canale webservice/manuale osservata nella schermata non è un attributo dell’immobile da inventare o un nuovo parametro SOAP. I dettagli dei requisiti REST sono nelle regole di validazione e nei campi minimi.

idealista: campi che contribuiscono allo score

Fattori Q documentatiDato RealgestCondizione per la qualità
Fotografieimmagini.Quantità e proporzioni dipendono dal tipo e dalle dimensioni dell’immobile; la fonte non stabilisce una soglia unica per tutti gli annunci.
Descrizionedescrizione.Contenuto completo e pertinente; nessuna soglia universale di caratteri è attestata dalla fonte di qualità consultata.
VideoURL video nella GUI e nelle API.Q facoltativo; il connettore deve verificare i formati accettati dal canale usato.
Planimetriaplanimetria.Q facoltativo; distinto dalle fotografie ordinarie.
3D / tour virtualevideo_360.Q facoltativo, distinto da un comune video.
Indirizzo mostrato, esatto o solo viaIndirizzo e mostra_ubicazione.Q; non cambiare le preferenze di riservatezza per ottenere punti.
Certificazione energeticadettagli_annuncio.certificato_energetico, classe e indici energetici quando richiesti.Q e possibili requisiti C secondo l’immobile. Il flag non sostituisce classe o indici e non richiede da solo un PDF.

Secondo la guida ufficiale idealista, la qualità è calcolata sugli annunci pubblicati e fattori/pesi variano per tipologia. Foto, planimetria, video e tour sono fattori distinti; la lista non li rende tutti obbligatori per pubblicare. Non applicare le soglie di Immobiliare.it a idealista.

Quali dati sono obbligatori e quali servono allo score

Per lo score: per ottenere il beneficio di un fattore occorre soddisfare le sue condizioni documentate, come le soglie fotografiche/testuali sopra indicate. Questo non significa che tutti i fattori debbano essere presenti per accettare o pubblicare l’annuncio. Le condizioni non documentate rimangono da verificare sul portale; non sono presentate come regole certe.

Portale/canaleP: obblighi verificatiC: condizioni ed eccezioni
Immobiliare.itLa guida di compilazione richiede classificazione, contratto e prezzo nel gestionale del portale, distinguendo il prezzo dalla sua esposizione pubblica. Localizzazione, superfici e composizione descrivono l’immobile.Il contratto tecnico e i requisiti dipendono da categoria e operazione: la guida di qualità non è un elenco esaustivo dei campi API obbligatori. Video e tour sono esplicitamente facoltativi. La visibilità Premium riguarda la presenza nelle ricerche, non è un campo dello score.
WikiCasa RESTIn creazione: descrizione, macro-tipologia, tipologia coerente e oggetto indirizzo. Serve un riferimento esterno e almeno vendita o affitto attivo.Prezzo coerente con vendita/affitto, salvo prezzo riservato esplicito. Coordinate richieste in assenza di un comune valido; comune e coordinate, quando presenti entrambi, devono corrispondere. L’assenza di via/coordinate può comportare penalità e mappa nascosta nei casi ammessi.
WikiCasa REST: gruppo minimoIl portale controlla insieme superficie, locali, prezzo, via e coordinate, con regole di pertinenza e coerenza tra valori.La documentazione ammette fino a due elementi mancanti/non validi con penalità; da tre in poi prevede rifiuto, salvo eccezioni come i cantieri. Un rapporto incoerente superficie/locali o prezzo/superficie può invalidare più valori. Non sono cinque campi ciascuno sempre obbligatorio isolatamente. Non riprodurre in Realgest le normalizzazioni a zero effettuate dal portale.
idealista: feed legacy v6Ogni immobile richiede codice, caratteristiche, operazione e indirizzo. L’operazione richiede tipo e prezzo. L’indirizzo ammette combinazioni alternative di via/località/CAP/paese o coordinate, secondo lo schema.Abitazioni: superficie, bagni e locali oppure camere da letto; terreni: superficie del lotto; uffici, locali commerciali, magazzini e fabbricati: superficie costruita; garage: tipo e capienza. Le stanze richiedono inoltre informazioni specifiche su occupanti, permanenza e caratteristiche. Sono obblighi del contratto di esportazione, non un elenco di fattori Q.
Aste: requisito della destinazioneLa data d’asta non è resa obbligatoria nelle API Realgest da questa estensione. Un’asta può essere acquisita anche quando la data è sconosciuta.Il generatore legacy Idealista esclude le aste prive di data valida e futura. È un vincolo di quel canale: non richiede di rifiutare l’annuncio in Realgest o di impedirne l’invio agli altri portali. Le destinazioni Immobiliare.it e WikiCasa seguono le regole del rispettivo connettore; non inventare una data per superare il controllo Idealista.

Per idealista i requisiti tecnici qui riassunti provengono dallo schema ufficiale del feed v6 archiviato; non vanno sostituiti con le firme della diversa API REST. Eventuali limiti o servizi aggiuntivi dell’account vanno verificati separatamente. Nello schema, minItems si applica quando un array è presente: non prova da solo che il campo sia obbligatorio.

API Realgest: questi riferimenti documentali non introducono nuovi blocchi, nuovi campi obbligatori o correzioni automatiche. Prezzo zero rimane rappresentabile nelle API Realgest anche quando una destinazione lo rifiuta. Non inventare bagni, locali, superfici, coordinate, dotazioni o incarichi esclusivi. Verificare separatamente esito del salvataggio, esito del connettore e pubblicazione sul portale.

Qualità degli annunci sui portali immobiliari

Una scheda completa, corretta e corredata da contenuti utili favorisce una buona presentazione sui portali. Lo score viene però calcolato da ciascuna destinazione: fattori, pesi e disponibilità dipendono dal portale e dalla tipologia. Non esiste una percentuale universale garantita da Realgest. Le indicazioni seguenti sono raccomandazioni editoriali, distinte dalla validità tecnica delle chiamate API.

Questa guida non introduce controlli di qualità nel codice API, blocchi al salvataggio, obblighi su campi facoltativi o modifiche ai mapper. La descrizione corta, l'assenza di un media o un dato sconosciuto non diventano per questo nuovi errori delle API. Restano valide le verifiche tecniche dei tipi e delle autorizzazioni.

AreaCosa curareDati e contenuti Realgest
Identità e classificazioneRiferimento stabile, titolo rappresentativo, contratto e tipologia corretti. Distinguere l'unità in vendita dall'intero edificio o progetto.Riferimento, classe, tipologia e offerta; nessuna classificazione dedotta automaticamente dal titolo.
DescrizioneFortemente consigliati almeno 500 caratteri pertinenti come riferimento editoriale Realgest: distribuzione, condizioni, dotazioni, esterni e contesto. Usare paragrafi; evitare ripetizioni e riempitivi. Le singole destinazioni possono applicare criteri diversi.Parametro descrizione e testo dettagliato disponibile nel gestionale. Verificare separatamente i limiti e il testo effettivamente trasmesso dal proprio client.
FotografiePuntare ad almeno 10 immagini originali nitide e varie, con lato maggiore almeno 1024 px come riferimento di preparazione; ampliare la copertura per immobili grandi. Prima foto rappresentativa, niente duplicati o immagini ingrandite artificialmente.Galleria immagini, ordinamento e principale. Verificare che i file siano acquisiti e leggibili; il numero di URL da solo non basta.
PosizioneComune, indirizzo, civico e punto mappa coerenti. La scelta di oscuramento rimane legittima e distinta dalla precisione del dato salvato.Geografia, indirizzo, civico, CAP, latitudine/longitudine, mostra_ubicazione.
PrezzoImporto aggiornato e coerente con il contratto; visibile quando consentito dall'incarico. Non inventare un prezzo per riempire il campo.Prezzo e visualizza_prezzo, con eventuali componenti economiche separate per attività commerciali.
PlanimetriaDocumento leggibile che rappresenti l'immobile. Distinguere una planimetria da un allegato generico; verificare formato e pubblicabilità per destinazione.Planimetria e relativi file.
Video e tourContenuti pertinenti e collegamenti pubblici funzionanti, quando disponibili. Non sono richiesti in egual modo da tutti i portali.video_360 e url_video1–url_video6; la disponibilità nel gestionale non prova l'accettazione di ogni formato da ogni portale.
Dimensioni e distribuzioneSuperfici con significato chiaro, locali, camere, bagni, cucina e piani coerenti. Non equiparare camere e locali o totale piani e piano dell'unità.Superficie, terreni/giardini, locali, servizi, cucina, dettagli camere/livelli e numero_piani_totali.
Condizioni e disponibilitàAnno, stato, disponibilità, arredi e caratteristiche reali, compilando solo ciò che è noto.Anno di costruzione/ristrutturazione, condizione, disponibilità e arredato.
Energia e impiantiClasse energetica o esenzione pertinente e dati dell'attestato; riscaldamento e condizionamento corretti. Non confondere fonti rinnovabili con il tipo di riscaldamento.Classe/IPE e impianti, con i dettagli previsti dal contratto attuale.
Edificio, pertinenze e accessibilitàPresenza o assenza verificata di ascensore, portineria, box/posti auto, balconi, terrazzi e giardino; accessibilità non dedotta da un singolo flag. Zero e false possono essere dati completi e corretti.Dotazioni, conteggi dedicati, numero_ascensori_fabbricato e accessibile_disabili.
Spese e catastoSpese con periodicità; categoria, foglio, particella, subalterno e rendita quando noti. Alcune destinazioni li valorizzano nella completezza: non sono fattori universali né necessariamente dati da rendere pubblici.Campi catastali e rendita_catastale; spese_condominiali_importo e periodicita, senza conversione del testo storico.
Referente e aggiornamentoContatti corretti, agente responsabile e dati mantenuti aggiornati. Compilare informazioni vere è più utile che valorizzare tutti i campi con dati fittizi.Anagrafica/agenzia e assegnazioni disponibili; non tutti questi dati sono scrivibili da ogni endpoint o profilo.

Come leggere lo score: completezza della scheda, corretta acquisizione dei dati e punteggio restituito dal portale sono verifiche diverse. L'indice gestionale Realgest comprende anche informazioni interne: non va equiparato a uno score esterno. Qualità, visibilità commerciale e posizione nelle ricerche non sono la stessa misura; nessuna compilazione garantisce un determinato posizionamento.

Riferimenti ufficiali consultati il 23 ottobre 2026: criteri di qualità Immobiliare.it, fattori di qualità idealista, indicazioni Wikicasa su completezza e contenuti. Sono fonti distinte: le raccomandazioni di questa guida non ne uniformano algoritmi o soglie.

Dettagli facoltativi dell’annuncio — 11 ottobre 2026

Nuovo oggetto dettagli_annuncio in fondo a RG_AddAnnuncio e RG_UpdateAnnuncio. I parametri precedenti restano nello stesso ordine. Sono campi indipendenti, senza deduzioni né valorizzazione massiva. Omissione o nil (oggetto o campo): in inserimento NULL, in aggiornamento conserva. Zero e false sono valori espliciti.

Per cancellare un dato usare azzera_campi, array dei nomi dei nuovi campi da riportare a NULL. Non permette di cancellare campi storici. Non inviare contemporaneamente un valore e il suo nome in azzera_campi. Valori errati, nomi sconosciuti o duplicati: ErrorCode201 senza salvataggio. Stringa vuota non è un comando SOAP di cancellazione. In GUI vuoto/Non noto salva NULL.

CampoSignificatoValori
numero_camere_lettoNumero camere da letto0–99
numero_altre_camereNumero altre camere0–99
numero_soggiorniNumero soggiorni0–99
numero_livelli_unitaNumero livelli dell’unità0–99
numero_unita_fabbricatoNumero unità del fabbricato0–9999
numero_terrazziNumero terrazzi0–99
numero_boxNumero box distinti0–9999
numero_posti_autoNumero posti auto0–9999
numero_posti_motoNumero posti moto0–9999
palazzinaPalazzina / bloccoTesto UTF-8, massimo 50 caratteri
scalaScalaTesto UTF-8, massimo 50 caratteri
internoInternoTesto UTF-8, massimo 50 caratteri
ripostiglioRipostiglio0 / 1 oppure false / true; NULL non noto
tavernaTaverna0 / 1 oppure false / true; NULL non noto
soppalcoSoppalco0 / 1 oppure false / true; NULL non noto
lavanderiaLavanderia0 / 1 oppure false / true; NULL non noto
soffitta_mansardaSoffitta / mansarda come pertinenza0 / 1 oppure false / true; NULL non noto
caminoCamino0 / 1 oppure false / true; NULL non noto
videocitofonoVideocitofono0 / 1 oppure false / true; NULL non noto
cancello_elettricoCancello elettrico0 / 1 oppure false / true; NULL non noto
tennisTennis0 / 1 oppure false / true; NULL non noto
idromassaggioIdromassaggio0 / 1 oppure false / true; NULL non noto

Restituiti nell’oggetto dettagli_annuncio da RG_GetAnnuncio, RG_GetAnnunci, vetrina e ricerca. Il WSDL è aggiornato per lettura e scrittura. Scala identifica la scala, non il numero_scale. Numero livelli riguarda l’unità, non i piani dell’edificio. Numero box conta box distinti: un box doppio non implica due box. Il numero terrazzi non modifica terrazzo o superfici balconi/terrazzi. Le presenze nuove non modificano i flag storici.

<dettagli_annuncio>
  <numero_camere_letto>2</numero_camere_letto>
  <numero_terrazzi>0</numero_terrazzi>
  <scala>B</scala>
</dettagli_annuncio>
<!-- Aggiornamento: cancella soltanto scala, conserva gli altri -->
<dettagli_annuncio><azzera_campi><item>scala</item></azzera_campi></dettagli_annuncio>

Manuale pubblico con esempi NuSOAP. Piani fuori/entro fabbricato descrivono l’edificio; piano descrive l’unità. Superficie, mqterreno, giardino e numero_balconi mantengono il contratto precedente.

Numero balconi — aggiornamento 9 ottobre 2026

numero_balconi è un intero facoltativo da 0 a 255, distinto dal flag balcone. NULL significa numero sconosciuto; 0 significa nessun balcone. Non viene dedotto da testo o superfici e non modifica automaticamente altri dati.

Parametro aggiunto in fondo a RG_AddAnnuncio e RG_UpdateAnnuncio, mantenendo l'ordine precedente. In inserimento omesso/nil significa NULL; in aggiornamento omesso/nil conserva. Per ripristinare esplicitamente NULL inviare -1: il valore -1 è soltanto un comando SOAP e non viene salvato nel database. Zero imposta il numero a0. Questo evita cancellazioni con client NuSOAP che inviano nil per campi non valorizzati.

RG_GetAnnuncio, RG_GetAnnunci, vetrina e ricerca testuale restituiscono il numero nullable. Nella GUI il campo “Numero balconi” consente valore vuoto (NULL). Nessuna valorizzazione massiva dei dati esistenti.

<numero_balconi>2</numero_balconi>
<!-- Nessun balcone -->
<numero_balconi>0</numero_balconi>
<!-- Ripristino esplicito a sconosciuto -->
<numero_balconi>-1</numero_balconi>
<!-- Conserva in aggiornamento, NON cancella -->
<numero_balconi xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />

I valori non interi o fuori intervallo, diversi dal comando -1, restituiscono Success=false, ErrorCode=201 senza salvataggio. Documentazione pubblica con esempi.

Significato dei campi relativi ai piani

  • piani_fuori_fabbricato: piani fuori terra dell'edificio.
  • piani_entro_fabbricato: piani entro terra dell'edificio.
  • piano: piano dell'unità immobiliare, non il numero dei piani dell'edificio.

Il chiarimento non cambia valori o significati e non aggiunge parametri relativi ai piani alla firma SOAP.

RG_AddAnnuncio

Inserisce un nuovo annuncio immobiliare in Realgest.

I sei dettagli aggiunti il 23 ottobre sono scrivibili dentro dettagli_annuncio, tipo WSDL RG_DettagliAnnuncioInput. La tabella e l’esempio SOAP qui sotto mostrano il percorso completo. Oggetto o figlio omesso/nil conserva in modifica; per cancellare usare azzera_campi. Zero e false vengono salvati.

Firma WSDL

Operazione
WsAction.RG_AddAnnuncio
SOAPAction
RG_AddAnnuncio
Stile
rpc
Risposta
RG_AddAnnuncioResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_AddAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.
riferimento_annunciostringTitolo breve dell’annuncio.
codice_immobilestringCodice immobile dell'Agenzia.
id_origstringIdentificativo tecnico dell'annuncio nel sistema del chiamante.
id_tipo_offertalongRiferimento a id_tipologia_offerta.csv.
id_classelongRiferimento a id_classe_immobile.csv.
id_tipologialongRiferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso.
id_classe_energeticalongRiferimento a id_classe_energetica.csv.
ipedecimalIndice di prestazione energetica facoltativo. Punto per i decimali, esempio 125.50, senza unità o separatori delle migliaia. Omesso/nil conserva in update; 0 esplicito. Formato e comportamento.
id_categoria_catastalelongRiferimento a id_categoria_catastale.csv.
id_nazionelongRiferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati.
id_regionelongIdentificativo regione; deducibile dal dominio geografico collegato alle province/comuni.
id_provincialongRiferimento a id_provincia.csv.
id_comunelongRiferimento a id_comune.csv o al metodo RG_GetComune.
id_arealongRiferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone.
localitastringLocalità o frazione.
indirizzostringIndirizzo dell’immobile.
portali_secondariboolean, facoltativoParametro diretto in coda. true/1 include tutti i secondari, false/0 li esclude. TOP invariati; default attivo in creazione, omesso/nil conserva in modifica. Regole ed esempi.
civicostring, facoltativoStringa facoltativa dell’annuncio, massimo 20 caratteri, per esempio 12/A. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi.
capstring, facoltativoStringa facoltativa dell’annuncio, massimo 20 caratteri. Conservare gli zeri iniziali: 00100. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi.
latstringLatitudine. Non viene calcolata automaticamente dalle API.
longstringLongitudine. Non viene calcolata automaticamente dalle API.
mostra_ubicazionebooleanSe true consente la visualizzazione della posizione.
descrizionestringDescrizione dell’annuncio.
costi_condominialistringCosti condominiali, se disponibili.
data_inserimentodateData inserimento, preferibilmente YYYY-MM-DD.
data_incaricodateData incarico, preferibilmente YYYY-MM-DD.
data_fine_incaricodateData fine incarico, preferibilmente YYYY-MM-DD.
data_astadateData dell'asta giudiziaria, preferibilmente YYYY-MM-DD. Usarla con id_tipo_offerta=5; per Idealista deve essere futura.
attivita_tipostringCodice normalizzato dell'attività. Valori supportati: supermarket, grocery_store, bar, restaurant, pizzeria, pub, hotel, bed_and_breakfast, pharmacy, tobacco_shop, hair_salon, aesthetic_and_beauty, gym, repair_shop, real_estate_agency, agricultural_company, other_commercial_activities.
attivita_mura_inclusebooleantrue se la vendita comprende anche l'immobile; false per la sola cessione dell'attività in locali condotti in locazione.
attivita_prezzo_cessionefloatPrezzo richiesto per la cessione dell'attività, maggiore o uguale a zero.
attivita_canone_mensilefloatCanone mensile reale dei locali. Necessario per rappresentare correttamente una cessione senza mura sui portali che distinguono prezzo di cessione e locazione.
visualizza_prezzobooleanSe true consente la visualizzazione del prezzo.
attivobooleanFlag di pubblicazione/visibilità dell’annuncio.
id_tipologia_disponibilitalongRiferimento a id_tipologia_disponibilita.csv.
id_riscaldamentolongRiferimento a id_riscaldamento.csv.
localiintNumero locali.
serviziintNumero bagni/servizi.
id_boxlongIdentificativo box/posto auto secondo codifica Realgest.
id_cucinalongIdentificativo tipologia cucina secondo codifica Realgest.
id_condizionelongRiferimento a id_condizione.csv.
id_condizione_esternolongRiferimento a id_condizione.csv per lo stato esterno, se applicabile.
piani_fuori_fabbricatostringPiani fuori terra dell'edificio.
id_pianolongIdentificativo piano secondo codifica Realgest.
pianostringPiano dell'unità immobiliare, non numero dei piani dell'edificio.
giardinobooleanFlag booleano: true/false.
terrazzobooleanFlag booleano: true/false.
balconebooleanFlag booleano: true/false.
numero_balconiint nullableNumero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone.
ascensorebooleanFlag booleano: true/false.
cantinabooleanFlag booleano: true/false.
aria_condizionatabooleanFlag booleano: true/false.
climatizzazionebooleanFlag booleano: true/false.
anno_costruzioneintAnno di costruzione.
anno_ristrutturazioneintAnno di ristrutturazione.
arredatobooleanFlag booleano: true/false.
prezzofloatPrezzo dell’annuncio.
superficieintMetri quadrati del fabbricato. Per un terreno senza fabbricati inviare 0 insieme a mqterreno. Non comprende terreno o giardino. I client storici mantengono il comportamento precedente.
mqterrenointFacoltativo: terreno totale in m², compreso il giardino e qualsiasi terreno agricolo o edificabile. Intero da 0 a 2147483647; 0 significa assente. Non entra nel calcolo commerciale.
mqgiardino_appartamentointFacoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente.
mqgiardino_villaintFacoltativo: metri effettivi dei giardini di ville/villini (0–100000). Usare il campo pertinente al giardino, senza conteggiare la stessa area due volte.
escludi_tutti_i_portalibooleanSe true, crea l’annuncio escludendolo inizialmente dalla pubblicazione su tutti i portali.
immaginiRG_ImmaginiArrayArray sostitutivo delle immagini dell’annuncio. Ogni elemento usa RG_ImmagineItem con url, title e principale. Gli URL devono essere pubblici e restituire un file immagine valido.
planimetriastringURL pubblico di una planimetria esclusivamente in formato JPG, JPEG o PNG. PDF e altri formati non sono supportati; se il parametro contiene un file non valido, l'operazione restituisce errore e non salva l'annuncio.
id_origstringIdentificativo tecnico dell'annuncio nel sistema del chiamante.
video_360stringURL del virtual tour o tour 360 dell'immobile.
url_video1 ... url_video6stringURL video dell'immobile. Usare url_video1 per il video principale, incluso YouTube.
piscinabooleanPresenza di una piscina. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false.
impianto_fotovoltaicobooleanPresenza di un impianto fotovoltaico. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false.
solare_termicobooleanPresenza di un impianto solare termico. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false.
dettagli_annuncioRG_DettagliAnnuncioInputOggetto facoltativo in fondo alla firma WSDL. I sei campi seguenti sono suoi figli, non parametri al primo livello. Tipi, limiti e gestione NULL.
dettagli_annuncio.rendita_catastalexsd:decimalFacoltativo. Rendita catastale annua in euro; non valore catastale.
dettagli_annuncio.spese_condominiali_importoxsd:decimalFacoltativo. Importo delle spese in euro per la periodicità indicata; zero è esplicito.
dettagli_annuncio.spese_condominiali_periodicitaxsd:stringFacoltativo. mensile oppure annuale.
dettagli_annuncio.numero_piani_totalixsd:intFacoltativo. Piani complessivi del fabbricato, inclusi interrati; 0–999.
dettagli_annuncio.numero_ascensori_fabbricatoxsd:intFacoltativo. Ascensori del fabbricato; 0–99, zero significa assenti.
dettagli_annuncio.accessibile_disabilixsd:booleanFacoltativo. true/false; omesso o nil non modifica il valore.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
IdintID generato o aggiornato.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_AddAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_AddAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id_agenzia>0</id_agenzia>
        <riferimento_annuncio>Luminoso trilocale zona centrale</riferimento_annuncio>
        <codice_immobile>IMM-001</codice_immobile>
        <id_orig>1234</id_orig>
        <id_tipo_offerta>0</id_tipo_offerta>
        <id_classe>0</id_classe>
        <id_tipologia>0</id_tipologia>
        <id_classe_energetica>0</id_classe_energetica>
        <ipe>125.50</ipe>
        <id_categoria_catastale>0</id_categoria_catastale>
        <id_nazione>0</id_nazione>
        <id_regione>0</id_regione>
        <id_provincia>0</id_provincia>
        <id_comune>0</id_comune>
        <id_area>0</id_area>
        <localita></localita>
        <indirizzo>Via Roma</indirizzo>
        <civico>12/A</civico>
        <cap>00100</cap>
        <lat>41.9028</lat>
        <long>12.4964</long>
        <mostra_ubicazione>true</mostra_ubicazione>
        <descrizione>Descrizione immobile</descrizione>
        <costi_condominiali></costi_condominiali>
        <data_inserimento>2026-06-10</data_inserimento>
        <data_incarico>2026-06-10</data_incarico>
        <data_fine_incarico></data_fine_incarico>
        <visualizza_prezzo>true</visualizza_prezzo>
        <attivo>true</attivo>
        <id_tipologia_disponibilita>0</id_tipologia_disponibilita>
        <id_riscaldamento>0</id_riscaldamento>
        <locali>3</locali>
        <servizi>1</servizi>
        <id_box>0</id_box>
        <id_cucina>0</id_cucina>
        <id_condizione>0</id_condizione>
        <id_condizione_esterno>0</id_condizione_esterno>
        <piani_fuori_fabbricato></piani_fuori_fabbricato>
        <id_piano>0</id_piano>
        <piano></piano>
        <giardino>false</giardino>
        <terrazzo>false</terrazzo>
        <balcone>false</balcone>
        <ascensore>false</ascensore>
        <cantina>false</cantina>
        <aria_condizionata>false</aria_condizionata>
        <climatizzazione>false</climatizzazione>
        <anno_costruzione>0</anno_costruzione>
        <anno_ristrutturazione>0</anno_ristrutturazione>
        <arredato>false</arredato>
        <prezzo>100000</prezzo>
        <superficie>80</superficie>
        <escludi_tutti_i_portali>false</escludi_tutti_i_portali>
        <immagini>
          <item>
            <url>https://www.example.com/foto1.jpg</url>
            <title>Foto principale</title>
            <principale>true</principale>
          </item>
          <item>
            <url>https://www.example.com/foto2.jpg</url>
            <title>Seconda foto</title>
            <principale>false</principale>
          </item>
        </immagini>
        <planimetria>https://www.example.com/planimetria.jpg</planimetria>
        <video_360>https://www.example.com/tour-360</video_360>
        <url_video1>https://www.youtube.com/watch?v=example</url_video1>
        <url_video2></url_video2>
        <url_video3></url_video3>
        <url_video4></url_video4>
        <url_video5></url_video5>
        <url_video6></url_video6>
        <data_asta>2026-12-31</data_asta>
        <attivita_tipo>supermarket</attivita_tipo>
        <attivita_mura_incluse>false</attivita_mura_incluse>
        <attivita_prezzo_cessione>265000</attivita_prezzo_cessione>
        <attivita_canone_mensile>3200</attivita_canone_mensile>
        <piscina>true</piscina>
        <impianto_fotovoltaico>true</impianto_fotovoltaico>
        <solare_termico>false</solare_termico>
        <dettagli_annuncio>
          <rendita_catastale>850.25</rendita_catastale>
          <spese_condominiali_importo>0.00</spese_condominiali_importo>
          <spese_condominiali_periodicita>mensile</spese_condominiali_periodicita>
          <numero_piani_totali>4</numero_piani_totali>
          <numero_ascensori_fabbricato>0</numero_ascensori_fabbricato>
          <accessibile_disabili>false</accessibile_disabili>
        </dettagli_annuncio>
</ws:WsAction.RG_AddAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_UpdateAnnuncio

I sei dettagli aggiunti il 23 ottobre sono scrivibili dentro dettagli_annuncio, tipo WSDL RG_DettagliAnnuncioInput. La tabella e l’esempio SOAP qui sotto mostrano il percorso completo. Oggetto o figlio omesso/nil conserva in modifica; per cancellare usare azzera_campi. Zero e false vengono salvati.

Aggiorna i dati di un annuncio immobiliare esistente in Realgest.

Firma WSDL

Operazione
WsAction.RG_UpdateAnnuncio
SOAPAction
RG_UpdateAnnuncio
Stile
rpc
Risposta
RG_UpdateAnnuncioResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_UpdateAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idlongID Realgest dell’annuncio da aggiornare.
riferimento_annunciostringTitolo breve dell’annuncio.
codice_immobilestringCodice immobile dell'Agenzia.
id_tipo_offertalongRiferimento a id_tipologia_offerta.csv.
id_classelongRiferimento a id_classe_immobile.csv.
id_tipologialongRiferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso.
id_classe_energeticalongRiferimento a id_classe_energetica.csv.
ipedecimalIndice di prestazione energetica facoltativo. Punto per i decimali, esempio 125.50, senza unità o separatori delle migliaia. Omesso/nil conserva in update; 0 esplicito. Formato e comportamento.
id_categoria_catastalelongRiferimento a id_categoria_catastale.csv.
id_nazionelongRiferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati.
id_regionelongIdentificativo regione; deducibile dal dominio geografico collegato alle province/comuni.
id_provincialongRiferimento a id_provincia.csv.
id_comunelongRiferimento a id_comune.csv o al metodo RG_GetComune.
id_arealongRiferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone.
localitastringLocalità o frazione.
indirizzostringIndirizzo dell’immobile.
portali_secondariboolean, facoltativoParametro diretto in coda. true/1 include tutti i secondari, false/0 li esclude. TOP invariati; default attivo in creazione, omesso/nil conserva in modifica. Regole ed esempi.
civicostring, facoltativoStringa facoltativa dell’annuncio, massimo 20 caratteri, per esempio 12/A. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi.
capstring, facoltativoStringa facoltativa dell’annuncio, massimo 20 caratteri. Conservare gli zeri iniziali: 00100. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi.
latstringLatitudine. Non viene calcolata automaticamente dalle API.
longstringLongitudine. Non viene calcolata automaticamente dalle API.
mostra_ubicazionebooleanSe true consente la visualizzazione della posizione.
descrizionestringDescrizione dell’annuncio.
costi_condominialistringCosti condominiali, se disponibili.
data_inserimentodateData inserimento, preferibilmente YYYY-MM-DD.
data_incaricodateData incarico, preferibilmente YYYY-MM-DD.
data_fine_incaricodateData fine incarico, preferibilmente YYYY-MM-DD.
data_astadateData dell'asta giudiziaria, preferibilmente YYYY-MM-DD. Usarla con id_tipo_offerta=5; per Idealista deve essere futura.
attivita_tipostringCodice normalizzato dell'attività. Valori supportati: supermarket, grocery_store, bar, restaurant, pizzeria, pub, hotel, bed_and_breakfast, pharmacy, tobacco_shop, hair_salon, aesthetic_and_beauty, gym, repair_shop, real_estate_agency, agricultural_company, other_commercial_activities.
attivita_mura_inclusebooleantrue se la vendita comprende anche l'immobile; false per la sola cessione dell'attività in locali condotti in locazione.
attivita_prezzo_cessionefloatPrezzo richiesto per la cessione dell'attività, maggiore o uguale a zero.
attivita_canone_mensilefloatCanone mensile reale dei locali. Necessario per rappresentare correttamente una cessione senza mura sui portali che distinguono prezzo di cessione e locazione.
visualizza_prezzobooleanSe true consente la visualizzazione del prezzo.
attivobooleanFlag di pubblicazione/visibilità dell’annuncio.
id_tipologia_disponibilitalongRiferimento a id_tipologia_disponibilita.csv.
id_riscaldamentolongRiferimento a id_riscaldamento.csv.
localiintNumero locali.
serviziintNumero bagni/servizi.
id_boxlongIdentificativo box/posto auto secondo codifica Realgest.
id_cucinalongIdentificativo tipologia cucina secondo codifica Realgest.
id_condizionelongRiferimento a id_condizione.csv.
id_condizione_esternolongRiferimento a id_condizione.csv per lo stato esterno, se applicabile.
piani_fuori_fabbricatostringPiani fuori terra dell'edificio.
id_pianolongIdentificativo piano secondo codifica Realgest.
pianostringPiano dell'unità immobiliare, non numero dei piani dell'edificio.
giardinobooleanFlag booleano: true/false.
terrazzobooleanFlag booleano: true/false.
balconebooleanFlag booleano: true/false.
numero_balconiint nullableNumero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone.
ascensorebooleanFlag booleano: true/false.
cantinabooleanFlag booleano: true/false.
aria_condizionatabooleanFlag booleano: true/false.
climatizzazionebooleanFlag booleano: true/false.
anno_costruzioneintAnno di costruzione.
anno_ristrutturazioneintAnno di ristrutturazione.
arredatobooleanFlag booleano: true/false.
prezzofloatPrezzo dell’annuncio.
superficieintMetri quadrati del fabbricato. Per un terreno senza fabbricati inviare 0 insieme a mqterreno. Non comprende terreno o giardino. I client storici mantengono il comportamento precedente.
mqterrenointFacoltativo: terreno totale in m², compreso il giardino e qualsiasi terreno agricolo o edificabile. Intero da 0 a 2147483647; 0 significa assente. Non entra nel calcolo commerciale.
mqgiardino_appartamentointFacoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente.
mqgiardino_villaintFacoltativo: metri effettivi dei giardini di ville/villini (0–100000). Usare il campo pertinente al giardino, senza conteggiare la stessa area due volte.
immaginiRG_ImmaginiArrayArray sostitutivo delle immagini dell’annuncio. Ogni elemento usa RG_ImmagineItem con url, title e principale. Gli URL devono essere pubblici e restituire un file immagine valido. Se l'elenco non vuoto non produce alcuna immagine, l'aggiornamento restituisce errore e conserva le foto presenti.
planimetriastringURL pubblico di una planimetria esclusivamente in formato JPG, JPEG o PNG. PDF e altri formati non sono supportati; se il parametro contiene un file non valido, l'operazione restituisce errore e non applica l'aggiornamento.
id_origstringParametro opzionale in coda alla firma WSDL per compatibilità: identificativo tecnico dell'annuncio nel sistema del chiamante.
video_360stringURL del virtual tour o tour 360 dell'immobile.
url_video1 ... url_video6stringURL video dell'immobile. Usare url_video1 per il video principale, incluso YouTube.
piscinabooleanPresenza di una piscina. Se il parametro è omesso, il valore esistente non viene modificato.
impianto_fotovoltaicobooleanPresenza di un impianto fotovoltaico. Se il parametro è omesso, il valore esistente non viene modificato.
solare_termicobooleanPresenza di un impianto solare termico. Se il parametro è omesso, il valore esistente non viene modificato.
dettagli_annuncioRG_DettagliAnnuncioInputOggetto facoltativo in fondo alla firma WSDL. I sei campi seguenti sono suoi figli, non parametri al primo livello. Tipi, limiti e gestione NULL.
dettagli_annuncio.rendita_catastalexsd:decimalFacoltativo. Rendita catastale annua in euro; non valore catastale.
dettagli_annuncio.spese_condominiali_importoxsd:decimalFacoltativo. Importo delle spese in euro per la periodicità indicata; zero è esplicito.
dettagli_annuncio.spese_condominiali_periodicitaxsd:stringFacoltativo. mensile oppure annuale.
dettagli_annuncio.numero_piani_totalixsd:intFacoltativo. Piani complessivi del fabbricato, inclusi interrati; 0–999.
dettagli_annuncio.numero_ascensori_fabbricatoxsd:intFacoltativo. Ascensori del fabbricato; 0–99, zero significa assenti.
dettagli_annuncio.accessibile_disabilixsd:booleanFacoltativo. true/false; omesso o nil non modifica il valore.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
IdintID generato o aggiornato.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_UpdateAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_UpdateAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>12345</id>
        <riferimento_annuncio>Luminoso trilocale zona centrale</riferimento_annuncio>
        <codice_immobile>IMM-001</codice_immobile>
        <id_tipo_offerta>0</id_tipo_offerta>
        <id_classe>0</id_classe>
        <id_tipologia>0</id_tipologia>
        <id_classe_energetica>0</id_classe_energetica>
        <ipe>125.50</ipe>
        <id_categoria_catastale>0</id_categoria_catastale>
        <id_nazione>0</id_nazione>
        <id_regione>0</id_regione>
        <id_provincia>0</id_provincia>
        <id_comune>0</id_comune>
        <id_area>0</id_area>
        <localita></localita>
        <indirizzo>Via Roma</indirizzo>
        <civico>12/A</civico>
        <cap>00100</cap>
        <lat>41.9028</lat>
        <long>12.4964</long>
        <mostra_ubicazione>true</mostra_ubicazione>
        <descrizione>Descrizione immobile</descrizione>
        <costi_condominiali></costi_condominiali>
        <data_inserimento>2026-06-10</data_inserimento>
        <data_incarico>2026-06-10</data_incarico>
        <data_fine_incarico></data_fine_incarico>
        <visualizza_prezzo>true</visualizza_prezzo>
        <attivo>true</attivo>
        <id_tipologia_disponibilita>0</id_tipologia_disponibilita>
        <id_riscaldamento>0</id_riscaldamento>
        <locali>3</locali>
        <servizi>1</servizi>
        <id_box>0</id_box>
        <id_cucina>0</id_cucina>
        <id_condizione>0</id_condizione>
        <id_condizione_esterno>0</id_condizione_esterno>
        <piani_fuori_fabbricato></piani_fuori_fabbricato>
        <id_piano>0</id_piano>
        <piano></piano>
        <giardino>false</giardino>
        <terrazzo>false</terrazzo>
        <balcone>false</balcone>
        <ascensore>false</ascensore>
        <cantina>false</cantina>
        <aria_condizionata>false</aria_condizionata>
        <climatizzazione>false</climatizzazione>
        <anno_costruzione>0</anno_costruzione>
        <anno_ristrutturazione>0</anno_ristrutturazione>
        <arredato>false</arredato>
        <prezzo>100000</prezzo>
        <superficie>80</superficie>
        <immagini>
          <item>
            <url>https://www.example.com/foto1.jpg</url>
            <title>Foto principale</title>
            <principale>true</principale>
          </item>
          <item>
            <url>https://www.example.com/foto2.jpg</url>
            <title>Seconda foto</title>
            <principale>false</principale>
          </item>
        </immagini>
        <planimetria>https://www.example.com/planimetria.jpg</planimetria>
        <id_orig>1234</id_orig>
        <video_360>https://www.example.com/tour-360</video_360>
        <url_video1>https://www.youtube.com/watch?v=example</url_video1>
        <url_video2></url_video2>
        <url_video3></url_video3>
        <url_video4></url_video4>
        <url_video5></url_video5>
        <url_video6></url_video6>
        <data_asta>2026-12-31</data_asta>
        <attivita_tipo>supermarket</attivita_tipo>
        <attivita_mura_incluse>false</attivita_mura_incluse>
        <attivita_prezzo_cessione>265000</attivita_prezzo_cessione>
        <attivita_canone_mensile>3200</attivita_canone_mensile>
        <piscina>true</piscina>
        <impianto_fotovoltaico>true</impianto_fotovoltaico>
        <solare_termico>false</solare_termico>
            <dettagli_annuncio>
          <rendita_catastale>850.25</rendita_catastale>
          <spese_condominiali_importo>0.00</spese_condominiali_importo>
          <spese_condominiali_periodicita>mensile</spese_condominiali_periodicita>
          <numero_piani_totali>4</numero_piani_totali>
          <numero_ascensori_fabbricato>0</numero_ascensori_fabbricato>
          <accessibile_disabili>false</accessibile_disabili>
        </dettagli_annuncio>
</ws:WsAction.RG_UpdateAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetPortali

Restituisce l’elenco dei portali presenti su Realgest.

Firma WSDL

Operazione
WsAction.RG_GetPortali
SOAPAction
RG_GetPortali
Stile
rpc
Risposta
RG_GetPortaliResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetPortali".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
PortaliRG_PortaliArrayArray di identificativi portale o di portali configurati, secondo il metodo.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetPortali"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetPortali>
        <admin_api_key>API_KEY</admin_api_key>
    </ws:WsAction.RG_GetPortali>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetPortaliAnnuncio

Restituisce i portali associati alla pubblicazione di uno specifico annuncio.

Firma WSDL

Operazione
WsAction.RG_GetPortaliAnnuncio
SOAPAction
RG_GetPortaliAnnuncio
Stile
rpc
Risposta
RG_GetPortaliAnnuncioResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetPortaliAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idintIdentificativo numerico dell’entità gestita dal metodo.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
PortaliRG_IdPortaliArrayArray di identificativi portale o di portali configurati, secondo il metodo.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetPortaliAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetPortaliAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>0</id>
    </ws:WsAction.RG_GetPortaliAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_SetPortaliAnnuncio

Imposta l’elenco dei portali su cui pubblicare uno specifico annuncio e allinea l'abilitazione generale al multiinvio.

Firma WSDL

Operazione
WsAction.RG_SetPortaliAnnuncio
SOAPAction
RG_SetPortaliAnnuncio
Stile
rpc
Risposta
RG_Result

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_SetPortaliAnnuncio". Se viene passato almeno un portale valido e configurato per l'agenzia, l'annuncio viene abilitato al multiinvio; se la lista è vuota o non contiene portali validi, viene disabilitato.

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idintIdentificativo numerico dell’entità gestita dal metodo.
id_portaliRG_IdPortaliArrayArray di identificativi portale. In RG_SetPortaliAnnuncio indica i portali abilitati e attiva l'annuncio al multiinvio se contiene almeno un portale valido configurato per l'agenzia; lista vuota o senza portali validi disattiva l'annuncio dal multiinvio. Nei metodi SetEsclusione indica i portali da escludere.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_SetPortaliAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_SetPortaliAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>0</id>
        <id_portali>
          <item>1</item>
          <item>2</item>
        </id_portali>
    </ws:WsAction.RG_SetPortaliAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_SetEsclusioneAnnuncio

Imposta l’elenco dei portali su cui escludere un annuncio dalla pubblicazione.

Firma WSDL

Operazione
WsAction.RG_SetEsclusioneAnnuncio
SOAPAction
RG_SetEsclusioneAnnuncio
Stile
rpc
Risposta
RG_Result

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_SetEsclusioneAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idintIdentificativo numerico dell’entità gestita dal metodo.
id_portaliRG_IdPortaliArrayArray di identificativi portale. Nei metodi SetPortali indica i portali abilitati; nei metodi SetEsclusione indica i portali da escludere.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_SetEsclusioneAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_SetEsclusioneAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>0</id>
        <id_portali>
          <item>1</item>
          <item>2</item>
        </id_portali>
    </ws:WsAction.RG_SetEsclusioneAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetEsclusioneAnnuncio

Restituisce lo stato di esclusione dell’annuncio dai portali.

Firma WSDL

Operazione
WsAction.RG_GetEsclusioneAnnuncio
SOAPAction
RG_GetEsclusioneAnnuncio
Stile
rpc
Risposta
RG_GetEsclusioneAnnuncioResult

Uso tipico

Passare sempre admin_api_key. Nei client SOAP che richiedono il valore dell’header, usare la forma breve SOAPAction: "RG_GetEsclusioneAnnuncio".

Parametri di input

ParametroTipoNote operative
admin_api_keystringAPI key amministrativa rilasciata da Realgest.
idintIdentificativo numerico dell’entità gestita dal metodo.

Struttura della risposta

CampoTipoNote
SuccessbooleanEsito applicativo della chiamata.
ErrorstringMessaggio di errore applicativo.
ErrorCodeintCodice errore applicativo.
EsclusioniRG_IdPortaliArrayArray degli identificativi portale esclusi per l’annuncio.

Esempio richiesta SOAP

POST /ws/index.php HTTP/1.1
Host: software.realgest.it
Content-Type: text/xml; charset=utf-8
SOAPAction: "RG_GetEsclusioneAnnuncio"

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:ws="https://software.realgest.it/ws/">
  <soapenv:Body>
    <ws:WsAction.RG_GetEsclusioneAnnuncio>
        <admin_api_key>API_KEY</admin_api_key>
        <id>0</id>
    </ws:WsAction.RG_GetEsclusioneAnnuncio>
  </soapenv:Body>
</soapenv:Envelope>

RG_GetIdPortaliAnnunci

Restituisce gli ID remoti degli annunci sui tre portali REST gestiti da Realsync: immobiliare, wikicasa e idealista. Usa lo stesso endpoint SOAP, admin_api_key, controllo IP e autorizzazione agenzia degli altri metodi. Legge le associazioni già riportate nel database Realgest; non contatta i portali e non avvia invii.

ParametroTipo WSDLSignificato
admin_api_keyxsd:stringChiave API esistente, obbligatoria.
idsRG_IdentificativiAnnunciArrayElenco degli ID interni Realgest; per un solo annuncio usare un elenco con un elemento. NULL se non usato.
id_originaliRG_IdentificativiAnnunciArrayElenco dei valori id_orig dell'agenzia. Confronto testuale esatto, inclusi maiuscole e zeri iniziali. NULL se non usato.
id_agenziaxsd:longCon chiave agenzia è ricavata dall'autenticazione; omettere o passare 0. Con chiave network è obbligatoria e deve essere positiva.

Indicare complessivamente da 1 a 100 identificativi nelle due liste. Possono essere usate insieme; i risultati seguono prima ids, poi id_originali, conservando ordine e ripetizioni. Non si tenta di interpretare un ID interno come ID originale o viceversa. La ricerca riguarda esclusivamente annunci non eliminati dell'agenzia autorizzata, anche se inattivi o non più selezionati per l'invio.

Esempio PHP con SoapClient

$client = new SoapClient('https://software.realgest.it/ws/index.php?wsdl');
$risposta = $client->__soapCall('WsAction.RG_GetIdPortaliAnnunci', [
    'admin_api_key' => 'API_KEY',
    'ids' => ['10001'],
    'id_originali' => ['EXT-001', '000123'],
    'id_agenzia' => 0
]);

Risposta

La busta espone Success, Error, ErrorCode, id_agenzia, NumeroRisultati e Risultati. Ogni risultato contiene:

  • tipo_id, valore_richiesto, id e id_orig per identificare la richiesta e l'annuncio risolto.
  • esito: trovato, non_trovato oppure ambiguo. Se l'ID originale corrisponde a più annunci della stessa agenzia, nessuno viene scelto automaticamente. Per non_trovato e ambiguo gli ID risolti sono NULL e Portali è vuoto. Gli ID di altre agenzie risultano non_trovato.
  • Portali: per un annuncio trovato contiene tre elementi con codice, id_annuncio testuale nullable, stato_id (conosciuto o non_disponibile), stato_sincronizzazione, in_perimetro_attuale e osservato_il_utc.

osservato_il_utc è la data dell'ultima osservazione Realsync importata in Realgest, in formato YYYY-MM-DD HH:MM:SS.ffffff UTC. La richiesta legge il database corrente, senza cache applicativa; il suo aggiornamento dipende dal normale flusso di esportazione/importazione degli esiti.

ID conosciuto e pubblicazione sono informazioni distinte. Un ID remoto resta consultabile anche per un'associazione storica con in_perimetro_attuale=false. Non certifica che l'annuncio sia attualmente pubblico; stato_sincronizzazione è uno stato tecnico. Un ID assente resta NULL, senza inventare identificativi o dedurre una cancellazione. Idealista resta disattivato: il metodo non lo abilita e non espone ID di test/sandbox.

I risultati non_trovato e ambiguo sono esiti per elemento con busta Success=true. Autenticazione rifiutata: codici standard 100/102; agenzia network mancante: 200; liste o identificativi non validi, oppure più di 100 elementi: 201; dati degli esiti temporaneamente non leggibili: 1000, senza restituire una falsa lista di ID mancanti. Questo metodo non modifica RG_GetPortaliAnnuncio, che continua a descrivere la selezione dei portali.

Tipi dati e campi annuncio

Il tipo RG_Annuncio contiene il dettaglio dell’immobile restituito da RG_GetAnnuncio e dagli elenchi annunci. Di seguito i campi più rilevanti per l’integrazione.

CampoTipoNote
idlongIdentificativo numerico dell’entità gestita dal metodo.
id_origstringIdentificativo tecnico dell'annuncio nel sistema del chiamante.
id_agenzialongIdentificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie.
codice_immobilestringCodice immobile dell'Agenzia.
riferimento_annunciostringTitolo breve dell’annuncio.
id_tipo_offertalongRiferimento a id_tipologia_offerta.csv.
id_classelongRiferimento a id_classe_immobile.csv.
id_tipologialongRiferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso.
id_classe_energeticalongRiferimento a id_classe_energetica.csv.
id_tipologia_disponibilitalongRiferimento a id_tipologia_disponibilita.csv.
id_categoria_catastalelongRiferimento a id_categoria_catastale.csv.
id_riscaldamentolongRiferimento a id_riscaldamento.csv.
prezzointPrezzo dell’annuncio.
superficieintMetri quadrati del fabbricato. Per un terreno senza fabbricati inviare 0 insieme a mqterreno. Non comprende terreno o giardino. I client storici mantengono il comportamento precedente.
mqterrenointFacoltativo: terreno totale in m², compreso il giardino e qualsiasi terreno agricolo o edificabile. Intero da 0 a 2147483647; 0 significa assente. Non entra nel calcolo commerciale.
mqgiardino_appartamentointFacoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente.
mqgiardino_villaintFacoltativo: metri effettivi dei giardini di ville/villini (0–100000). Usare il campo pertinente al giardino, senza conteggiare la stessa area due volte.
localiintNumero locali.
serviziintNumero bagni/servizi.
id_nazionelongRiferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati.
id_regionelongIdentificativo regione; deducibile dal dominio geografico collegato alle province/comuni.
id_provincialongRiferimento a id_provincia.csv.
id_comunelongRiferimento a id_comune.csv o al metodo RG_GetComune.
id_areastringRiferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone.
indirizzostring
latstringLatitudine. Non viene calcolata automaticamente dalle API.
longstringLongitudine. Non viene calcolata automaticamente dalle API.
descrizionestringDescrizione dell’annuncio.
attivobooleanFlag di pubblicazione/visibilità dell’annuncio.
piscinabooleanPresenza di una piscina.
impianto_fotovoltaicobooleanPresenza di un impianto fotovoltaico.
solare_termicobooleanPresenza di un impianto solare termico.
immaginiRG_FotoArrayFoto restituite dal dettaglio annuncio.
localesRG_LocaleArray
Integrita delle fotografie (2026-10-16.7)

Con RG_AddAnnuncio e RG_UpdateAnnuncio ogni foto inviata deve essere acquisita. Se una foto fallisce, anche dopo altre riuscite, la risposta e Success=false, ErrorCode=201: il salvataggio viene annullato. In aggiornamento la galleria precedente viene conservata. Correggere gli URL o ritentare dopo un errore temporaneo; verificare sempre l'esito applicativo, non soltanto HTTP 200.

In aggiornamento immagini omesso o xsi:nil="true" conserva la galleria; un array vuoto esplicito rimuove tutte le associazioni. Non inviare un array vuoto quando il resolver delle foto fallisce. Formati della lista non riconosciuti vengono rifiutati. Nessuna foto viene inventata o recuperata automaticamente da altre schede.

Prezzo pubblico, dato mancante e trattativa riservata

Il prezzo zero resta ammesso. visualizza_prezzo=false esprime la scelta esplicita di non mostrare il prezzo; il solo zero non dimostra una trattativa riservata. Con visualizza_prezzo=true e prezzo assente, zero o negativo, Add/Update salvano secondo il contratto precedente ma possono restituire il nuovo campo facoltativo AvvisoPrezzo. Il chiamante deve registrare e gestire questo avviso: alcuni portali richiedono un prezzo positivo ed escludono la scheda finche manca un valore valido. Nascondere il prezzo non garantisce che questi portali accettino un prezzo mancante.

Per un prezzo noto inviare l'importo effettivo e la scelta di visualizzazione. Per una trattativa riservata confermata inviare la scelta esplicita di non mostrarlo. Un prezzo sconosciuto richiede integrazione del dato sorgente: non inventare 1 euro, non convertire automaticamente zero in trattativa riservata e non ricavare l'importo dal testo. In update prezzo omesso/nil conserva; zero esplicito scrive zero.

Esempio di risposta con avviso: Success=true; Id=123; AvvisoPrezzo="Prezzo pubblico non disponibile: ...". Il campo e opzionale e non cambia firme o parametri obbligatori. Se assente/nil non e stato prodotto questo avviso; controllare separatamente gli altri requisiti dei portali.

Tipi per immagini, planimetria e video in inserimento/aggiornamento

Nei metodi RG_AddAnnuncio e RG_UpdateAnnuncio, le immagini sono inviate con RG_ImmaginiArray. La planimetria è inviata nel campo planimetria come URL pubblico esclusivamente a un file JPG, JPEG o PNG. PDF e altri formati non sono supportati e causano il mancato salvataggio dell'operazione. I campi video sono stringhe opzionali salvate sull'annuncio.

Tipo/campoStrutturaNote
RG_ImmaginiArrayArray di RG_ImmagineItemElenco delle immagini da associare all’annuncio.
RG_ImmagineItem.urlstringURL pubblico dell’immagine, se disponibile.
RG_ImmagineItem.titlestringTitolo o descrizione breve della foto.
RG_ImmagineItem.principalebooleanIndica la foto principale.
planimetriastringURL pubblico di una planimetria esclusivamente in formato JPG, JPEG o PNG. PDF e altri formati non sono supportati.
video_360stringURL del virtual tour o tour 360 dell'immobile.
url_video1 ... url_video6stringURL video dell'immobile. Usare url_video1 per il video principale.
Nota integrazione: salvare sempre nel sistema chiamante l’ID Realgest restituito.

Tabelle anagrafiche da realgest_anagrafiche.zip

Le tabelle anagrafiche servono per alimentare i campi id_* in inserimento e ricerca. Possono essere importate localmente e aggiornate quando viene distribuita una nuova versione dello ZIP.

FileRecordColonneEsempi
id_acqua_calda.csv4id_acqua_calda, nome1, Autonomo
2, Centralizzato
3, Assente
id_categoria_catastale.csv53id_categoria_catastale, nome1, Abitazioni di tipo signorile
2, Abitazioni di tipo civile
3, Abitazioni di tipo economico
id_classe_energetica.csv11id_classe_energetica, nome11, A4
10, A3
1, A2
id_classe_immobile.csv6id_classe_immobile, nome4, Immobile residenziale
5, Immobile commerciale/industriale
6, Casa Vacanze
id_comune.csv8127id_comune, id_provincia, nome_comune, codice1, 1, Altino, 069001
2, 1, Archi, 069002
3, 1, Ari, 069003
id_condizione.csv5id_condizione, nome1, Nuovo/Ristrutturato
2, Molto Buono
3, Buono
id_nazione.csv249id_nazione, nome_nazione, codice_nazione1, Andorra, AD
2, Emirati Arabi Uniti, AE
3, Afghanistan, AF
id_provincia.csv113id_provincia, id_regione, nome_provincia, sigla_provincia1, 1, Chieti, CH
2, 1, L'Aquila, AQ
3, 1, Pescara, PE
id_riscaldamento.csv4id_riscaldamento, nome1, Autonomo
2, Centralizzato
3, Assente
id_tipologia_disponibilita.csv3id_tipologia_disponibilita, nome1, Libero
2, Occupato
3, Affittato
id_tipologia_immobile.csv83id_tipologia, id_classe_immobile, nome20, 4, Appartamento
64, 4, Stanza/Camera
34, 4, Altro
id_tipologia_interscambio.csv3id_tipologia_interscambio, nome1, Normale
2, Altro
3, Non disponibile
id_tipologia_offerta.csv5id_tipologia_offerta, nome1, Locazione
2, Vendita
3, Nuda Proprietà
id_zona.csv31208id_zona, nome_zona, posizione, cap, id_provincia, id_comune, tipo_zona_immobiliareit, id_immobiliareit1, Mandrelle, 0, NULL
2, Sant'angelo, 0, NULL
3, Selva D'altino, 0, NULL

Mapping rapido

Campo APIOrigine consigliata
id_tipo_offertaid_tipologia_offerta.csv o RG_GetTipologieOfferta
id_tipologiaid_tipologia_immobile.csv o RG_GetTipologieImmobili
id_comuneid_comune.csv o RG_GetComune
id_areaid_zona.csv o RG_GetZone
id_provinciaid_provincia.csv
id_classeid_classe_immobile.csv
id_classe_energeticaid_classe_energetica.csv
id_categoria_catastaleid_categoria_catastale.csv
id_riscaldamentoid_riscaldamento.csv
id_tipologia_disponibilitaid_tipologia_disponibilita.csv

Esempio client PHP

Esempio minimo con SoapClient. In produzione aggiungere timeout, logging, validazione input e gestione retry solo per errori transitori.

<?php
$wsdl = 'https://software.realgest.it/ws/index.php?wsdl';
$apiKey = 'INSERIRE_API_KEY';

$client = new SoapClient($wsdl, [
    'trace' => true,
    'exceptions' => true,
    'cache_wsdl' => WSDL_CACHE_NONE,
    'encoding' => 'UTF-8',
]);

try {
    $response = $client->__soapCall('RG_GetAnnunci', [[
        'admin_api_key' => $apiKey,
        'id_agenzia' => 0,
        'data_inserimento' => '',
        'id_tipo_offerta' => 0,
        'id_classe' => 0,
        'id_tipologia' => 0,
        'id_nazione' => 0,
        'id_regione' => 0,
        'id_provincia' => 0,
        'id_comune' => 0,
        'id_area' => 0,
        'prezzo_min' => 0,
        'prezzo_max' => 0,
        'superficie_min' => 0,
        'superficie_max' => 0,
        'locali_min' => 0,
        'locali_max' => 0,
        'servizi_min' => 0,
        'servizi_max' => 0,
        'id_classe_energetica' => 0,
        'id_tipologia_disponibilita' => 0,
        'id_categoria_catastale' => 0,
        'id_riscaldamento' => 0,
        'terrazzo' => false,
        'balcone' => false,
        'ascensore' => false,
        'giardino' => false,
        'cantina' => false,
        'id_box' => 0,
        'id_cucina' => 0,
        'aria_condizionata' => false,
        'climatizzazione' => false,
        'arredato' => false,
        'attivo' => true,
        'data_incarico' => '',
        'solo_con_foto' => false,
        'start' => 0,
        'limit' => 20,
        'ordinamento' => 'data_inserimento',
        'ordinamento_verso' => 'DESC',
    ]]);

    if (!$response->Success) {
        throw new RuntimeException($response->Error . ' (' . $response->ErrorCode . ')');
    }

    foreach ($response->Annunci as $annuncio) {
        // Elaborare o sincronizzare l’annuncio
    }
} catch (SoapFault $e) {
    error_log($e->getMessage());
    error_log($client->__getLastRequest());
    throw $e;
}

Esempio payload per inserimento/aggiornamento annuncio

Per RG_AddAnnuncio e RG_UpdateAnnuncio passare i campi nella stessa sequenza della firma WSDL; nell’aggiornamento usare anche l’ID Realgest dell’annuncio. In RG_UpdateAnnuncio i campi id_orig, video, data_asta, attivita_*, piscina, impianto_fotovoltaico e solare_termico sono disponibili in coda come parametri opzionali.

$payload = [
    'admin_api_key' => $apiKey,
    'id_agenzia' => 0, // solo RG_AddAnnuncio
    'riferimento_annuncio' => 'Luminoso trilocale zona centrale',
    'codice_immobile' => 'IMM-001',
    'id_orig' => '1234', // in RG_UpdateAnnuncio va passato in coda
    // ... altri campi immobile previsti dal WSDL ...
    'prezzo' => 100000,
    'superficie' => 80,
    'escludi_tutti_i_portali' => false, // solo RG_AddAnnuncio
    'immagini' => [
        [
            'url' => 'https://www.example.com/foto1.jpg',
            'title' => 'Foto principale',
            'principale' => true,
        ],
    ],
    'planimetria' => 'https://www.example.com/planimetria.jpg',
    'video_360' => 'https://www.example.com/tour-360',
    'url_video1' => 'https://www.youtube.com/watch?v=example',
    'url_video2' => '',
    'url_video3' => '',
    'url_video4' => '',
    'url_video5' => '',
    'url_video6' => '',
    'piscina' => true,
    'impianto_fotovoltaico' => true,
    'solare_termico' => false,
];

$response = $client->__soapCall('RG_AddAnnuncio', [$payload]);

$updatePayload = $payload;
$updateIdOrig = $updatePayload['id_orig'];
unset($updatePayload['id_agenzia'], $updatePayload['escludi_tutti_i_portali']);
$updatePayload = ['admin_api_key' => $apiKey, 'id' => 12345] + array_slice($updatePayload, 1, null, true);
$updatePayload['id_orig'] = $updateIdOrig;
$response = $client->__soapCall('RG_UpdateAnnuncio', [$updatePayload]);

Checklist integrazione

Prima del rilascio

  • Importare o sincronizzare le tabelle anagrafiche dello ZIP.
  • Mappare correttamente gli ID geografici e tipologici.
  • Testare lettura elenco con RG_GetAnnunci.
  • Testare lettura dettaglio con RG_GetAnnuncio.
  • Testare inserimento annuncio con RG_AddAnnuncio, includendo riferimento_annuncio, codice_immobile, eventuali immagini e planimetria.
  • Testare aggiornamento annuncio con RG_UpdateAnnuncio, verificando che l’ID Realgest e i codici di correlazione siano corretti.

Best practice operative

  • Usare paginazione con start e limit per gli elenchi.
  • Trattare Success=false come errore applicativo anche se HTTP risponde 200.
  • Validare codifiche anagrafiche prima di chiamare RG_AddAnnuncio o RG_UpdateAnnuncio.
  • Usare RG_SetPortaliAnnuncio per definire i portali abilitati per il singolo annuncio e RG_GetPortaliAnnuncio per verificarli.