Salta al contenuto principale
Vai al contenuto principale

Agenti e agenzie

Documentazione

Ultimo aggiornamento: 12 novembre 2026

Tutto ciò che un’agenzia o un agente indipendente deve sapere per pubblicare su ImmGate: quanto costa, come apriamo la vostra area, come collegare il vostro software e che cosa diventano i vostri annunci. Questa pagina è pubblica: leggetela prima di iscrivervi.

Entrare in ImmGate, in quattro passi

Niente da installare, niente da reinserire. Calcolate una mezz’ora, di cui venti minuti nel vostro stesso software.

Prenotate il vostro posto

Dal modulo della pagina iniziale o per e-mail. Verifichiamo la vostra iscrizione al registro di commercio, che è la condizione per pubblicare, e creiamo la scheda della vostra agenzia.

Apriamo la vostra area

Ricevete un link di accesso monouso che vi permette di scegliere la vostra password. Siete amministratori della vostra area: potete aggiungervi i vostri collaboratori.

Collegate il vostro software

Nella vostra area, la scheda «Flusso» attende l’indirizzo del vostro export SwissRETS. Il pulsante «Testare la connessione» lo scarica e vi dice che cosa contiene, senza pubblicare nulla.

I vostri annunci appaiono

Con la stessa visibilità di tutti gli altri. Il profilo della vostra agenzia e quello di ogni agente sono pubblici e indicizzati, senza supplemento.

Quanto costa e che cosa comprende

49 CHF al mese tutto compreso, per tutti i vostri annunci. Locazione e vendita, nessun costo per annuncio, disdetta ogni mese.

  • Annunci illimitati: il prezzo non dipende dal numero di immobili che pubblicate.
  • Nessuna opzione a pagamento, nessun livello, nessuna messa in evidenza in vendita.
  • I primi 100 partner: sei mesi offerti, poi il prezzo garantito tre anni.
  • Un profilo pubblico per l’agenzia e uno per ogni agente, compresi nell’abbonamento.
  • L’importazione automatica dal vostro software, anch’essa compresa.

Non esiste una seconda tariffa. Se ne cercate una, è perché non c’è.

La visibilità non si compra

È la regola che regge tutto il resto: l’ordine dei risultati dipende da ciò che il visitatore cerca, mai da ciò che l’inserzionista paga. Non ci sono livelli di abbonamento, né annunci sponsorizzati, né risalita nell’elenco a pagamento.

Questo significa che da noi non potete comprare visibilità, e che nessuno può comprarla contro di voi.

La mappa degli annunci, sullo sfondo ufficiale di swisstopo.
Tutti gli immobili, alla stessa scala

Chi può pubblicare

I professionisti dell’immobiliare iscritti al registro di commercio svizzero: agenzie, agenti indipendenti, promotori. Verifichiamo l’iscrizione prima di attivare un conto.

I privati non pubblicano su ImmGate. La consultazione, invece, è gratuita per tutti, per sempre: nessun abbonamento, nessun accesso prioritario a pagamento, nessun annuncio riservato a chi paga.

La vostra area, in una pagina

Una volta connessi, il pulsante «La mia area» in alto a destra apre il vostro pannello. Risponde a quattro domande, in quest’ordine.

  • Il mio flusso: il suo stato, l’ultima lettura riuscita e il pulsante per configurarlo e testarlo.
  • I miei annunci: quanti sono online, quali sono offline e il link per correggerli.
  • La mia squadra: le schede dei vostri agenti e di che aggiungere un collaboratore.
  • La mia scheda: il vostro profilo pubblico, i vostri cantoni e i vostri onorari predefiniti.

L’area ha l’aspetto del resto del sito, nella vostra lingua. Non avete mai a che fare con un’interfaccia di amministrazione tecnica.

Il pannello di un’agenzia: stato del flusso, contatori, squadra.
Il vostro pannello

Collegare il software: il formato

ImmGate legge lo standard svizzero SwissRETS, nelle sue due forme. Non dovete esportare nulla in un formato nostro.

  • SwissRETS JSON, versione 3.x: la forma che lo standard fa evolvere, quella che chiediamo per prima.
  • SwissRETS XML, versione 2.7: congelata da Qualipool, ma ancora prodotta da molti software svizzeri. La accettiamo esattamente allo stesso modo.

