Inhaltsverzeichnis

Dokumentation der Autofokus24 Tree-Soap-Schnittstelle

Bitte beachten Sie, dass die SOAP-APIs nicht mehr aktiv weiterentwickelt werden. Neue Kunden sollten ausschließlich die RESTful API nutzen, bestehende Nutzer der SOAP-Schnittstellen sollten mittelfristig auf REST umstellen.

Eine allgemeine Beschreibung der SOAP-Schnittstelle finden Sie unter APIs.

SOAP-Zugang

Zugangsdaten

Funktionen

login

Syntax:

bool login ( string username, string password [ ,bool useSoapFaults = false] )

Mit dieser Funktion loggen Sie sich mit Ihrem Nutzernamen/Passwort im System ein. Der Login wird serverseitig in einer Session gehalten, dafür ist es aber notwendig, dass Sie clientseitig das Setzen von Cookies ermöglichen. Sollte dies nicht möglich sein, kann bei jedem anderen Funktionsaufruf der Nutzername und das Passwort als letzter optionaler Parameter übergeben werden.

getMakes

Syntax:

array getMakes([string username = "" [, string password = "" ]]) 

Diese Funktion liefer ein Array der möglichen Marken/Hersteller (Audi, Opel, VW etc.). Es werden die Bezeichnungen (Name) der Hersteller sowie die Autofokus24-interne Id dieser Hersteller zurückgegeben. Diese Id ist für die nächsten Funktionsaufrufe erforderlich.

getModels

Syntax:

array getModels (int year, int month, int makeId) 

