de.OpenEstate.org

offene Lösungen für die Immobilienwirtschaft

Spezifikation: ImmoTool-Schnittstellenimport, 1.0

Die Einrichtung von Immobilienexport-Schnittstellen führt in der Praxis immer wieder zu Problemen beim Anwender und damit zu erhöhtem Support-Aufwand beim Datenlieferanten (Software-Hersteller) bzw. Datenempfänger (Portal). Im folgenden Artikel erfahren Sie, wie dieses Problem zwischen ImmoTool und iHanse.de gelöst wurde. Der verwendete Austauschstandard wird im Folgenden dokumentiert, sodass jeder interessierte Dienstleister & Entwickler darauf zurückgreifen kann.

Wie funktioniert der Schnittstellenimport?

Der allgemeine Ablauf

Das ImmoTool gibt seinen Anwendern eine halbautomatische Lösung zum Import von Schnittstellendaten an die Hand. Die Daten werden automatisch importiert, ohne dass der Anwender sich über Dinge wie FTP, XML, ZIP oder Base64 Gedanken machen müsste. Vom Datenempfänger (in der Regel ein Immobilienportal) muss lediglich eine Schnittstellen-Datei (XML oder INI) heruntergeladen, die vom Anwender direkt ins ImmoTool importiert werden kann.

Teilnahme erwünscht!

Jeder Portalbetreiber, Software-Entwickler, Franchiser, etc. ist dazu eingeladen diesen Mechanismus in seinem Angebot umzusetzen. Reduzieren Sie damit unnötigen Supportaufwand und bieten Sie Ihren Kunden eine zuverlässige und problemlose Schnittstelleneinrichtung!

Unter welchen Lizenzbedingungen kann diese Spezifikation verwendet werden?

Die Schnittstellen-Spezifikation kann unter den Bedingungen der LGPL-Lizenz (siehe inoffizielle Übersetzung) frei verwendet werden. Die Implementierung des Standards ist mit keinerlei Lizenzkosten oder Verpflichtungen für Sie verbunden! Details entnehmen Sie bitte den Lizenztexten oder können via Ticketsystem erfragt werden.

Schnittstellen-Dateien

Die Datei sollte so einfach wie möglich gestaltet werden, um den Implementierungsaufwand so gering wie möglich zu halten. Aus diesem Grund haben wir uns dazu entschieden die Daten durch einfache Paare aus Key=Value abzubilden. Für die Zukunft ist es angedacht, die Schnittstellen-Spezifikation in den OpenEstate-Standard zu integrieren.

Beispiel einer Schnittstellen-INI

# Diese Datei wurde automatisch von iHanse.de erzeugt.

# Allgemein
title=iHanse.de
active=true
limit=0

# Export
export=openestate_xml
export.imagemode=file
export.zipped=true

# Transport
transport=ftp
transport.ftp.host=import.ihanse.de
transport.ftp.port=21
transport.ftp.path=/
transport.ftp.user=*********
transport.ftp.pass=*********
transport.ftp.anonymous=false
transport.ftp.passive=false

Beispiel einer Schnittstellen-INI.
Hinweis: Damit eine solche Datei vom ImmoTool importiert werden kann, muss der Dateiname auf ‘.properties’ oder ‘.ini’ enden.

Beispiel einer Schnittstellen-XML



  Diese Datei wurde automatisch von iHanse.de erzeugt.

  
  iHanse.de
  true
  0

  
  openestate_xml
  true
  file

  
  ftp
  import.ihanse.de
  21
  /
  *********
  *********
  false
  false

Beispiel einer Schnittstellen-XML.
Hinweis: Damit eine solche Datei vom ImmoTool importiert werden kann, muss der Dateiname auf ‘.xml’ enden.

Schnittstellen-Datei in Java einlesen

java.io.File xml = new java.io.File( "import.xml" );
java.util.Properties p = new java.util.Properties();
if (xml.getName().toLowerCase().endsWith( ".xml" ))
  p.loadFromXML( new java.io.FileInputStream( xml ) ); // XML-öffnen