L’XML viene tradotto da noi nella struttura del JSON, poi entrambi seguono lo stesso percorso. In altre parole: il formato del vostro software non cambia nulla di ciò che i vostri annunci diventano da noi.

Se il vostro software esporta verso CASAGATEWAY, Immomig, Casasoft o un altro distributore, è lo stesso file che date a noi da leggere. Diteci quale usate e vi indichiamo l’impostazione esatta.

Collegare il software: l’indirizzo e la chiave

Nella scheda «Flusso» del vostro profilo bastano tre campi.

  • Il formato: nel dubbio lasciate «Rilevare automaticamente». Un documento che inizia con «<» è letto come XML, uno che inizia con «{» come JSON.
  • L’indirizzo dell’export: un indirizzo https, oppure il percorso di un file depositato sul nostro server. Niente http semplice: un inventario in chiaro si legge e si modifica per strada, e contiene i recapiti dei vostri venditori.
  • La chiave d’accesso, se il vostro export è protetto. Viaggia nell’intestazione «Authorization», mai nell’indirizzo: un indirizzo finisce nei registri del server di fronte, un’intestazione no.

Collegare il software: l’API, se sa inviare

Alcuni software non espongono il loro inventario a un indirizzo: lo inviano. Per loro ImmGate ha un’API. Nella scheda «API» della vostra area, create una chiave (viene mostrata una sola volta) e inseritela nel vostro software.

  • POST /api/v1/inventaire: il vostro software deposita il suo inventario SwissRETS completo, in JSON o in XML. Risposta 202: è letto entro un minuto.
  • POST /api/v1/reveil: «il mio inventario è cambiato». Un’esportazione che leggiamo da voi viene riletta subito, senza attendere la mezz’ora.
  • GET /api/v1/etat: l’ultima lettura, quando è avvenuta e che cosa è stato creato, modificato o ritirato.
  • GET /api/v1/journal/{numero}: una lettura nel dettaglio, con l’errore esatto di ogni annuncio.

La chiave viaggia nell’intestazione «Authorization: Bearer …», mai in un indirizzo. Ne conserviamo solo l’impronta: una chiave persa si revoca e se ne crea un’altra. Due chiavi possono essere attive insieme, per cambiarla senza interruzioni.

Un documento illeggibile è rifiutato subito (422), con il motivo. I messaggi seguono la lingua richiesta dal vostro software (Accept-Language: fr, de, it o en). Il deposito è sempre un inventario completo. Non esiste un ordine «elimina l’annuncio 12»: ciò che manca è ritirato con le stesse salvaguardie di un flusso.

curl -X POST https://www.immgate.ch/api/v1/inventaire \
  -H "Authorization: Bearer ig_live_…" \
  -H "Content-Type: application/json" \
  -H "Accept-Language: it" \
  --data-binary @inventaire.json

# 202 Accepted
{
  "accepte": true,
  "annonces": 42,
  "projets": 1,
  "ecarts": [],
  "etat": "https://www.immgate.ch/api/v1/etat"
}
La scheda API di un’agenzia: una chiave in uso, di cui è mostrato solo l’inizio, e il campo per crearne un’altra.
Le vostre chiavi API: resta visibile solo il loro inizio.

Il test di connessione, prima di ogni pubblicazione

Il pulsante «Testare la connessione» scarica il vostro documento, lo legge, lo confronta con lo schema ufficiale dello standard e risponde in pochi secondi:

  • la dimensione ricevuta e il formato riconosciuto
  • il software che ha prodotto il file, quando lo dichiara
  • il numero di annunci letti
  • e, se ce ne sono, gli scarti dallo standard, annuncio per annuncio e campo per campo.

Non viene scritto nulla, nessun annuncio è creato, nessuno è modificato. Correggete nel vostro software, rilanciate il test e non dovete chiamare nessuno.

Un test riuscito porta il vostro flusso da «bozza» a «testato». Non lo attiva: l’attivazione resta una decisione, non un effetto collaterale.

Il rapporto del test: documento ricevuto, formato riconosciuto, annunci letti.
Il test, in dieci secondi

Scegliere che cosa pubblicate

Il vostro software esporta tutto il vostro inventario, ma non volete necessariamente pubblicare tutto su ImmGate. Lo regolate nella scheda «Flusso», senza cambiare nulla nel vostro software e senza chiamare il vostro fornitore. Per impostazione predefinita, tutto viene ripreso.

  • Le offerte: gli immobili in affitto, quelli in vendita, o entrambi.
  • I tipi di immobile: abitativo, commerciale, parcheggio, terreno… Togliete la spunta ai posteggi, per esempio, se li affittate solo insieme a un alloggio.
  • I cantoni: tutta la Svizzera, oppure solo quelli che spuntate.
  • Immobili da riprendere sempre, tramite il loro riferimento, anche se le altre vostre scelte li escludono.
  • Immobili da non riprendere mai, tramite il loro riferimento.

Il test di connessione vi mostra che cosa producono le vostre scelte prima di salvarle: quanti immobili vengono ripresi, quali no, e perché. Il registro lo ripete a ogni lettura.

Un immobile che escludete non viene creato. Se era già online, viene ritirato alla lettura successiva, senza attesa perché è una vostra decisione. Non viene mai eliminato e torna appena le vostre scelte lo riprendono.

Gli stati di un flusso

Il vostro flusso ha uno stato, visibile sul pannello come nella scheda «Flusso».

  • Bozza: la fonte è dichiarata, nulla è ancora stato provato.
  • Testato: la connessione risponde e il documento si legge. Gli scostamenti dallo standard non impediscono l’attivazione: vi vengono segnalati.
  • Attivo: gli annunci del flusso vengono ripresi.
  • Sospeso: i vostri annunci restano online, ma non sono più aggiornati.
  • In errore: tre letture di seguito sono fallite. Il messaggio esatto è nel vostro registro. Continuiamo a provare, sempre meno spesso, e il flusso torna attivo appena una lettura riesce.

Nessuna importazione cancella alcunché. Un immobile che sparisce dal vostro export viene tolto dalla pubblicazione e conservato: se ritorna, riprende il suo posto.

La sincronizzazione, una volta attivato il flusso

Un flusso attivo è riletto ogni mezz’ora, senza che dobbiate fare nulla. Potete anche leggerlo subito, con il pulsante «Leggere ora il mio flusso» o tramite l’API. Ogni lettura segue le stesse sei tappe.

  • Recuperare: andiamo a prendere il vostro documento, al vostro indirizzo o là dove il vostro software l’ha depositato. Se non risponde, ci fermiamo: nulla cambia.
  • Leggere: il documento è confrontato con lo schema ufficiale SwissRETS. Ciò che se ne discosta è segnalato nel registro per il vostro fornitore, ma tutto ciò che si capisce viene ripreso.
  • Tradurre: ogni annuncio diventa una scheda ImmGate, nelle lingue che fornite. Prima i progetti, poi i loro lotti.
  • Confrontare: un’impronta di ogni annuncio dice se qualcosa è cambiato. Un annuncio identico non viene toccato, nemmeno la sua cronologia.
  • Applicare: un annuncio nuovo è creato. Uno modificato è aggiornato, e la cronologia dice che cosa è cambiato («Pigione netta», «Foto»). Le foto sono copiate da noi. Se una non risponde, la vecchia galleria resta e riproviamo. Se il vostro inventario non dà più alcuna foto per un immobile, la sua galleria viene svuotata.
  • Riconciliare: un annuncio assente dal vostro inventario è ritirato solo dopo due letture e ventiquattro ore. È depubblicato, non eliminato: se ritorna, riprende il suo posto, il suo indirizzo e la sua cronologia.

Tre salvaguardie proteggono la vostra vetrina da un’esportazione difettosa, senza mai chiedervi nulla. Il termine di un giorno vale per tutto: che manchi un annuncio o che manchino tutti, nulla viene ritirato prima di ventiquattro ore e due letture, e il registro vi dice fin dalla prima quando avverrà il ritiro. Ciò che è stato ritirato per errore torna da sé, allo stesso indirizzo, appena il vostro inventario lo menziona di nuovo. Infine, un flusso irraggiungibile non ritira mai nulla: tre giorni di guasto presso il vostro fornitore non contano come tre giorni di assenza. Dopo tre errori di fila, il vostro flusso passa «in errore» nella vostra area, e torna «attivo» da sé alla lettura riuscita successiva.

Ogni lettura lascia una riga nel registro della scheda «Flusso», nella vostra lingua: che cosa è stato creato, modificato o ritirato, e l’errore esatto di ogni annuncio che non ha potuto essere ripreso.

Ciò che il flusso possiede, lo conserva. Un prezzo corretto da noi sarebbe sovrascritto alla lettura successiva: correggetelo nel vostro software. I vostri onorari inseriti nella vostra area, invece, non sono mai sovrascritti finché il vostro flusso non ne dichiara. I documenti, come i piani e gli estratti del registro fondiario, conservano il loro link verso il vostro server.

Il registro delle letture di un flusso: la data, l’esito, e il numero di annunci creati, modificati, invariati e ritirati.
Il registro: ogni lettura, e che cosa ha fatto.

Ritirare un immobile, e che cosa diventa il suo indirizzo

Un immobile affittato o venduto si ritira in due modi, e la differenza conta.

  • Depubblicarlo: scompare dal sito, ma conserva il suo indirizzo e la sua cronologia. Se torna sul mercato, riprende il suo posto. È ciò che fa il vostro flusso quando un immobile esce dal vostro inventario.
  • Eliminarlo: scompare per sempre. Il suo indirizzo, in ogni lingua, rimanda allora al suo progetto se ne ha uno, altrimenti alla pagina della vostra agenzia: un link condiviso o salvato nei preferiti non porta mai a una pagina vuota.

Un immobile che il vostro flusso ha ritirato e che non è tornato in sei mesi è eliminato da sé, con lo stesso rimando: non conserviamo senza motivo i dati di un annuncio che non tornerà. Un annuncio inserito a mano, o rimesso online da voi, non è mai eliminato da una macchina.

Attenzione a un annuncio che viene dal vostro flusso: se lo eliminate da noi mentre figura ancora nella vostra esportazione, la lettura successiva lo ricrea. Ritiratelo dal vostro software, e al resto pensiamo noi.

Gli onorari: voi fissate, noi mostriamo

È la particolarità di ImmGate e merita di essere detta con precisione. Non interveniamo mai sull’importo dei vostri onorari: nessuna tariffa consigliata, nessun massimale, nessun valore predefinito, nessuna media mostrata da nessuna parte. Fissate liberamente le vostre tariffe.

Ciò che chiediamo è che siano indicati. Sull’annuncio, non sul vostro profilo pubblico: una tariffa fuori contesto diventa un’etichetta di prezzo, e non è quello che cerca chi guarda un immobile.

  • I campi esistono su tre livelli: l’annuncio, l’agente, l’agenzia. Vince il primo valore compilato.
  • Mettete la vostra tariffa predefinita sulla scheda dell’agenzia. Un agente che lavora diversamente la sostituisce sulla propria, e un singolo annuncio può sostituirla ancora.
  • Anche il flusso può portarli, tramite le opzioni del publisher «immgate». Ditecelo e vi diamo le chiavi esatte.
  • I campi non sono obbligatori: un annuncio senza onorari indicati appare comunque, semplicemente senza il riquadro.
Un annuncio e il suo riquadro degli onorari.
Ciò che vede il visitatore

Inserire un annuncio a mano

Non avete un software di export, oppure volete pubblicare un immobile prima di collegare il flusso? La vostra area permette di inserire un annuncio direttamente. I campi seguono lo standard e il modulo mostra solo quelli che corrispondono alla vostra transazione: nessuna «pigione netta» su una vendita.

Un agente corregge i propri annunci. L’amministratore dell’agenzia vede e corregge tutti quelli della casa.

I progetti: promozioni e nuovi edifici

Una promozione di dodici alloggi non è dodici annunci senza legame. Su ImmGate un progetto ha la sua pagina: le sue foto, lo stato di avanzamento, le forchette di prezzo, locali e superfici, e l’elenco dei suoi lotti ancora disponibili, dal meno caro al più caro.

  • Tramite il vostro flusso: SwissRETS descrive i progetti in «projects», e ogni lotto indica a quale progetto appartiene con il suo «unitReferenceId». Creiamo il progetto e vi colleghiamo i lotti, senza nulla da fare da parte vostra.
  • A mano: nella vostra area, «Aggiungere un progetto», poi su ogni annuncio interessato sceglietelo nel campo «Progetto». Vi sono proposti solo i progetti della vostra agenzia.
  • Ogni lotto resta un annuncio a pieno titolo, con il suo prezzo e i suoi onorari. La sua scheda rimanda al progetto e agli altri lotti.

Un progetto segue le stesse regole di un annuncio: riletto a ogni lettura, ritirato se esce dal vostro inventario, mai eliminato di colpo. Eliminato, libera i suoi lotti, che restano online.

La pagina di un progetto: la promozione in costruzione, le sue forchette di prezzo, locali e superfici, e i lotti disponibili.
Un progetto, e i suoi lotti disponibili.

Le vostre lingue

Il portale, la ricerca e gli avvisi sono in francese, tedesco, italiano e inglese. Ogni annuncio appare nelle lingue che pubblicate: non traduciamo automaticamente i vostri testi.

Un annuncio fornito solo in italiano resta in italiano, in tutte e quattro le versioni del sito. È il vostro testo e la vostra responsabilità, e una traduzione automatica della descrizione di un immobile si riconosce subito.

I vostri annunci, presso gli assistenti di intelligenza artificiale

ImmGate apre il suo catalogo agli assistenti di IA, come Claude, ChatGPT e ogni agente che parla il protocollo MCP, tramite un server: https://www.immgate.ch/mcp. La persona vi collega il suo conto ImmGate, gratuito. Quando chiede al proprio assistente «un 3,5 locali in affitto vicino a Lugano, fino a 2000 franchi», può trovare i vostri immobili, con il loro indirizzo su ImmGate.

  1. Una persona chiede Al suo assistente, come a qualcuno: un 3,5 locali vicino a Losanna.
  2. Cerca su ImmGate La stessa ricerca del sito, lo stesso ordine per tutti.
  3. Vi scrive La richiesta parte verso la vostra agenzia, a nome della persona, con l’indicazione che l’ha inviata un assistente.
  4. Rispondete voi Per e-mail, come a una richiesta del sito. Il vostro indirizzo non è mai stato comunicato.
  • La stessa ricerca e lo stesso ordine del sito: i più recenti prima, mai in base a un pagamento.
  • I vostri onorari come li pubblicate, mai una tariffa suggerita.
  • Nessun indirizzo e-mail trasmesso: quando qualcuno chiede al proprio assistente di scrivervi, la richiesta vi arriva come quelle del sito, per e-mail, con una copia per lui e l’indicazione che l’ha inviata un assistente.
  • Un limite di frequenza e al massimo cento annunci per ricerca: un concorrente non può aspirare il vostro inventario.

Scrivi all’agenzia del 4,5 locali di Bienne per una visita, e chiedi quali documenti servono.

Richiesta all’inserzionista contact_advertiser

Richiesta inviata all’agenzia 4,5 locali con vista lago, BienneCopia al vostro indirizzo

È partita, a vostro nome. L’agenzia vi risponderà direttamente per e-mail.

Esempio di conversazione su un annuncio dimostrativo: nulla viene inviato prima dell’apertura del portale, nel 2027.

Non dovete fare nulla: i vostri annunci pubblicati su ImmGate ci sono, nelle loro lingue.

I dossier di candidatura che ricevete

Chi cerca casa può costituire una volta il proprio dossier su ImmGate (identità, reddito per fascia, estratto del registro delle esecuzioni, buste paga, documento d’identità) e allegarlo alla richiesta. L’e-mail che ricevete porta allora un pulsante «Aprire il dossier di candidatura».

  • Il link porta a una pagina di ImmGate: inserite uno degli indirizzi che hanno ricevuto la richiesta (quello del mediatore, dell’agenzia o della casella del vostro software).
  • Vi arriva subito un codice di sei cifre, valido quindici minuti.
  • Il codice apre il dossier per due ore, in questo browser: le informazioni, ogni documento da scaricare, o tutto in un file ZIP.
  • Il link resta valido trenta giorni, finché il candidato non revoca l’accesso. Ogni apertura e ogni download gli vengono mostrati.

Sono dati sensibili che il candidato vi affida. L’Incaricato federale della protezione dei dati ricorda che un’amministrazione può esigere copia del documento d’identità o delle buste paga solo dal candidato scelto, e deve distruggere le copie degli altri: ImmGate ve lo ricorda sulla pagina del dossier.

«Candidarsi con ImmGate»: due righe sul vostro sito

Due righe da incollare, e il vostro sito ha il suo pulsante «Candidarsi con ImmGate». Il candidato clicca, accetta su ImmGate, e il suo dossier completo, dati e documenti, arriva in JSON sul vostro sito, all’indirizzo indicato dal vostro sviluppatore (qui sotto).

Nella vostra area ImmGate, scheda «Candidarsi con ImmGate»: «Attivare», poi inserite l’indirizzo del vostro sviluppatore. Riceve la sua pagina, con le due righe già compilate.

  • Incollate la riga dello script nell’intestazione delle vostre pagine, una volta.
  • Incollate il pulsante dove deve comparire, con riferimento e titolo dell’immobile.
  • È tutto. Il pulsante si disegna da solo, nei nostri colori, nella lingua della vostra pagina, e passa a «Dossier inviato» quando il candidato ha accettato.

Impostazioni facoltative, sulla stessa riga: data-dossier="achat" per un immobile in vendita, data-langue="de" per fissare la lingua, data-taille="grand", data-largeur="plein" per tutta la larghezza, data-fenetre="meme" per aprire ImmGate nella stessa scheda.

La chiave del pulsante non è segreta: apre solo la pagina di accordo. Il dossier va sempre all’indirizzo di ricezione della vostra agenzia, mai altrove. Copiata su un altro sito, vi manderebbe i dossier. Una nuova chiave si crea con un clic nella vostra area.

<!-- 1. Una volta, nell’intestazione delle pagine -->
<script src="https://www.immgate.ch/postuler.js" defer></script>

<!-- 2. Dove deve comparire il pulsante -->
<div class="immgate-postuler" data-agence="VOSTRA_CHIAVE"
     data-bien-ref="LAC-12" data-bien-titre="3,5 locali, Via del Lago 12"></div>
Una pagina di immobile sul sito di un’amministrazione, con il pulsante rosso «Candidarsi con ImmGate».
Il pulsante, sul vostro sito

Ricevere le candidature in JSON, sul vostro sito

Il dossier arriva solo in questo modo, senza e-mail. Nella vostra area, inserite l’indirizzo del vostro sviluppatore: riceve un link verso una pagina dove tutto è pronto. Il pulsante funziona appena ha indicato l’indirizzo di ricezione.

  1. Incolla le due righe del pulsante.
  2. Indica l’indirizzo del vostro sito che riceverà le candidature (https).
  3. Si invia un esempio, con un clic, per verificare.
  4. Poi, a ogni candidatura accettata, ImmGate invia il dossier a questo indirizzo: una richiesta POST in JSON, firmata.

Ogni richiesta porta l’intestazione X-ImmGate-Signature: «sha256=» seguito dall’HMAC-SHA256 del corpo, calcolato con il segreto della pagina dello sviluppatore. Verificatelo prima di leggere il JSON, e rispondete 200.

Il JSON contiene l’immobile (il vostro riferimento e il vostro titolo), il candidato, in chiaro le fasce e gli statuti in «labels», e ogni documento con il suo indirizzo di download. Questi indirizzi, e «file_url» per rileggere il dossier, valgono finché la condivisione è aperta: trenta giorni, o finché il candidato revoca l’accesso (403 «access_withdrawn»).

Se il vostro sito non risponde, o risponde con un codice diverso da 2xx, ImmGate riprova dopo 5 minuti, 30 minuti, 2, 6 e 12 ore. La vostra area mostra lo stato di ogni consegna e permette di rinviarla. Il candidato vede in «I miei invii» che il suo dossier è stato consegnato al vostro sito, e ogni download.

// Ciò che ImmGate invia al vostro indirizzo, a ogni candidatura accettata
POST https://votre-site.ch/immgate/candidature
Content-Type: application/json
X-ImmGate-Event: candidature
X-ImmGate-Signature: sha256=5f2c…

{
  "event": "candidature",
  "agency": { "name": "Régie du Lac SA" },
  "reference": 41,
  "file": "rental",
  "property": { "reference": "LAC-12", "title": "3,5 locali, Via del Lago 12" },
  "complete": true,
  "applicant": {
    "email": "[email protected]",
    "first_name": "Léa", "last_name": "Exemple",
    "profession": "Infermiera", "annual_income": "80_100"
  },
  "labels": { "annual_income": "da 80’000 a 100’000 CHF" },
  "documents": [
    { "category": "payslip", "name": "Busta-paga-ottobre.pdf",
      "url": "https://www.immgate.ch/api/v1/partage/…/pieces/2" }
  ],
  "file_url": "https://www.immgate.ch/api/v1/partage/…",
  "shared_until": "2026-12-13T20:20:54+01:00"
}

// Il vostro indirizzo, in PHP: verificare la firma, poi leggere
$body = file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $body, IMMGATE_SECRET);
if (!hash_equals($expected, $_SERVER['HTTP_X_IMMGATE_SIGNATURE'] ?? '')) {
  http_response_code(401);
  exit;
}
$application = json_decode($body, true);
http_response_code(200);
La pagina dello sviluppatore: le due righe, l’indirizzo di ricezione, il segreto di firma e la prova.
La pagina del vostro sviluppatore

