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
| Service | WEBSERVICE_REALGEST |
|---|---|
| Endpoint | https://software.realgest.it:443/ws/index.php |
| Namespace | https://software.realgest.it/ws/ |
| Protocollo | SOAP 1.1 via HTTP POST |
| Binding | RPC encoded |
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,ErroredErrorCode. VerificareSuccess === trueprima di usare il payload. - Gli header SOAPAction negli esempi usano la forma breve, ad esempio
SOAPAction: "RG_AddAnnuncio". - Le tabelle nello ZIP
realgest_anagrafiche.ziprappresentano i valori anagrafici da usare per molti campiid_*. - Per la pubblicazione sui portali usare
RG_GetPortali,RG_GetPortaliAnnuncioeRG_SetPortaliAnnuncio. I metodi di esclusione (RG_GetEsclusioneAnnuncio, RG_SetEsclusioneAnnuncio) restano disponibili quando il flusso applicativo lavora per portali esclusi. RG_SetPortaliAnnunciocon almeno un portale valido abilita anche l'annuncio al multiinvio generale; con lista vuota o senza portali validi disabilita l'annuncio dal multiinvio.- Con
mqterrenovalorizzato,superficieindica i metri quadrati del fabbricato emqterrenoi metri quadrati fisici di tutto il terreno, giardino incluso. Non sommare le due superfici. Per i record storici senzamqterrenorimane il fallback di lettura precedente: fabbricato, terreno edificabile, terreno agricolo, superficie generica. - Per annunci di stanze o camere usare
id_tipologia=64o una delle nuove stanze specifiche del catalogo esteso. - In
RG_AddAnnuncioeRG_UpdateAnnuncio, seid_comune,id_provinciaoid_regioneidentificano un territorio collegato a una nazione,id_nazioneviene riallineato automaticamente a quella nazione. I valori geografici0o stringa vuota vengono salvati comeNULL. - Per le cessioni di attività usare
id_tipologia=18oid_tipologia=59e valorizzare i campiattivita_*. Se le mura non sono incluse, indicare anche il canone mensile reale: in assenza del canone il MultiInvio mantiene il comportamento storico. - Le coordinate
latelongvengono salvate solo se passate dal chiamante; le API non eseguono geocoding automatico da indirizzo, comune o località. - Usare
video_360per virtual tour o tour 360 eurl_video1-url_video6per URL video.url_video1è il video principale consigliato. piscina,impianto_fotovoltaicoesolare_termicosono booleani indipendenti: nessun valore viene dedotto dagli altri campi. In inserimento, se omessi, assumonofalse; 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
data_inserimento | string | Filtro/data in formato stringa; usare preferibilmente YYYY-MM-DD quando si filtra per data. |
id_tipo_offerta | long | Riferimento a id_tipologia_offerta.csv. |
id_classe | long | Riferimento a id_classe_immobile.csv. |
id_tipologia | long | Riferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso. |
id_nazione | long | Riferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati. |
id_regione | long | Identificativo regione; deducibile dal dominio geografico collegato alle province/comuni. |
id_provincia | long | Riferimento a id_provincia.csv. |
id_comune | long | Riferimento a id_comune.csv o al metodo RG_GetComune. |
id_area | long | Riferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone. |
prezzo_min | float | Valore minimo per filtro di ricerca. |
prezzo_max | float | Valore massimo per filtro di ricerca. |
superficie_min | int | Valore minimo per filtro di ricerca. |
superficie_max | int | Valore massimo per filtro di ricerca. |
locali_min | int | Valore minimo per filtro di ricerca. |
locali_max | int | Valore massimo per filtro di ricerca. |
servizi_min | int | Valore minimo per filtro di ricerca. |
servizi_max | int | Valore massimo per filtro di ricerca. |
id_classe_energetica | long | Riferimento a id_classe_energetica.csv. |
id_tipologia_disponibilita | long | Riferimento a id_tipologia_disponibilita.csv. |
id_categoria_catastale | long | Riferimento a id_categoria_catastale.csv. |
id_riscaldamento | long | Riferimento a id_riscaldamento.csv. |
terrazzo | boolean | Flag booleano: true/false. |
balcone | boolean | Flag booleano: true/false. |
numero_balconi | int nullable | Numero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone. |
ascensore | boolean | Flag booleano: true/false. |
giardino | boolean | Flag booleano: true/false. |
cantina | boolean | Flag booleano: true/false. |
id_box | long | Identificativo box/posto auto secondo codifica Realgest. |
id_cucina | long | Identificativo tipologia cucina secondo codifica Realgest. |
aria_condizionata | boolean | Flag booleano: true/false. |
climatizzazione | boolean | Flag booleano: true/false. |
arredato | boolean | Flag booleano: true/false. |
attivo | boolean | Flag di pubblicazione/visibilità dell’annuncio. |
data_incarico | string | Data incarico, preferibilmente YYYY-MM-DD. |
solo_con_foto | boolean | Se true limita i risultati agli annunci con foto. |
start | int | Offset iniziale per la paginazione. |
limit | int | Numero massimo di record da restituire. |
ordinamento | string | Campo di ordinamento, secondo i valori accettati lato Realgest. |
ordinamento_verso | string | Verso 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.
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
NumeroAnnunci | int | Numero totale annunci coerenti con i filtri. |
Annunci | RG_AnnunciArray | Array 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | long | Identificativo numerico dell’entità gestita dal metodo. |
id_agenzia | long | Identificativo 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.
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Annuncio | RG_Annuncio | Dettaglio 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Elenco | RG_TipologieImmobiliArray | Elenco 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Elenco | RG_TipologieArray | Elenco 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
term | string | Testo di ricerca/autocomplete. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Elenco | RG_ComuniArray | Elenco 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
term | string | Testo di ricerca/autocomplete. |
idcomune | long | Identificativo comune per filtrare le zone. |
selected | string | Valore già selezionato, utile per pre-selezione lato interfaccia. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
NumeroZone | int | Numero zone restituite. |
Zone | RG_ZoneArray | Array 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.
| Caso | superficie | mqterreno | giardino | Metri specifici del giardino |
|---|---|---|---|---|
| Solo casa | 100 | 0 | false | 0 |
| Solo terreno | 0 | 800 | false | 0 |
| Villa con giardino | 100 | 300 | true | mqgiardino_villa = 300 |
| Villa con giardino e altro terreno | 100 | 1000 | true | mqgiardino_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 Realgest | Tipologia | id_classe | Riferimento V2 | Vendita ordinaria V2 | Affitto ordinario V2 |
|---|---|---|---|---|---|
| 65 | Villa bifamiliare | 4 | 24 | Sì | Sì |
| 66 | Villa plurifamiliare | 4 | 25 | Sì | Sì |
| 67 | Appartamento in villa | 4 | 27 | Sì | Sì |
| 68 | Chalet | 4 | 33 | Sì | Sì |
| 69 | Terratetto plurifamiliare | 4 | 22 | Sì | Sì |
| 70 | Cascina | 4 | 30 | Sì | Sì |
| 71 | Casa colonica | 4 | 31 | Sì | Sì |
| 72 | Baita | 4 | 32 | Sì | Sì |
| 73 | Trullo | 4 | 34 | Sì | Sì |
| 74 | Dammuso | 4 | 35 | Sì | Sì |
| 75 | Nuraghe | 4 | 36 | Sì | Sì |
| 76 | Maso | 4 | 37 | Sì | Sì |
| 77 | Baglio | 4 | 38 | Sì | Sì |
| 78 | Rifugio | 4 | 39 | Sì | Sì |
| 79 | Sasso | 4 | 40 | Sì | Sì |
| 80 | Masseria | 4 | 41 | Sì | Sì |
| 81 | Soffitta | 4 | 48 | Sì | Sì |
| 82 | Stanza in villa | 4 | 195 | No | Sì |
| 83 | Stanza in ufficio | 5 | 196 | No | Sì |
| 84 | Stanza in studio medico | 5 | 197 | No | Sì |
| 85 | Stanza in studio tecnico | 5 | 198 | No | Sì |
| 86 | Stanza in casa indipendente | 4 | 236 | No | Sì |
| 87 | Non Edificabile | 8 | 262 | Sì | Sì |
| 88 | Terreno agricolo | 8 | 269 | Sì | Sì |
| 89 | Coworking | 5 | 259 | No | Sì |
| 90 | Progetto | 9 | 276 | Sì | No |
| 91 | Posto moto | 4 | 44 | No | No |
| 92 | Posto camper o roulotte | 4 | 46 | No | No |
| 93 | Cantina | 4 | 47 | No | No |
| 94 | Filiale bancaria | 5 | 81 | No | No |
| 95 | Castello | 4 | 233 | No | No |
| 96 | Dimora storica | 4 | 235 | No | No |
| 97 | Centralina | 5 | 78 | No | No |
| 98 | Podere o tenuta | 5 | 79 | No | No |
| 99 | Impianti sportivi | 5 | 229 | No | No |
| 100 | Centro commerciale | 5 | 237 | No | No |
| 101 | Terreno terziario | 8 | 190 | No | No |
| 102 | Posto barca | 4 | 45 | No | No |
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.
| Parametro | Tipo WSDL | Valori |
|---|---|---|
civico | xsd:string | Stringa facoltativa, massimo 20 caratteri. Accetta lettere e separatori, per esempio 12/A, 7 bis o SNC. |
cap | xsd:string | Stringa 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.
| Campo | Tipo WSDL | Valori e significato |
|---|---|---|
rendita_catastale | xsd:decimal | Rendita annua in euro, da 0 a 9999999999.99, al massimo due decimali. Non è il valore catastale dell'immobile. |
spese_condominiali_importo | xsd:decimal | Importo in euro per la periodicità indicata, stessi limiti della rendita. Zero significa spese assenti. |
spese_condominiali_periodicita | xsd:string | Esattamente mensile oppure annuale. Non viene attribuita automaticamente una periodicità all'importo. |
numero_piani_totali | xsd:int | Intero da 0 a 999: piani complessivi del fabbricato, inclusi interrati. Distinto dal piano dell'unità e dal numero di livelli dell'unità. |
numero_ascensori_fabbricato | xsd:int | Intero da 0 a 99. Zero significa nessun ascensore, non dato sconosciuto. |
accessibile_disabili | xsd:boolean | true/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.
| Campo | Tipo | Significato e aggiornamento |
|---|---|---|
classe_catastale | xsd:string | Classe 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_energetico | xsd:boolean | true/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 restaNULL; in aggiornamento si conserva quello già salvato.nilnon è un comando di cancellazione. 0è un valore esplicito e viene salvato, distinto daNULL.- 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.5e125.50rappresentano 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 ricevuto | Comportamento |
|---|---|
true / 1 | Seleziona insieme tutti i secondari disponibili per l’agenzia. Le selezioni TOP restano invariate. |
false / 0 | Esclude 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 valori | Success=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.
| Valore | Significato | Interfaccia Realgest |
|---|---|---|
true / 1 | Incarico in esclusiva dichiarato. | Sì |
false / 0 | Incarico non esclusivo dichiarato. | No |
NULL | Informazione 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, inviaredettagli_annuncio.azzera_campi = ['mandato_esclusiva']. Non inviare contemporaneamente un valore e la richiesta di cancellazione. - I valori non validi, come
2,-1o il testosi, sono rifiutati conSuccess=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 Q | Dato Realgest | Condizione documentata per la qualità |
|---|---|---|
| Fotografie | immagini; 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. |
| Descrizione | descrizione; 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 posizione | indirizzo, 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 prezzo | prezzo, 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; FotoPlan | planimetria; 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 3D | url_video1…url_video6, video_360. | Facoltativi, contribuiscono se disponibili e compatibili con il canale del portale. Non inventare URL. |
| Certificazione energetica APE; classe energetica | dettagli_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; cucina | dettagli_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’immobile | dettagli_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; particella | dettagli_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 condominiali | dettagli_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 disabili | ascensore, dettagli_annuncio.numero_ascensori_fabbricato, portiere, dettagli_annuncio.accessibile_disabili. | Presenza, quantità e accessibilità sono informazioni indipendenti. |
| Riscaldamento; climatizzazione; disponibilità; agente di riferimento | id_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 Q | Dato Realgest | Condizione e obbligatorietà |
|---|---|---|
| Fotografie; planimetrie | immagini, planimetria. | Contenuti distinti. La schermata non prova un numero minimo universale di fotografie per il massimo punteggio. |
| Descrizione | descrizione. | 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 visibile | Indirizzo, 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 pubblico | prezzo, 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; piano | locali, 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; ascensore | balcone, 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; arredamento | aria_condizionata, id_condizione, id_riscaldamento, arredato. | Q facoltativi; non selezionare “Sì” se il dato è sconosciuto. |
| Incarico in esclusiva | dettagli_annuncio.mandato_esclusiva. | Q facoltativo. true soltanto per un incarico effettivamente esclusivo; false e NULL non vanno trasformati in true. |
| Virtual Tour; video | video_360, url_video1…url_video6. | Q facoltativi. Conservare la distinzione tra video e tour. |
| Informazioni catastali; classe energetica | Catasto 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 costruzione | Importo 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 documentati | Dato Realgest | Condizione per la qualità |
|---|---|---|
| Fotografie | immagini. | Quantità e proporzioni dipendono dal tipo e dalle dimensioni dell’immobile; la fonte non stabilisce una soglia unica per tutti gli annunci. |
| Descrizione | descrizione. | Contenuto completo e pertinente; nessuna soglia universale di caratteri è attestata dalla fonte di qualità consultata. |
| Video | URL video nella GUI e nelle API. | Q facoltativo; il connettore deve verificare i formati accettati dal canale usato. |
| Planimetria | planimetria. | Q facoltativo; distinto dalle fotografie ordinarie. |
| 3D / tour virtuale | video_360. | Q facoltativo, distinto da un comune video. |
| Indirizzo mostrato, esatto o solo via | Indirizzo e mostra_ubicazione. | Q; non cambiare le preferenze di riservatezza per ottenere punti. |
| Certificazione energetica | dettagli_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/canale | P: obblighi verificati | C: condizioni ed eccezioni |
|---|---|---|
| Immobiliare.it | La 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 REST | In 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 minimo | Il 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 v6 | Ogni 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 destinazione | La 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.
| Area | Cosa curare | Dati e contenuti Realgest |
|---|---|---|
| Identità e classificazione | Riferimento 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. |
| Descrizione | Fortemente 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. |
| Fotografie | Puntare 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. |
| Posizione | Comune, 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. |
| Prezzo | Importo 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. |
| Planimetria | Documento leggibile che rappresenti l'immobile. Distinguere una planimetria da un allegato generico; verificare formato e pubblicabilità per destinazione. | Planimetria e relativi file. |
| Video e tour | Contenuti 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 distribuzione | Superfici 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 impianti | Classe 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 catasto | Spese 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 aggiornamento | Contatti 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.
| Campo | Significato | Valori |
|---|---|---|
numero_camere_letto | Numero camere da letto | 0–99 |
numero_altre_camere | Numero altre camere | 0–99 |
numero_soggiorni | Numero soggiorni | 0–99 |
numero_livelli_unita | Numero livelli dell’unità | 0–99 |
numero_unita_fabbricato | Numero unità del fabbricato | 0–9999 |
numero_terrazzi | Numero terrazzi | 0–99 |
numero_box | Numero box distinti | 0–9999 |
numero_posti_auto | Numero posti auto | 0–9999 |
numero_posti_moto | Numero posti moto | 0–9999 |
palazzina | Palazzina / blocco | Testo UTF-8, massimo 50 caratteri |
scala | Scala | Testo UTF-8, massimo 50 caratteri |
interno | Interno | Testo UTF-8, massimo 50 caratteri |
ripostiglio | Ripostiglio | 0 / 1 oppure false / true; NULL non noto |
taverna | Taverna | 0 / 1 oppure false / true; NULL non noto |
soppalco | Soppalco | 0 / 1 oppure false / true; NULL non noto |
lavanderia | Lavanderia | 0 / 1 oppure false / true; NULL non noto |
soffitta_mansarda | Soffitta / mansarda come pertinenza | 0 / 1 oppure false / true; NULL non noto |
camino | Camino | 0 / 1 oppure false / true; NULL non noto |
videocitofono | Videocitofono | 0 / 1 oppure false / true; NULL non noto |
cancello_elettrico | Cancello elettrico | 0 / 1 oppure false / true; NULL non noto |
tennis | Tennis | 0 / 1 oppure false / true; NULL non noto |
idromassaggio | Idromassaggio | 0 / 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
riferimento_annuncio | string | Titolo breve dell’annuncio. |
codice_immobile | string | Codice immobile dell'Agenzia. |
id_orig | string | Identificativo tecnico dell'annuncio nel sistema del chiamante. |
id_tipo_offerta | long | Riferimento a id_tipologia_offerta.csv. |
id_classe | long | Riferimento a id_classe_immobile.csv. |
id_tipologia | long | Riferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso. |
id_classe_energetica | long | Riferimento a id_classe_energetica.csv. |
ipe | decimal | Indice 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_catastale | long | Riferimento a id_categoria_catastale.csv. |
id_nazione | long | Riferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati. |
id_regione | long | Identificativo regione; deducibile dal dominio geografico collegato alle province/comuni. |
id_provincia | long | Riferimento a id_provincia.csv. |
id_comune | long | Riferimento a id_comune.csv o al metodo RG_GetComune. |
id_area | long | Riferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone. |
localita | string | Località o frazione. |
indirizzo | string | Indirizzo dell’immobile. |
portali_secondari | boolean, facoltativo | Parametro 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. |
civico | string, facoltativo | Stringa facoltativa dell’annuncio, massimo 20 caratteri, per esempio 12/A. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi. |
cap | string, facoltativo | Stringa facoltativa dell’annuncio, massimo 20 caratteri. Conservare gli zeri iniziali: 00100. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi. |
lat | string | Latitudine. Non viene calcolata automaticamente dalle API. |
long | string | Longitudine. Non viene calcolata automaticamente dalle API. |
mostra_ubicazione | boolean | Se true consente la visualizzazione della posizione. |
descrizione | string | Descrizione dell’annuncio. |
costi_condominiali | string | Costi condominiali, se disponibili. |
data_inserimento | date | Data inserimento, preferibilmente YYYY-MM-DD. |
data_incarico | date | Data incarico, preferibilmente YYYY-MM-DD. |
data_fine_incarico | date | Data fine incarico, preferibilmente YYYY-MM-DD. |
data_asta | date | Data dell'asta giudiziaria, preferibilmente YYYY-MM-DD. Usarla con id_tipo_offerta=5; per Idealista deve essere futura. |
attivita_tipo | string | Codice 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_incluse | boolean | true se la vendita comprende anche l'immobile; false per la sola cessione dell'attività in locali condotti in locazione. |
attivita_prezzo_cessione | float | Prezzo richiesto per la cessione dell'attività, maggiore o uguale a zero. |
attivita_canone_mensile | float | Canone mensile reale dei locali. Necessario per rappresentare correttamente una cessione senza mura sui portali che distinguono prezzo di cessione e locazione. |
visualizza_prezzo | boolean | Se true consente la visualizzazione del prezzo. |
attivo | boolean | Flag di pubblicazione/visibilità dell’annuncio. |
id_tipologia_disponibilita | long | Riferimento a id_tipologia_disponibilita.csv. |
id_riscaldamento | long | Riferimento a id_riscaldamento.csv. |
locali | int | Numero locali. |
servizi | int | Numero bagni/servizi. |
id_box | long | Identificativo box/posto auto secondo codifica Realgest. |
id_cucina | long | Identificativo tipologia cucina secondo codifica Realgest. |
id_condizione | long | Riferimento a id_condizione.csv. |
id_condizione_esterno | long | Riferimento a id_condizione.csv per lo stato esterno, se applicabile. |
piani_fuori_fabbricato | string | Piani fuori terra dell'edificio. |
id_piano | long | Identificativo piano secondo codifica Realgest. |
piano | string | Piano dell'unità immobiliare, non numero dei piani dell'edificio. |
giardino | boolean | Flag booleano: true/false. |
terrazzo | boolean | Flag booleano: true/false. |
balcone | boolean | Flag booleano: true/false. |
numero_balconi | int nullable | Numero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone. |
ascensore | boolean | Flag booleano: true/false. |
cantina | boolean | Flag booleano: true/false. |
aria_condizionata | boolean | Flag booleano: true/false. |
climatizzazione | boolean | Flag booleano: true/false. |
anno_costruzione | int | Anno di costruzione. |
anno_ristrutturazione | int | Anno di ristrutturazione. |
arredato | boolean | Flag booleano: true/false. |
prezzo | float | Prezzo dell’annuncio. |
superficie | int | Metri 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. |
mqterreno | int | Facoltativo: 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_appartamento | int | Facoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente. |
mqgiardino_villa | int | Facoltativo: 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_portali | boolean | Se true, crea l’annuncio escludendolo inizialmente dalla pubblicazione su tutti i portali. |
immagini | RG_ImmaginiArray | Array 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. |
planimetria | string | URL 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_orig | string | Identificativo tecnico dell'annuncio nel sistema del chiamante. |
video_360 | string | URL del virtual tour o tour 360 dell'immobile. |
url_video1 ... url_video6 | string | URL video dell'immobile. Usare url_video1 per il video principale, incluso YouTube. |
piscina | boolean | Presenza di una piscina. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false. |
impianto_fotovoltaico | boolean | Presenza di un impianto fotovoltaico. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false. |
solare_termico | boolean | Presenza di un impianto solare termico. Campo indipendente, non derivato da altri valori; se omesso in inserimento assume false. |
dettagli_annuncio | RG_DettagliAnnuncioInput | Oggetto 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_catastale | xsd:decimal | Facoltativo. Rendita catastale annua in euro; non valore catastale. |
dettagli_annuncio.spese_condominiali_importo | xsd:decimal | Facoltativo. Importo delle spese in euro per la periodicità indicata; zero è esplicito. |
dettagli_annuncio.spese_condominiali_periodicita | xsd:string | Facoltativo. mensile oppure annuale. |
dettagli_annuncio.numero_piani_totali | xsd:int | Facoltativo. Piani complessivi del fabbricato, inclusi interrati; 0–999. |
dettagli_annuncio.numero_ascensori_fabbricato | xsd:int | Facoltativo. Ascensori del fabbricato; 0–99, zero significa assenti. |
dettagli_annuncio.accessibile_disabili | xsd:boolean | Facoltativo. true/false; omesso o nil non modifica il valore. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Id | int | ID 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | long | ID Realgest dell’annuncio da aggiornare. |
riferimento_annuncio | string | Titolo breve dell’annuncio. |
codice_immobile | string | Codice immobile dell'Agenzia. |
id_tipo_offerta | long | Riferimento a id_tipologia_offerta.csv. |
id_classe | long | Riferimento a id_classe_immobile.csv. |
id_tipologia | long | Riferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso. |
id_classe_energetica | long | Riferimento a id_classe_energetica.csv. |
ipe | decimal | Indice 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_catastale | long | Riferimento a id_categoria_catastale.csv. |
id_nazione | long | Riferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati. |
id_regione | long | Identificativo regione; deducibile dal dominio geografico collegato alle province/comuni. |
id_provincia | long | Riferimento a id_provincia.csv. |
id_comune | long | Riferimento a id_comune.csv o al metodo RG_GetComune. |
id_area | long | Riferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone. |
localita | string | Località o frazione. |
indirizzo | string | Indirizzo dell’immobile. |
portali_secondari | boolean, facoltativo | Parametro 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. |
civico | string, facoltativo | Stringa facoltativa dell’annuncio, massimo 20 caratteri, per esempio 12/A. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi. |
cap | string, facoltativo | Stringa facoltativa dell’annuncio, massimo 20 caratteri. Conservare gli zeri iniziali: 00100. Omesso/nil conserva in modifica; vuoto esplicito cancella. Regole ed esempi. |
lat | string | Latitudine. Non viene calcolata automaticamente dalle API. |
long | string | Longitudine. Non viene calcolata automaticamente dalle API. |
mostra_ubicazione | boolean | Se true consente la visualizzazione della posizione. |
descrizione | string | Descrizione dell’annuncio. |
costi_condominiali | string | Costi condominiali, se disponibili. |
data_inserimento | date | Data inserimento, preferibilmente YYYY-MM-DD. |
data_incarico | date | Data incarico, preferibilmente YYYY-MM-DD. |
data_fine_incarico | date | Data fine incarico, preferibilmente YYYY-MM-DD. |
data_asta | date | Data dell'asta giudiziaria, preferibilmente YYYY-MM-DD. Usarla con id_tipo_offerta=5; per Idealista deve essere futura. |
attivita_tipo | string | Codice 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_incluse | boolean | true se la vendita comprende anche l'immobile; false per la sola cessione dell'attività in locali condotti in locazione. |
attivita_prezzo_cessione | float | Prezzo richiesto per la cessione dell'attività, maggiore o uguale a zero. |
attivita_canone_mensile | float | Canone mensile reale dei locali. Necessario per rappresentare correttamente una cessione senza mura sui portali che distinguono prezzo di cessione e locazione. |
visualizza_prezzo | boolean | Se true consente la visualizzazione del prezzo. |
attivo | boolean | Flag di pubblicazione/visibilità dell’annuncio. |
id_tipologia_disponibilita | long | Riferimento a id_tipologia_disponibilita.csv. |
id_riscaldamento | long | Riferimento a id_riscaldamento.csv. |
locali | int | Numero locali. |
servizi | int | Numero bagni/servizi. |
id_box | long | Identificativo box/posto auto secondo codifica Realgest. |
id_cucina | long | Identificativo tipologia cucina secondo codifica Realgest. |
id_condizione | long | Riferimento a id_condizione.csv. |
id_condizione_esterno | long | Riferimento a id_condizione.csv per lo stato esterno, se applicabile. |
piani_fuori_fabbricato | string | Piani fuori terra dell'edificio. |
id_piano | long | Identificativo piano secondo codifica Realgest. |
piano | string | Piano dell'unità immobiliare, non numero dei piani dell'edificio. |
giardino | boolean | Flag booleano: true/false. |
terrazzo | boolean | Flag booleano: true/false. |
balcone | boolean | Flag booleano: true/false. |
numero_balconi | int nullable | Numero balconi da0 a255; NULL sconosciuto, 0 nessuno. In update omesso/nil conserva, -1 ripristina NULL; indipendente dal flag balcone. |
ascensore | boolean | Flag booleano: true/false. |
cantina | boolean | Flag booleano: true/false. |
aria_condizionata | boolean | Flag booleano: true/false. |
climatizzazione | boolean | Flag booleano: true/false. |
anno_costruzione | int | Anno di costruzione. |
anno_ristrutturazione | int | Anno di ristrutturazione. |
arredato | boolean | Flag booleano: true/false. |
prezzo | float | Prezzo dell’annuncio. |
superficie | int | Metri 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. |
mqterreno | int | Facoltativo: 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_appartamento | int | Facoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente. |
mqgiardino_villa | int | Facoltativo: metri effettivi dei giardini di ville/villini (0–100000). Usare il campo pertinente al giardino, senza conteggiare la stessa area due volte. |
immagini | RG_ImmaginiArray | Array 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. |
planimetria | string | URL 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_orig | string | Parametro opzionale in coda alla firma WSDL per compatibilità: identificativo tecnico dell'annuncio nel sistema del chiamante. |
video_360 | string | URL del virtual tour o tour 360 dell'immobile. |
url_video1 ... url_video6 | string | URL video dell'immobile. Usare url_video1 per il video principale, incluso YouTube. |
piscina | boolean | Presenza di una piscina. Se il parametro è omesso, il valore esistente non viene modificato. |
impianto_fotovoltaico | boolean | Presenza di un impianto fotovoltaico. Se il parametro è omesso, il valore esistente non viene modificato. |
solare_termico | boolean | Presenza di un impianto solare termico. Se il parametro è omesso, il valore esistente non viene modificato. |
dettagli_annuncio | RG_DettagliAnnuncioInput | Oggetto 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_catastale | xsd:decimal | Facoltativo. Rendita catastale annua in euro; non valore catastale. |
dettagli_annuncio.spese_condominiali_importo | xsd:decimal | Facoltativo. Importo delle spese in euro per la periodicità indicata; zero è esplicito. |
dettagli_annuncio.spese_condominiali_periodicita | xsd:string | Facoltativo. mensile oppure annuale. |
dettagli_annuncio.numero_piani_totali | xsd:int | Facoltativo. Piani complessivi del fabbricato, inclusi interrati; 0–999. |
dettagli_annuncio.numero_ascensori_fabbricato | xsd:int | Facoltativo. Ascensori del fabbricato; 0–99, zero significa assenti. |
dettagli_annuncio.accessibile_disabili | xsd:boolean | Facoltativo. true/false; omesso o nil non modifica il valore. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Id | int | ID 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Portali | RG_PortaliArray | Array 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | int | Identificativo numerico dell’entità gestita dal metodo. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Portali | RG_IdPortaliArray | Array 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | int | Identificativo numerico dell’entità gestita dal metodo. |
id_portali | RG_IdPortaliArray | Array 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
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | int | Identificativo numerico dell’entità gestita dal metodo. |
id_portali | RG_IdPortaliArray | Array di identificativi portale. Nei metodi SetPortali indica i portali abilitati; nei metodi SetEsclusione indica i portali da escludere. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice 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
| Parametro | Tipo | Note operative |
|---|---|---|
admin_api_key | string | API key amministrativa rilasciata da Realgest. |
id | int | Identificativo numerico dell’entità gestita dal metodo. |
Struttura della risposta
| Campo | Tipo | Note |
|---|---|---|
Success | boolean | Esito applicativo della chiamata. |
Error | string | Messaggio di errore applicativo. |
ErrorCode | int | Codice errore applicativo. |
Esclusioni | RG_IdPortaliArray | Array 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.
| Parametro | Tipo WSDL | Significato |
|---|---|---|
| admin_api_key | xsd:string | Chiave API esistente, obbligatoria. |
| ids | RG_IdentificativiAnnunciArray | Elenco degli ID interni Realgest; per un solo annuncio usare un elenco con un elemento. NULL se non usato. |
| id_originali | RG_IdentificativiAnnunciArray | Elenco dei valori id_orig dell'agenzia. Confronto testuale esatto, inclusi maiuscole e zeri iniziali. NULL se non usato. |
| id_agenzia | xsd:long | Con 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,ideid_origper identificare la richiesta e l'annuncio risolto.esito:trovato,non_trovatooppureambiguo. Se l'ID originale corrisponde a più annunci della stessa agenzia, nessuno viene scelto automaticamente. Pernon_trovatoeambiguogli ID risolti sonoNULLePortaliè vuoto. Gli ID di altre agenzie risultanonon_trovato.Portali: per un annuncio trovato contiene tre elementi concodice,id_annunciotestuale nullable,stato_id(conosciutoonon_disponibile),stato_sincronizzazione,in_perimetro_attualeeosservato_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.
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.
| Campo | Tipo | Note |
|---|---|---|
id | long | Identificativo numerico dell’entità gestita dal metodo. |
id_orig | string | Identificativo tecnico dell'annuncio nel sistema del chiamante. |
id_agenzia | long | Identificativo agenzia. Usare 0 solo se il caso d’uso lo consente o se il servizio aggrega più agenzie. |
codice_immobile | string | Codice immobile dell'Agenzia. |
riferimento_annuncio | string | Titolo breve dell’annuncio. |
id_tipo_offerta | long | Riferimento a id_tipologia_offerta.csv. |
id_classe | long | Riferimento a id_classe_immobile.csv. |
id_tipologia | long | Riferimento a id_tipologia_immobile.csv. Per stanze/camere usare 64 o la tipologia specifica nel catalogo esteso. |
id_classe_energetica | long | Riferimento a id_classe_energetica.csv. |
id_tipologia_disponibilita | long | Riferimento a id_tipologia_disponibilita.csv. |
id_categoria_catastale | long | Riferimento a id_categoria_catastale.csv. |
id_riscaldamento | long | Riferimento a id_riscaldamento.csv. |
prezzo | int | Prezzo dell’annuncio. |
superficie | int | Metri 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. |
mqterreno | int | Facoltativo: 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_appartamento | int | Facoltativo: metri effettivi del giardino di appartamento (0–100000), corrispondenti all'omonimo campo del form e al suo peso commerciale esistente. |
mqgiardino_villa | int | Facoltativo: metri effettivi dei giardini di ville/villini (0–100000). Usare il campo pertinente al giardino, senza conteggiare la stessa area due volte. |
locali | int | Numero locali. |
servizi | int | Numero bagni/servizi. |
id_nazione | long | Riferimento a id_nazione.csv. In add/update viene riallineato alla nazione collegata a comune/provincia/regione, se questi ID sono valorizzati. |
id_regione | long | Identificativo regione; deducibile dal dominio geografico collegato alle province/comuni. |
id_provincia | long | Riferimento a id_provincia.csv. |
id_comune | long | Riferimento a id_comune.csv o al metodo RG_GetComune. |
id_area | string | Riferimento alle zone/aree, tabella id_zona.csv o metodo RG_GetZone. |
indirizzo | string | |
lat | string | Latitudine. Non viene calcolata automaticamente dalle API. |
long | string | Longitudine. Non viene calcolata automaticamente dalle API. |
descrizione | string | Descrizione dell’annuncio. |
attivo | boolean | Flag di pubblicazione/visibilità dell’annuncio. |
piscina | boolean | Presenza di una piscina. |
impianto_fotovoltaico | boolean | Presenza di un impianto fotovoltaico. |
solare_termico | boolean | Presenza di un impianto solare termico. |
immagini | RG_FotoArray | Foto restituite dal dettaglio annuncio. |
locales | RG_LocaleArray |
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.
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/campo | Struttura | Note |
|---|---|---|
RG_ImmaginiArray | Array di RG_ImmagineItem | Elenco delle immagini da associare all’annuncio. |
RG_ImmagineItem.url | string | URL pubblico dell’immagine, se disponibile. |
RG_ImmagineItem.title | string | Titolo o descrizione breve della foto. |
RG_ImmagineItem.principale | boolean | Indica la foto principale. |
planimetria | string | URL pubblico di una planimetria esclusivamente in formato JPG, JPEG o PNG. PDF e altri formati non sono supportati. |
video_360 | string | URL del virtual tour o tour 360 dell'immobile. |
url_video1 ... url_video6 | string | URL video dell'immobile. Usare url_video1 per il video principale. |
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.
| File | Record | Colonne | Esempi |
|---|---|---|---|
id_acqua_calda.csv | 4 | id_acqua_calda, nome | 1, Autonomo 2, Centralizzato 3, Assente |
id_categoria_catastale.csv | 53 | id_categoria_catastale, nome | 1, Abitazioni di tipo signorile 2, Abitazioni di tipo civile 3, Abitazioni di tipo economico |
id_classe_energetica.csv | 11 | id_classe_energetica, nome | 11, A4 10, A3 1, A2 |
id_classe_immobile.csv | 6 | id_classe_immobile, nome | 4, Immobile residenziale 5, Immobile commerciale/industriale 6, Casa Vacanze |
id_comune.csv | 8127 | id_comune, id_provincia, nome_comune, codice | 1, 1, Altino, 069001 2, 1, Archi, 069002 3, 1, Ari, 069003 |
id_condizione.csv | 5 | id_condizione, nome | 1, Nuovo/Ristrutturato 2, Molto Buono 3, Buono |
id_nazione.csv | 249 | id_nazione, nome_nazione, codice_nazione | 1, Andorra, AD 2, Emirati Arabi Uniti, AE 3, Afghanistan, AF |
id_provincia.csv | 113 | id_provincia, id_regione, nome_provincia, sigla_provincia | 1, 1, Chieti, CH 2, 1, L'Aquila, AQ 3, 1, Pescara, PE |
id_riscaldamento.csv | 4 | id_riscaldamento, nome | 1, Autonomo 2, Centralizzato 3, Assente |
id_tipologia_disponibilita.csv | 3 | id_tipologia_disponibilita, nome | 1, Libero 2, Occupato 3, Affittato |
id_tipologia_immobile.csv | 83 | id_tipologia, id_classe_immobile, nome | 20, 4, Appartamento 64, 4, Stanza/Camera 34, 4, Altro |
id_tipologia_interscambio.csv | 3 | id_tipologia_interscambio, nome | 1, Normale 2, Altro 3, Non disponibile |
id_tipologia_offerta.csv | 5 | id_tipologia_offerta, nome | 1, Locazione 2, Vendita 3, Nuda Proprietà |
id_zona.csv | 31208 | id_zona, nome_zona, posizione, cap, id_provincia, id_comune, tipo_zona_immobiliareit, id_immobiliareit | 1, Mandrelle, 0, NULL 2, Sant'angelo, 0, NULL 3, Selva D'altino, 0, NULL |
Mapping rapido
| Campo API | Origine consigliata |
|---|---|
id_tipo_offerta | id_tipologia_offerta.csv o RG_GetTipologieOfferta |
id_tipologia | id_tipologia_immobile.csv o RG_GetTipologieImmobili |
id_comune | id_comune.csv o RG_GetComune |
id_area | id_zona.csv o RG_GetZone |
id_provincia | id_provincia.csv |
id_classe | id_classe_immobile.csv |
id_classe_energetica | id_classe_energetica.csv |
id_categoria_catastale | id_categoria_catastale.csv |
id_riscaldamento | id_riscaldamento.csv |
id_tipologia_disponibilita | id_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, includendoriferimento_annuncio,codice_immobile, eventualiimmaginieplanimetria. - Testare aggiornamento annuncio con
RG_UpdateAnnuncio, verificando che l’ID Realgest e i codici di correlazione siano corretti.
Best practice operative
- Usare paginazione con
startelimitper gli elenchi. - Trattare
Success=falsecome errore applicativo anche se HTTP risponde 200. - Validare codifiche anagrafiche prima di chiamare
RG_AddAnnunciooRG_UpdateAnnuncio. - Usare
RG_SetPortaliAnnuncioper definire i portali abilitati per il singolo annuncio eRG_GetPortaliAnnuncioper verificarli.