Diese Funktion liefert die möglichen Modelle abhängig von der übergebenen Marke (anhand der makeId sowie Jahr und Monat der Erstzulassung). In diesem Schritt erfolgt bereits die erste Optimierung der möglichen Eingabewerte: (Beispiel: Wir wissen, dass es sich um einen Opel aus dem Jahr 01/2002 handelt. Aus diesen Informationen schließen wir, dass es sich nur um bestimmte Modelle handeln kann und nicht wie etwa einen Opel Kadett oder Opel Senator. Zur Veranschaulichung hilft es, sich die Modellstruktur der Autofoks24-Seite zu betrachten.

getSubmodels

Syntax:

array getSubmodels (int year, int month, int modelId) 

Diese Funktion liefert die möglichen Submodelle (Untermodelle, zum Beispiel "Golf 3" oder "Polo 6N1") abhängig vom übergebenen Modell (anhand der modelId sowie Jahr und Monat der Erstzulassung).

getBuildtypes

Syntax:

array getBuildtypes (int year, int month, int submodelId) 

Diese Funktion liefert die möglichen Aufbauvarianten (zum Beispiel "Limousine" oder "Kombi") sowie die Anzahl der Türen abhängig vom übergebenen Submodell (anhand der SubmodelId sowie Jahr und Monat der Erstzulassung).

getMotors

Syntax:

array getMotors (int year, int month, int submodelId, int buildtypeId) 

Diese Funktion liefert die möglichen Motorisierungen (Leistung, Kraftstoffart, Anzahl Zylinder sowie Hubraum) abhängig vom übergebenen Submodell und der Aufbauvariante (anhand der SubmodelId, BuildtypeId sowie Jahr und Monat der Erstzulassung).

getFokuscodes

Syntax:

array getFokuscodes (int year, int month, int submodelId, int buildtypeId, int motorId) 

Diese Funktion liefert die sogenannten "Fokuscodes", welche die Sondermodelle repräsentieren. Die Menge der Fokuscodes ist die letzte Ebene innerhalb der Modellstruktur von Autofokus24. An den Fokuscodes werden die KBA-Daten (HSN/TSN) referenziert. Mit diesen KBA-Daten kann dann weiter verfahren werden (zum Beispiel die Durchführung einer Fahrzeugbewertung).

Tutorials

Im folgenden Abschnitt werden einige einfache Beispiele zur Verwendung der Autofokus24Tree-SOAP-Schnittstelle von Autofokus24.de dargestellt.

PHP-Tutorial

Für die Verwendung in PHP benötigen Sie die PHP-SoapClient-Klasse.

Initialisierung, Login und alle Marken holen

Code:

  <?php
   try {
   /* Initialisierung: WSDL-Datei angeben, Caching deaktivieren, Encoding festlegen*/
   $client = new SOAPClient('http://www.autofokus24.de/autofokus24Tree?wsdl',
                             array('cache_wsdl' => WSDL_CACHE_NONE,
                                   'encoding'=>'ISO-8859-1')
                            );

   /* Login: Mit eMail, Passwort. SoapFaults auf 1 setzen*/
   $client->login("mymail@myhost.de","meinpasswort",1);

   /* Fahrzeug ermitteln, Preis berechnen und Ergebnis formatiert ausgeben...*/
   print_r($client->getMakes());
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 1
             [Make] => Alfa Romeo
         )
     [1] => Array
         (
             [Id] => 57
             [Make] => ALPINA
         ) .....
     [73] => Array
         (
             [Id] => 37
             [Make] => VW
         )

Modelle von VW aus 01/1996 holen

Code:

  <?php
   try {
   print_r($client->getModels(1996,1,37));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 852
             [Model] => Caddy
         )
     [1] => Array
         (
             [Id] => 854
             [Model] => Corrado
         )
     [2] => Array
         (
             [Id] => 858
             [Model] => Golf
         )
     [3] => Array
         (
             [Id] => 861
             [Model] => LT
         )
     [4] => Array
         (
             [Id] => 864
             [Model] => Passat
         )
     [5] => Array
         (
             [Id] => 866
             [Model] => Polo
         )
     [6] => Array
         (
             [Id] => 869
             [Model] => Sharan
         )
     [7] => Array
         (
             [Id] => 870
             [Model] => Taro
         )
     [8] => Array
         (
             [Id] => 874
             [Model] => Multivan, Caravelle, Transporter
         )
     [9] => Array
         (
             [Id] => 876
             [Model] => Vento
         )

Untermodelle von VW Polo aus 01/1996 holen

Code:

  <?php
   try {
   print_r($client->getSubmodels(1996,1,866));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 1216
             [Model] => Modell ab 1994 (Polo 3)
         )
     [1] => Array
         (
             [Id] => 1218
             [Model] => Modell ab 1995 (Polo Classic)
         )

Aufbauarten von VW Polo 3 aus 01/1996 holen

Code:

  <?php
   try {
   print_r($client->getBuildtypes(1996,1,1216));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 44
             [Buildtype] => LIMOUSINE
             [Doors] => 3
         )
     [1] => Array
         (
             [Id] => 46
             [Buildtype] => LIMOUSINE
             [Doors] => 5
         )

Motorisierungen von VW Polo 3 01/1996, Limousine (3-Türig) holen

Code:

  <?php
   try {
   print_r($client->getMotors(1996,1,1216,44));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 111
             [kW] => 33
             [PS] => 45
             [Fuel] => BENZIN
             [Cylinder] => 4
             [Cubic] => 1.0
         )
     [1] => Array
         (
             [Id] => 367
             [kW] => 40
             [PS] => 54
             [Fuel] => BENZIN
             [Cylinder] => 4
             [Cubic] => 1.3
         )
     [2] => Array
         (
             [Id] => 798
             [kW] => 44
             [PS] => 60
             [Fuel] => BENZIN
             [Cylinder] => 4
             [Cubic] => 1.4
         )
     [3] => Array
         (
             [Id] => 1025
             [kW] => 47
             [PS] => 64
             [Fuel] => DIESEL
             [Cylinder] => 4
             [Cubic] => 1.9
         )
     [4] => Array
         (
             [Id] => 2507
             [kW] => 55
             [PS] => 75
             [Fuel] => BENZIN
             [Cylinder] => 4
             [Cubic] => 1.6
         )

Fokuscodes von VW Polo 3 01/1996, Limousine (3-Türig), Benziner, 1.4 Liter holen

Code:

  <?php
   try {
   print_r($client->getFokuscodes(1996,1,1216,44,798));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  [0] => Array
         (
             [Id] => 1760
             [Name] => Basismodell
             [HSN] => 0600
             [TSN] => 300
             [AlternateTSNs] =>
         )
     [1] => Array
         (
             [Id] => 1718
             [Name] => Colour Concept
             [HSN] => 0600
             [TSN] => 300
             [AlternateTSNs] => 300
         )
     [2] => Array
         (
             [Id] => 1691
             [Name] => Indianapolis
             [HSN] => 0600
             [TSN] => 300
             [AlternateTSNs] => 300
         )