Per andare oltre: il dossier nel vostro software (API)

Il pulsante e la consegna in JSON bastano alla maggior parte delle agenzie. Se il vostro software deve richiedere il dossier da sé, create nella vostra area un identificativo e un segreto, con l’indirizzo di ritorno del vostro sito: è OAuth 2.1, con PKCE.

  • Il pulsante porta alla pagina di autorizzazione di ImmGate, con l’ambito dossier_location (o dossier_achat) e una sfida PKCE.
  • Il candidato accede e condivide il dossier. Può condividerlo solo se è completo.
  • Il vostro sito riceve un codice al suo indirizzo di ritorno e lo scambia con un token, con il vostro segreto.
  • Con il token legge il dossier in JSON, poi ogni documento.
  • La condivisione vale trenta giorni. Il candidato vede ogni lettura e può revocare l’accesso: il token non serve allora più.

La sfida PKCE e lo stato si creano a ogni clic: un verificatore casuale in sessione, la sua impronta SHA-256 in base64url come sfida, e uno stato casuale. Conservate con lo stato il riferimento dell’immobile: al ritorno vi dice per quale immobile il candidato si candida. Un ritorno con stato sconosciuto si respinge.

Aggiungete al pulsante riferimento e titolo dell’immobile (bien_ref, bien_titre): il candidato vede per quale immobile si candida, lo ritrova in «I miei invii», e la risposta ve lo rende in «property». Se la vostra agenzia rimuove il pulsante o lascia ImmGate, le condivisioni si chiudono e il pulsante porta a una pagina «Questo pulsante non è più attivo».

