Skip to content

Listen und Regionen

Fabian Mielke edited this page Mar 13, 2014 · 12 revisions

Hier erfahren Sie alles über Abfragen von kompletten Immobilienbeständen nach Regionen oder Umkreis. Es wird auch erklärt, wie man auf den eigenen Bestand zugreifen kann.

Regionen ermitteln

Für eine Suche nach einer Region benötigt man mindestens drei Buchstaben die als Parameter "q" übergeben werden. Anhand dieser Buchstaben wird eine Autovervollständigung ausgeführt. So erhält man für den Wert "Ber" beispielsweise "Berlin", "Berlin-Kreuzberg" sowie auch "Bergkamen" zurück.

<?php

$aParameter = array('q'=>'Ber');
$res = $oImmocaster->getRegions($aParameter);

?>

Rückgabe

Als Rückgabe erhält man eine Liste mit allen Regionen die mit "Ber" beginnen. Diese Liste enthält neben dem Namen der Region auch die Geo-ID und die Anzahl der gefundenen Objekte in der Region. Eine Liste könnte in etwa so aussehen.

<region:regions xmlns:region="http://rest.immobilienscout24.de/schema/search/region/1.0">
    <region>
        <name>Berlin</name>
        <geoCodeId>1276003001</geoCodeId>
        <amount>10026</amount>
    </region>
    <region>
        <name>Berlin-Spandau (Spandau)</name>
        <geoCodeId>1276003001063</geoCodeId>
        <amount>686</amount>
    </region>
    ...
</region:regions>

Parameter

q - Der Pflichtparameter "q" muss einen String übergeben, der aus mindestens drei Buchstaben besteht. Dieser String steht für die jeweilige Region, die gesucht wird. Z.b. wird bei der Suche nach "ber" u. A. die Stadt Berlin gefunden.

realEstateType - Sobald man der Funktion den Parameter "realEstateType" mitgibt, erhält man die Anzahl der Objekte des jeweiligen Typs als "amount" im Ergebnis zurück.

GIS - Geo Service

Die ImmobilienScout24 API benötigt oftmals GeoCode-IDs um Regionen eindeutig zu identifizieren. Um diese IDs zu ermitteln steht einem die Funktion zum ermitteln von Regionen zur Verfügung, bei der die ID anhand des Namen der Region gesucht wird. Für den umgekehrten Weg benötigt man folgende Funktion, die anhand der ID den Namen der Region zurückliefert.

<?php

$aParameter = array('country-id'=>276,'region-id'=>2,'list'=>true);
$res = $oImmocaster->geoService($aParameter);

?>

Rückgabe

Man erhält für das obige Beispiel die Daten (alle Städte bzw. Kreise) für Bayern, da als "country-id" die 276 hinterlegt wurde. Die 276 steht für Deutschland. Als "region-id" wurde die 2 (für Bayern) hinterlegt. Das Ergebnis würde folgendermaßen aussehen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gis:cities xmlns:gis="http://rest.immobilienscout24.de/schema/platform/gis/1.0" xmlns:xlink="http://www.w3.org/1999/xlink">
    <City creation="2011-06-28T15:58:59.220+02:00" modification="2011-06-28T15:58:59.220+02:00" label="Aichach-Friedberg (Kreis)" id="1" xlink:href="http://rest.immobilienscout24.de/restapi/api/gis/v1.0/country/276/region/2/city/1"/>
    <City creation="2011-06-28T15:58:59.220+02:00" modification="2011-06-28T15:58:59.220+02:00" label="Altötting (Kreis)" id="2" xlink:href="http://rest.immobilienscout24.de/restapi/api/gis/v1.0/country/276/region/2/city/2"/>
    <City creation="2011-06-28T15:58:59.220+02:00" modification="2011-06-28T15:58:59.220+02:00" label="Amberg" id="3" xlink:href="http://rest.immobilienscout24.de/restapi/api/gis/v1.0/country/276/region/2/city/3"/>
    ...
</gis:cities>

