IMMOTRAY

TeamProQ mit IMMOTRAY verbinden

So holst du eine Immobilie aus TeamProQ nach IMMOTRAY und meldest Reservierungen zurück.

Als Anbieter-Admin erledigst du alles selbst, von der Freischaltung bis zur Veröffentlichung. Die einzige Ausnahme ist die IP-Freischaltung bei TeamProQ (Voraussetzung unten): Die gibt es einmal pro TeamProQ-Workspace, und nur der TeamProQ-Support kann sie einrichten.

Stand: 28.10.2026.


Worum es geht

Zwei Richtungen, die unabhängig voneinander funktionieren:

RichtungWas passiertWer stößt an
TeamProQ → IMMOTRAY (Import)Objekt, Einheiten, Stellplätze, Bilder und Dokumente kommen zu unsDu gibst frei, wir holen ab
IMMOTRAY → TeamProQ (Rückweg)Reservierungen aus IMMOTRAY erscheinen drüben als ReservierungsanfrageWir stoßen an, TeamProQ holt bei uns ab

Dazwischen steht in TeamProQ der Empfänger: eine benannte Freigabe mit eigenen Zugangsdaten. In IMMOTRAY entspricht ihm genau eine Verbindung.

Das Token ist der Ausschnitt. Eine Verbindung sieht ausschließlich die Einheiten, die ihrem Empfänger freigegeben sind. Alles andere existiert für sie schlicht nicht — das ist kein Fehler, sondern der Sinn der Sache.

Ob du alle Immobilien über einen Sammel-Empfänger führst oder jede einzeln freigibst, entscheidest du. Beides läuft über denselben Weg; du legst nur entsprechend viele Verbindungen an.


Voraussetzung — IP-Freischaltung durch den TeamProQ-Support

TeamProQ lässt Anfragen an seine API nur von freigeschalteten IP-Adressen zu. Unsere Anfragen kommen immer von zwei festen Adressen:

54.217.142.99
54.195.3.54

Die Freischaltung gilt pro Workspace, also pro Subdomain (<kunde>.teamproq.de). Jeder neue Kunde mit eigenem TeamProQ braucht sie einmal. Weitere Empfänger oder Objekte im selben Workspace brauchen sie nicht noch einmal.

Selbst einstellen kann man das nicht. Weder die Datenraumeinstellungen (Datenraum, Sicherheit, Erweiterte Einstellungen) noch Verkauf → Einstellungen → API-Import und -Export haben ein Feld dafür. Die Export-Karte hat nur einen Namen und Zugangsdaten (geprüft am 23.09.2026 in unserem Demo-Workspace):

API-Import und -Export: kein IP-Feld
API-Import und -Export: kein IP-Feld

TeamProQ sieht dafür auch einen eigenen Schritt vor: „Request your server to be whitelisted for the desired TeamProQ workspace" (Quickstart von RealEstatePilot, docs/teamproq_orig_docs.pdf).

So läuft es: Der Kunde bittet seinen TeamProQ-Ansprechpartner bzw. den Support von RealEstatePilot, die beiden IPs für die REST-API seines Workspaces freizuschalten. Textvorschlag:

Bitte schaltet für die REST-API unseres Workspaces <kunde>.teamproq.de die IP-Adressen 54.217.142.99 und 54.195.3.54 frei (IMMOTRAY). Rückrufe von TeamProQ gehen an immotray.de bzw. beta.immotray.de.

Fehlt die Freischaltung, meldet IMMOTRAY beim Anlegen der Verbindung:

403: IP nicht freigegeben
403: IP nicht freigegeben

Mit dem Token hat das nichts zu tun. TeamProQ prüft zuerst die IP und erst danach das Token. Ist die IP nicht freigeschaltet, kommt immer 403, auch bei einem gültigen Token. Ist sie freigeschaltet und das Token falsch, kommt 404.


Schritt 0 — Integration einschalten

Den Reiter findest du unter Anbieter → Bearbeiten → Integration. Ganz oben steht ein Schalter:

Integration aktivieren
Integration aktivieren

Vor dem Einschalten lässt sich keine Verbindung anlegen. Ausschalten pausiert Sync und Rückweg, löscht aber nichts — Verbindungen und importierte Objekte bleiben stehen.


Schritt 1 — In TeamProQ freigeben

Verkauf → Objekt öffnen → Einheiten markieren → Aktion für … Einheiten → „REST API: Ausgewählte Einheit(en) freigeben".