La risposta dà il candidato (i suoi campi, e in chiaro fasce e statuti in «labels», nella lingua del candidato o in quella di ?lang=fr|de|it|en), poi i documenti con il loro indirizzo. Con entrambi gli ambiti, ?file=rental o ?file=purchase sceglie il dossier.

I rifiuti: 401 senza token valido, 403 «access_withdrawn» se il candidato ha revocato l’accesso o dopo trenta giorni, 403 «insufficient_scope» per un dossier non chiesto, 429 oltre trecento letture all’ora. Il token vale un’ora, e quello di rinnovo trenta giorni al massimo. Se il candidato rifiuta, il vostro indirizzo di ritorno riceve error=access_denied.

Il dossier vi è affidato dal candidato: lo trattate sotto la vostra responsabilità. L’Incaricato federale chiede di conservare le copie del documento d’identità e delle buste paga solo per il candidato scelto, e di distruggere quelle degli altri.

# PKCE: VERIFICATORE_PKCE = 64 caratteri casuali, tenuti in sessione;
#       SFIDA_PKCE = base64url(sha256(VERIFICATORE_PKCE)), senza «=».

# 1. Il pulsante, sul vostro sito
<a href="https://www.immgate.ch/oauth/authorize?response_type=code&client_id=VOSTRO_ID&redirect_uri=https%3A%2F%2Fvostro-sito.ch%2Fimmgate%2Fritorno&scope=dossier_location&state=STATO&code_challenge=SFIDA_PKCE&code_challenge_method=S256&bien_ref=RIF_IMMOBILE&bien_titre=TITOLO_IMMOBILE"
   style="display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;background:#E8192C;color:#fff;font:600 16px system-ui,sans-serif;text-decoration:none">
  <img src="https://www.immgate.ch/themes/custom/immgate/images/logo-mark-white.svg" alt="" width="20" height="20">
  Candidarsi con ImmGate