else
  p.load( new java.io.FileInputStream( xml ) ); // INI-öffnen

Schnittstellendatei in ein Java-Properties-Objekt einlesen.
Durch Verwendung der Java-Properties können die Schnittstellen-Formate mit wenigen Zeilen Java-Code eingelesen und weiterverarbeitet werden.

Dokumentation der verwendbaren Keys

Eine Schnittstellen-XML-Datei ist momentan ein einfaches Key-Value-Mapping. Die unterstützten Keys werden im Folgenden zusammengefasst.

Allgemeine Parameter

title (String)
Ein frei wählbare Bezeichnung der Immobilien-Schnittstelle. In der Regel sollte hier der Name des Empfängerportals angegeben werden.

active (Boolean)
Die Immobilien-Schnittstelle kann nach dem Import in der Software aktiviert / deaktiviert werden. In der Regel sollte hier ‘true’ gewählt werden.

limit (Integer)
Welches Immobilienkontingent ist beim Empfängerportal gebucht. Dieses Limit wird beim Datenexport von der Software nicht überschritten. Wenn 0 angegeben wurde, findet ein unlimitierter Immobilientransfer statt. In der Regel sollte hier das gebuchte Kontingent des Anbieters im Portal eingetragen sein.

Parameter zum Datenexport

export (String)
Dieser Wert gibt an, in welchem Format die Immobiliendaten exportiert werden sollen. Mögliche Werte sind:

  • openestate_xml: Zum Export im OpenEstate-XML-Format
  • openimmo_xml: Zum Export im OpenImmo-XML-Format

export.imagemode (String)
Dieser Wert gibt an, in welchem Format die Bildanhänge aufbereitet werden sollen. Mögliche Werte sind:

  • file: Die Bilder werden als separate Dateien ausgeliefert.
  • base64: Die Bilder werden im Base64-Format in die Export-Datei integriert. (Insofern die Schnittstelle in export dies unterstützt.)
  • disabled: Keine Bildanhänge werden ausgeliefert.

export.zipped (Boolean)
Die erzeugten Exportdateien sollen zu einer ZIP-Datei zusammengefasst werden.

Parameter zum Datenexport via OpenImmo-XML

export.openimmo.agent_id (String)
In der erzeugten OpenImmo-XML wird dieser Wert im XML-Element /openimmo/anbieter/anbieternr eingetragen. Einige Datenempfänger benötigen diese Information zur automatischen Verarbeitung.
Diese Option wird nur verwendet, wenn export = openimmo_xml gewählt wurde.

export.openimmo.openimmo_agent_id (String)
In der erzeugten OpenImmo-XML wird dieser Wert im XML-Element /openimmo/anbieter/openimmo_anid eingetragen. Einige Datenempfänger benötigen diese Information zur automatischen Verarbeitung.
Diese Option wird nur verwendet, wenn export = openimmo_xml gewählt wurde.

export.openimmo.techn_mail (String)
In der erzeugten OpenImmo-XML wird dieser Wert im XML-Attribut /openimmo/uebertragung/@techn_email eingetragen. Einige Datenempfänger benötigen diese Information zur Versendung von Fehlerprotokollen.
Diese Option wird nur verwendet, wenn export = openimmo_xml gewählt wurde.

Parameter zum Datentransport

transport (String)
Der Art des Transport wird hier angegeben. Mögliche Werte sind:

  • ftp: Transport der erzeugten Daten via FTP
  • http: Transport der erzeugten Daten via HTTP-POST

Parameter zum Datentransport via FTP

transport.ftp.host (String)
Hostname / IP-Adresse des FTP-Servers.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.port (Integer)
Port-Nr des FTP-Servers.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.path (String)
Zielpfad auf dem FTP-Server.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.user (String)
Login-Name zur Anmeldung am FTP-Server.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.pass (String)
Login-Passwort zur Anmeldung am FTP-Server.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.anonymous (Boolean)
Anonymen FTP-Transfer aktivieren. (kein Login nötig)
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