Würde man den Parameter "list" von true auf false ändern, so würde man lediglich die ausgewählte Region (Bayern) erhalten für die man die ID übergeben hat. Somit würde also das Ergebnis für dieses Beispiel so aussehen:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gis:region xmlns:gis="http://rest.immobilienscout24.de/schema/platform/gis/1.0" xmlns:xlink="http://www.w3.org/1999/xlink">
    <name>Bayern</name>
    <geoCodeId>2</geoCodeId>
</gis:region>

Parameter

list - Der Parameter "list" muss einen Boolean-Wert haben und ist ein Pflichtparameter. Mit "true" gibt man an, dass man eine komplette Liste als Rückgabewert haben möchte. Bei "false" erhält man lediglich die Infos zur gewünschten Region, ohne die nächst kleinere Einheit (Land>Bundesland>Stadt>Bezirk).

country-id - Die ID für das jeweilige Land.

region-id - Die ID für die jeweilige Region.

city-id - Die ID für die jeweilige Stadt.

quarter-id - Die ID für den jeweiligen den jeweiligen Bezirk.

Suche nach ID (GeoCode)

Sofern man eine Region ermittelt hat, kann man die zurückgelieferte GeoCode-ID nach Objekten durchsuchen:

<?php

$aParameter = array(
  'geocodes'=>1276003001,
  'realestatetype'=>'apartmentrent'
);

$res = $oImmocaster->regionSearch($aParameter);

?>

Rückgabe

Die Rückgabe für das oben genannte Beispiel würde alle Mietwohnungen (apartmentrent) für Berlin enthalten, da der Funktion als Parameter "geocodes" die GeoCode-ID von Berlin (1276003001) mitgegeben wurde. Zusätzlich erhält man die wichtigsten Daten zu jedem Objekt (Preis, Größe, Zimmeranzahl, usw.).

Parameter

geocodes - Die Angabe der GeoCode-ID ist Pflicht und kann nicht umgangen werden. Diese ID bezeichnet die Region in der gesucht werden soll.

realestatetype - Der Pflichtparameter "realestatetype" muss den Typ der zu suchenden Objekte enthalten (z.B. "apartmentbuy","apartmentrent","housebuy","houserent").

channel - Mit dem "channel" kann man Objekte aus einem Kanal wählen. Hierfür muss man Kunde bei ImmobilienScout24 sein und seine Applikation zertifizieren. Standardmäßig wird der Channel "is24" genutzt, welcher alle aktiven Objekte von ImmobilienScout24 durchsucht. Wurde die Applikation zertifiziert, kann man als Channel "hp" angeben und bekommt ausschließlich die Objekte des Kunden zurückgeliefert. Hierfür muss ebenfalls der Parameter "username" mit übergeben werden. Es ist dringend darauf zu achten, dass das Auslesen von eigenen Objekten über den Channel "Homepage" nicht mit dem Basiszugang von IS24 funktioniert. Hierzu informiert man sich bitte direkt bei ImmobilienScout24.

username - Hier muss die ID/Nutzername des Kunden übergeben werden, um lediglich die Objekte des jeweiligen Kunden zu durchsuchen.

fulltext - Dem Parameter "fulltext" kann ein String übergeben werden nach dem gesucht werden soll. Dies soll die Möglichkeit geben eine "Freitext-Suche" zu entwickeln, mit der man nach Stichworten wie z.B. "provisionsfrei" suchen kann.

sorting - Gibt an in welcher Reihenfolge die zurückgelieferten Ergebnisse sortiert werden sollen. Welche Werte genutzt werden können liegt am realestatetype. Übersicht: apartmentbuy (price, -price, livingspace, rooms), apartmentrent (price, -price, livingspace, rooms), housebuy (price, -price, livingspace, rooms, ground), houserent (price, -price, livingspace, rooms, ground), office (netfloorspace, totalfloorspace, price, -price,).

Suche nach Radius

Für die Radius-Suche benötigt man die Geo-Koordinaten Latitude (Breite) und Longitude (Länge), die der Funktion als Parameter "geocoordinates" übergeben werden. Hinweis: Die Geo-Koordinaten müssen vorher ermittelt werden. Dies kann man über verschiedene andere Services machen wie z.B. Google Maps.

<?php

$aParameter = array(
  'geocoordinates'=>'52.52546480183439;13.369545936584473;2',
  'realestatetype'=>'apartmentrent'
);
$res = $oImmocaster->radiusSearch($aParameter);