</a>

# 2. Il codice contro un token (sul vostro server)
curl -X POST https://www.immgate.ch/oauth/token \
  -d grant_type=authorization_code -d client_id=VOSTRO_ID -d client_secret=VOSTRO_SEGRETO \
  -d code=CODE -d redirect_uri=https://vostro-sito.ch/immgate/ritorno -d code_verifier=VERIFICATORE_PKCE

# 3. Il dossier, poi ogni documento
curl https://www.immgate.ch/api/v1/candidature -H "Authorization: Bearer TOKEN"
curl -O https://www.immgate.ch/api/v1/candidature/pieces/123 -H "Authorization: Bearer TOKEN"

# 4. La risposta (estratto)
{
  "reference": 21,
  "file": "rental",
  "property": { "reference": "LHA-LAC-12", "title": "3,5 pièces, Rue du Lac 12" },
  "complete": true,
  "applicant": {
    "email": "[email protected]",
    "first_name": "Léa", "last_name": "Exemple", "phone": "021 000 00 00",
    "residence_status": "suisse", "annual_income": "80_100",
    "profession": "Infirmière", "employer": "Hôpital Exemple SA",
    "adults": 2, "children": 1, "move_in_date": "2027-04-01",
    "co_first_name": "Marc", "co_last_name": "Exemple"
  },
  "labels": { "residence_status": "Suisse", "annual_income": "80’000 à 100’000 CHF" },
  "language": "fr",
  "documents": [
    { "id": 92, "category": "debt_collection_extract", "name": "Extrait-poursuites.pdf",
      "size_kb": 84, "uploaded": "2026-11-13", "to_renew": false,
      "url": "https://www.immgate.ch/api/v1/candidature/pieces/92" }
  ],
  "shared_until": "2026-12-13T19:17:21+01:00",
  "notice": "Shared by the applicant through ImmGate. …"
}
La pagina in cui il candidato condivide il dossier di locazione con un’amministrazione: cosa riceverà e cosa non potrà fare.
Cosa vede il candidato