transport.ftp.passive (Boolean)
Passiven FTP-Transfer aktivieren.
Diese Option wird nur verwendet, wenn transport = ftp gewählt wurde.

Parameter zum Datentransport via HTTP

transport.http (String)
Die Art der HTTP-Anfrage wird hier spezifiziert:

transport.http.url (String)
URL zum HTTP-/HTTPS-Server.
Diese Option wird nur verwendet, wenn transport = http gewählt wurde.

transport.http.user (String)
Benutzername zur Basic Authentifizierung.
Diese Option wird nur verwendet, wenn transport = http gewählt wurde.

transport.http.pass (String)
Passwort zur Basic Authentifizierung.
Diese Option wird nur verwendet, wenn transport = http gewählt wurde.

transport.http.anonymous (Boolean)
Keine Authentifizierung am HTTP-Server durchführen (anonyme Übertragung).
Diese Option wird nur verwendet, wenn transport = http gewählt wurde.

Parameter zum Datentransport via HTTP-POST

transport.http.post.multipart (Boolean)
Dateiübertragung als multipart/form-data durchführen.
Diese Option wird nur verwendet, wenn transport = http und transport.http = post gewählt wurde.

transport.http.post.multipart.key (String)
Name der Variablen im Uploadformular bei multipart/form-data-Übertragungen.
Diese Option wird nur verwendet, wenn transport = http und transport.http = post gewählt wurde.

Fragen oder Probleme?

Bei Unklarheiten, Fehlerhinweisen oder Korrekturbedarf, helfen wir Ihnen gern weiter – eine Mitteilung via Ticketsystem oder ein Kommentar hier im Blog genügt.

Letzte Änderungen

  • 22.06.2009: Spezifikation erstmaligst als v1.0 veröffentlicht.

2 Responses to “Spezifikation: ImmoTool-Schnittstellenimport, 1.0”

  • herbert sagt:

    ich möchte gerne die Schnittstelle zu Immozentral haben. Dazu brauchen wir aber eine Kunden ID. Hier der Text aus einer Anfrage an Immozentral:

    Danke für Ihr Interesse.

    Leider ist uns diese Software nicht bekannt, am besten wird Ihnen die Entwicklerfirma hier weiterhelfen können. Ohne eine Kundennummer können Ihre Exporte jedoch bei uns nicht verarbeitet werden. Ich denke aber, dass man dieses Problem dort leicht lösen können wird. Alle Verbindungsdaten zu Immozentral.com finden Sie unter http://www.immozentral.com/xml-schnittstelle.cfm

    Diese gelten universal für alle Schnittstellen.

    Danke und viele Grüße,

    Peter Czaplicki

    <<Ich will gerne eine Schnittstelle zu OpenEstate einrichten.
    http://www.openestate.org/openestate/ Leider schlägt die Verbindung fehl.
    Kann keine Kundennummer eingeben. Bitte helfen Sie mir
    _______________________________
    peter czaplicki
    projektleitung immozentral
    ostenhellweg 1, 44135 dortmund
    tel.: 0231/5348470
    fax.: 0231/5348472

    http://www.immozentral.com/xml-schnittstelle.cfm

    • Hallo Herbert,
      mit der Kunden-ID ist vermutlich die Anbieter-Nr bei Immozentral gemeint. Diese muss im ImmoTool hinterlegt werden, sodass Immozentral die übertragenen Immobilien dem richtigen Anbieterkonto zuweisen kann. Für die Einrichtung einer Immozentral-Schnittstelle finden Sie einen Artikel im Wiki mit weiteren Informationen. Die Anbieter-Nr kann im Reiter ‘Format-Optionen’ hinterlegt werden.

      Mit freundlichem Gruß,
      Andreas Rudolph


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>