Aktion: Einheiten freigeben
Aktion: Einheiten freigeben

Zwei Dinge, die man leicht falsch macht:

  • Freigegeben wird je Einheit, nicht je Objekt. Markierst du nur 8 von 9, sieht IMMOTRAY auch nur diese 8.
  • Die Zeile darunter — „REST API: Freigabe ausgewählter Einheit(en) aufheben" — ist der Rückweg, falls du dich vertan hast.

Im Dialog tippst du oben einen Namen für den Empfänger ein und klickst auf +. Nimm etwas Sprechendes, du siehst den Namen später in beiden Systemen wieder — z. B. schlicht „IMMOTRAY".

Empfänger anlegen
Empfänger anlegen

Existiert der Empfänger schon (Sammelbetrieb), kreuzt du ihn stattdessen an — dann bist du nach diesem Schritt fertig, das neue Objekt taucht beim nächsten Sync von allein auf.

Danach kommt zwingend der Dialog „REST API: E-Mail(s) zu neuer Freigabe":

E-Mail-Dialog
E-Mail-Dialog

⚠️ Diesen Dialog nicht abbrechen. Brichst du ab, wird der Empfänger gar nicht erst angelegt — die Freigabe ist dann verloren und du fängst von vorn an.

Trag die Adresse ein, an die die Zugangsdaten gehen sollen, und klick Absenden.


Schritt 2 — Zugangsdaten holen

Der Empfänger steht jetzt unter Verkauf → Einstellungen → API-Import und -Export. Der Pfeil nach rechts oben (↗) kennzeichnet einen Empfänger, der Pfeil nach links unten (↙) einen API-Import — das ist die Gegenrichtung und für uns nicht relevant.

Empfänger-Karte
Empfänger-Karte

Die Karte zeigt unter URL der Gegenseite zunächst den Empfängernamen. Das ist ein Platzhalter, kein eingetragener Wert — solange dort keine echte Adresse steht, ist der Rückweg nicht eingerichtet. Siehe Schritt 5.

Die Zugangsdaten stehen in der Mail aus Schritt 1, und zwar als eine URL:

https://<subdomain>.teamproq.de/api/v1/?token=<token>

Keine Mail zur Hand? Details auf der Karte zeigt dieselben Angaben — Eigene URL und Eigenes Token:

Details mit Token
Details mit Token


Schritt 3 — Verbindung in IMMOTRAY anlegen

Anbieter → Bearbeiten → Integration. Solange nichts eingerichtet ist, steht dort genau ein Satz und ein Knopf:

Integration, leer
Integration, leer

Verbindung hinzufügen öffnet den Dialog. Füg die URL aus Schritt 2 komplett ein — Subdomain und Token lesen wir daraus:

Verbindung hinzufügen
Verbindung hinzufügen

Der Name ist optional, aber nimm den Empfängernamen aus TeamProQ. Bei zwei oder mehr Verbindungen erspart dir das später das Raten.

Ausgefüllt
Ausgefüllt

Prüfen und anlegen testet die Zugangsdaten sofort gegen den Workspace. Was gespeichert wird, funktioniert also auch — ein falsches Token kommt gar nicht erst in die Datenbank.

Verbindung angelegt
Verbindung angelegt

Die Verbindung steht, ist aber noch auf Sync aus und hat 0 Objekte. Das ist Absicht: nichts läuft, bevor du es einschaltest.


Schritt 4 — Synchronisation einschalten und einmal voll importieren

Klapp die Verbindung mit dem Pfeil links auf:

Verbindung aufgeklappt
Verbindung aufgeklappt

Schalter Synchronisation an. Ohne ihn läuft für diese Verbindung gar nichts — weder ein manueller Sync noch ein automatischer, den TeamProQ anstößt.

Synchronisation an
Synchronisation an

Dann im Dropdown neben Sync → Initial-Sync (alle Daten):

Sync-Dropdown
Sync-Dropdown

Der Initial-Sync holt Objekt, Einheiten, Stellplätze, Bilder und Dokumente. Danach steht das Ergebnis in der Kopfzeile der Verbindung:

Initial-Sync fertig
Initial-Sync fertig

Die anderen beiden Einträge im Dropdown brauchst du selten: Status-Sync und Alle Status abgleichen schreiben ausschließlich Verfügbarkeiten und sind für den Fall gedacht, dass die beiden Systeme auseinandergelaufen sind.