Il vostro software esporta solo in IDX 3.01, o via SFTP?

È il vecchio formato svizzero di scambio di annunci, ancora prodotto da alcuni software e spesso depositato via SFTP. Non lo colleghiamo d’ufficio: SwissRETS fa di meglio, e la maggior parte dei software lo propone già.

Se il vostro sa fare solo questo, ditecelo: lo integriamo su richiesta, perché non dobbiate reinserire nulla.

I vostri dati, e i nostri

Nessun cookie di tracciamento, nessuno strumento di misurazione del pubblico su questo sito. I recapiti dei proprietari eventualmente presenti nel vostro export sono scartati alla lettura: non entrano mai nella nostra banca dati.

Il dettaglio di ciò che raccogliamo, perché e per quanto tempo lo conserviamo è nella nostra informativa sulla privacy.

Partner pionieri

I primi 100 hanno sei mesi offerti

Prenotate ora il vostro posto: 6 mesi offerti, poi 49 CHF al mese tutto compreso, prezzo garantito 3 anni. Tutti i vostri annunci, senza costi per annuncio, disdicibile ogni mese.

Una domanda a cui questa pagina non risponde

Scriveteci: una squadra in Svizzera vi risponde il prima possibile. Diteci quale software usate, è la prima cosa che vi chiederemmo.

[email protected]