?>

Rückgabe

Als Rückgabe erhält man für das obige Beispiel eine Liste mit allen Mietwohnungen die sich im Umkreis von 2 Kilometern um den Hauptbahnhof Berlin befinden, da als Geo-Koordinaten die des Berliner Hauptbahnhofs mitgegeben wurden (siehe Parameter "geocoordinates"). Mit dem Parameter "realestatetype" übergibt man die Art des Immobilientyps. In diesen Beispiel "apartmentrent", der für Mietwohnungen steht.

Parameter

geocoordinates - Der Parameter "geocoordinates" ist immer folgendermaßen aufgebaut: Erst Latitude, dann Longitude und dann Umkreis in dem gesucht werden soll. (Beispiel oben: Latitude (52.52546480183439);Longitude (13.369545936584473); Umkreis (2=>2 Kilometer))

realestatetype - Der Pflichtparameter "realestatetype" muss den Typ der zu suchenden Objekte enthalten (z.B. "apartmentbuy","apartmentrent","housebuy","houserent").

channel - Mit dem "channel" kann man Objekte aus einem Kanal wählen. Hierfür muss man Kunde bei ImmobilienScout24 sein und seine Applikation zertifizieren. Standardmäßig wird der Channel "is24" genutzt, welcher alle aktiven Objekte von ImmobilienScout24 durchsucht. Wurde die Applikation zertifiziert, kann man als Channel "hp" angeben und bekommt ausschließlich die Objekte des Kunden zurückgeliefert. Hierfür muss ebenfalls der Parameter "username" mit übergeben werden. Es ist dringend darauf zu achten, dass das Auslesen von eigenen Objekten über den Channel "Homepage" nicht mit dem Basiszugang von IS24 funktioniert. Hierzu informiert man sich bitte direkt bei ImmobilienScout24.

username - Hier muss die ID/Nutzername des Kunden übergeben werden, um lediglich die Objekte des jeweiligen Kunden zu durchsuchen.

fulltext - Dem Parameter "fulltext" kann ein String übergeben werden nach dem gesucht werden soll. Dies soll die Möglichkeit geben eine "Freitext-Suche" zu entwickeln, mit der man nach Stichworten wie z.B. "provisionsfrei" suchen kann.

sorting - Gibt an in welcher Reihenfolge die zurückgelieferten Ergebnisse sortiert werden sollen. Welche Werte genutzt werden können liegt am realestatetype. Übersicht: apartmentbuy (price, -price, livingspace, rooms), apartmentrent (price, -price, livingspace, rooms), housebuy (price, -price, livingspace, rooms, ground), houserent (price, -price, livingspace, rooms, ground), office (netfloorspace, totalfloorspace, price, -price,).

Alle eigenen Objekte (Maklerobjekte)

Nachdem man die Applikation zertifiziert hat (und die Berechtigung für diese Funktion von IS24 hat), gestaltet sich der Aufruf relativ einfach mit nur einer Zeile Code:

<?php

$oImmocaster->fullUserSearch(array());

?>

Rückgabe

Als Rückgabe erhält man eine Liste mit allen Objekten, die man selbst in der Administration bei ImmobilienScout24 hinterlegt hat. Hierbei muss man beachten, welche Filter man hinterlegt. Diese werden in Form von Parametern innerhalb des Arrays mitgegeben.

Parameter

username - Der Benutzername kann angegeben werden, wird aber per Default mit dem Wert "me" übergeben. Somit werden immer die Objekte des Benutzers ausgelesen, auf den die Applikation zertifiziert wurde. Sie können "me" nicht verwenden, wenn Sie das SDK für mehrere Accounts einsetzen.

publishchannel - Channel (Kanal) in dem die Immobilien veröffentlicht wurden. Zum Beispiel "IS24" für alle bei ImmobilienScout24 angelegten Objekte, oder auch "Homepage" für alle Objekte die bei ImmobilienScout24 beim Anlegen "Homepage" ausgewählt wurde. Hier können auch IDs für Börsen hinterlegt werden.

pagesize - Gibt an die Anzahl der Objekte pro Seite an.

pagenumber - Gibt die aktuelle Seitenzahl an, die ausgelesen werden soll.