Ab jetzt läuft es von allein. TeamProQ meldet Änderungen, der Sync zieht nach. Der Knopf ist nur noch für den Notfall da.

Was in der Zusammenfassung „übersprungen" heißt, ist übrigens kein Fehler: Bilder und Dokumente, die schon da sind, laden wir nicht noch einmal herunter.


Schritt 5 — Rückweg für Reservierungen

Damit Reservierungen aus IMMOTRAY zurück nach TeamProQ fließen, braucht es drei Dinge.

Erstens den Schalter Rückmeldung von Reservierungen in der Verbindung. Bei einer neu über den Dialog angelegten Verbindung ist er schon an.

Rückkanal-Adresse
Rückkanal-Adresse

Darunter steht unsere Adresse — URL und Token in einem String. Über den Knopf Kopieren bekommst du sie vollständig; nie abtippen, der Token ist Teil der Adresse.

Zweitens muss diese Adresse drüben beim Empfänger stehen. Und hier ist der Punkt, den man wissen muss:

⚠️ Die Felder URL der Gegenseite und Token der Gegenseite sind in TeamProQ reine Anzeigefelder. Der Detail-Dialog des Empfängers hat genau ein Eingabefeld — den Namen. Du kannst unsere Adresse dort also gar nicht von Hand eintragen, egal wie sehr es danach aussieht. Sie kommt ausschließlich über den nächsten Schritt hinein.

Adresse an TeamProQ übermitteln

Solange nichts hinterlegt ist, steht in der Verbindung ein Warnhinweis — und daneben der Knopf Ans TeamProQ-System senden:

Ans TeamProQ-System senden
Ans TeamProQ-System senden

Der Klick überschreibt, was drüben als Gegenseite eingetragen ist, deshalb die Rückfrage:

Bestätigung
Bestätigung

Bei Erfolg antwortet TeamProQ mit HTTP 200, und der Hinweis wechselt von „noch nicht eingerichtet" zu „Adresse übermittelt am … und von TeamProQ bestätigt":

Push erfolgreich
Push erfolgreich

Drüben steht die Adresse jetzt dort, wo vorher der Platzhalter stand:

Gegenseite eingetragen
Gegenseite eingetragen

Im Detail-Dialog sind beide Felder gefüllt:

Details mit Gegenseite
Details mit Gegenseite

Reservierungsanfragen annehmen

Drittens muss TeamProQ unsere Reservierungen auch annehmen. Das stellst du drüben selbst ein: Verkauf → Einstellungen → API-Import und -Export → Details beim Empfänger, unter Einstellungen das Häkchen „Reservierungsanfragen annehmen (Verkauf)". Ohne das Häkchen nimmt TeamProQ unsere Reservierungen nicht an.

Eine Reservierung aus IMMOTRAY erscheint drüben immer als Reservierungsanfrage von „externer Datenraum IMMOTRAY", und du bekommst von TeamProQ eine E-Mail dazu. Bestätigen musst du sie drüben selbst — eine automatische Bestätigung für Anfragen aus einem Importraum lässt TeamProQ nicht zu.

Warum trotzdem erstmal nichts passiert

Nach dem Übermitteln bleibt „Letzter Abruf durch TeamProQ" noch auf —. Das ist normal: es gibt noch nichts abzuholen. Die Kette lautet

Reservierung ändert ihren Status → wir merken sie vor → TeamProQ wird angestoßen → TeamProQ holt ab

Der erste Abruf kommt also, sobald sich die erste Reservierung auf einer Einheit dieser Verbindung bewegt — dann innerhalb weniger Sekunden. Bleibt er auch dann aus, lohnt der Blick drüben, ob unter URL und Token der Gegenseite wirklich eine immotray.de-Adresse steht und das Häkchen „Reservierungsanfragen annehmen (Verkauf)" gesetzt ist.


Schritt 6 — Immobilie veröffentlichen

Importierte Objekte kommen unveröffentlicht an. Immer, absichtlich, ohne Ausnahme — der Import schaltet nie etwas live.

Objekt unveröffentlicht
Objekt unveröffentlicht

Ebenso importierte Dokumente: die sind zunächst nicht öffentlich, damit keine internen PDFs versehentlich im Exposé landen.

Die Freigabe läuft wie bei jeder anderen Immobilie über die Einzelbeauftragung, oben auf Immobilie bearbeiten → Allgemein:

Veröffentlichung beantragen
Veröffentlichung beantragen

Nach dem Bestätigen ist die Einzelbeauftragung dokumentiert:

Einzelbeauftragung bestätigt
Einzelbeauftragung bestätigt

Rechne damit, dass jetzt Pflichtangaben fehlen. TeamProQ liefert längst nicht alles, was IMMOTRAY zum Veröffentlichen braucht:

Pflichtangaben fehlen
Pflichtangaben fehlen

Typisch sind: Beschreibungstext, Kategorie, KfW-Standard, Gesamtprovision, Reservierungsvertrag, Kaufpreis, Kaltmiete und Wohnfläche (global) sowie die Kaltmiete je Wohneinheit. Das ist kein Fehler der Verbindung — diese Felder gibt es in TeamProQ teils gar nicht, teils sind sie im Workspace nicht gefüllt. Trag sie einmal in IMMOTRAY nach; der Sync überschreibt sie später nicht.

Sind sie ergänzt, beantragst du die Veröffentlichung, und ein IMMOTRAY-Admin gibt sie final frei.


Wenn etwas nicht klappt

SymptomUrsacheWas tun
„TeamProQ antwortet mit 404" beim AnlegenToken oder Subdomain falschURL aus der Mail neu kopieren. TeamProQ versteckt bei falschem Token, statt abzulehnen — 404 heißt fast immer Token.
„TeamProQ antwortet mit 403"Unsere IPs sind für diesen Workspace nicht freigeschaltetKein Token-Problem, im Workspace auch nicht selbst lösbar. TeamProQ-Support um Freischaltung von 54.217.142.99 und 54.195.3.54 bitten (siehe Voraussetzung). Danach dieselbe URL erneut einfügen.
Objekte fehlen in einer VerbindungDie Einheiten sind diesem Empfänger nicht freigegebenFreigabe je Einheit prüfen (Schritt 1).
Verbindung synchronisiert nichtEiner von drei Schaltern ist ausDer Reihe nach: Integration beim Anbieter aktiv → Verbindung aktiv → Synchronisation der Verbindung an. Danach Verbindung testen.
Reservierungen kommen drüben nicht anRückweg nicht eingerichtet oder Anfragen nicht angenommenSchritt 5. Solange die Verbindung „noch nicht eingerichtet" sagt, holt TeamProQ nichts ab. Steht die Adresse drüben, beim Empfänger das Häkchen „Reservierungsanfragen annehmen (Verkauf)" prüfen.
Ein hier verbriefter Vertrag steht drüben noch auf aktivBekannte Grenze von TeamProQTeamProQ übernimmt Statusänderungen an einer bestehenden Reservierung nicht. Einmal drüben über den Vertrags-Assistenten nachziehen; der Hinweis in IMMOTRAY verschwindet dann von selbst.
„Ans TeamProQ-System senden" scheitert mit HTTP 500Unsere Adresse hängt drüben schon an einer API-Import-KarteDie Import-Karte drüben entfernen oder umbenennen — sie ist die Gegenrichtung und wird für den Rückweg nicht gebraucht.

Wer darf was

Anbieter-NutzerAnbieter-AdminSystemadmin
Integration ein- und ausschalten—✅✅
In TeamProQ freigeben, Empfänger anlegen✅ (euer Workspace)✅—
Verbindung anlegen, umbenennen, Zugangsdaten ersetzen✅✅✅
Synchronisation schalten, Sync starten✅✅✅
Rückmeldung von Reservierungen schalten✅✅✅
Adresse für den Rückweg sehen und kopieren✅✅✅
„Ans TeamProQ-System senden" (Adresse drüben hinterlegen)—✅✅
„Reservierungsanfragen annehmen" in TeamProQ anhaken✅ (euer Workspace)✅—
Verbindung löschen, technische Protokolle——✅

„Anbieter-Admin" ist ein Nutzer, bei dem im Anbieter unter Benutzer das Admin-Häkchen gesetzt ist.


Eine Immobilie in zwei Empfängern

Erlaubt und funktioniert — die Immobilie wird trotzdem nur einmal importiert, keine Dubletten. Intern gehört sie der Verbindung, die zuletzt synchronisiert hat; das verhindert, dass eine Verbindung die Objekte der anderen archiviert.

Eine Folge solltest du kennen: eine Reservierung auf so einem Objekt wird nur an den aktuellen Eigentümer gemeldet, nicht an beide Empfänger. Im Regelbetrieb — ein Empfänger pro Immobilie oder ein Sammel-Empfänger für alle — tritt das nicht auf.