Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokumentation_der_soap_schnittstelle_1.0

Dokumentation der SOAP Schnittstelle 1.0

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.

Dies ist eine alte Version der SOAP-API. Zur aktuellen Version 2.0, zur Version 1.2

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.

  • Parameter
    • username: Ihr Nutzername
    • password: Ihr Passwort
  • Rückgabewert
    • Liefert true im erfolgsfall zurück. Liefert false im Fehlerfall zurück. Sollte die Ausnahmebehandlung aktiviert sein (useSoapFaults=true) wird ein Fehler (Exception) geworfen.

calcCar

Syntax: array calcCar(string hsn, string tsn, int year, int month, int miles [,string fuzzyText = "" [,string specialModel = "" [,string featureList = "" [,string color = "" [,int power = 0 [,int fuel = 0 [,int buildType = 0 [,int doorCount = 0 [,string username = "" [,string password = "" ]]]]]]]]]] )

Diese Funktion liefert Ihnen ein Array mit den Daten des erkannten Fahrzeuges, sowie den berechneten Verkaufspreis (price) und den Händlereinkaufspreis (priceEK). Wenn die übergebenen Parameter nicht eindeutig auf ein bestimmtes Fahrzeug verweisen (häufig der Fall bei fehlender Angabe des Sondermodells (specialModel) oder bei exotischen Fahrzeugen), wird eine Liste aus mehreren Arrays zurückgegeben. Für jedes Ergebnis werden dabei weiterhin die Preise berechnet. Sie können dann programmseitig filtern, oder die Parameter entsprechend einschränken.

  • Parameter
    • hsn: Die 4-stellige Herstellerschlüsselnummer gemäß Kraftfahrzeugbundesamt.
    • tsn: Die 3-stellige Herstellerschlüsselnummer gemäß Kraftfahrzeugbundesamt.
    • year: Das Jahr der Erstzulassung.
    • month: Der Monat der Erstzulassung.
    • miles: Laufleistung in Kilometern
    • fuzzyText (optional): Hier kann der Freitext übergeben werden, mit dessen Hilfe die interne künstliche Intelligenz die Ausstattungen, Extras, Farbe, Sondermodell usw. erkannt wird. Als Freitext eignet sich beispielsweise die Inseratsbeschreibung inkl. Titel eines angebotenen Fahrzeuges.
    • specialModel (optional): Der Name eines bestimmten Sondermodells (z.B.: "Elegance" oder "Highline"…)
    • featureList (optional): Eine Kommaseparierte Liste an Kürzel/Shortcuts von expliziten Extras oder Ausstattungsmerkmalen (z.B.: "KLI,AIB,NAV,PDC") Die Funktion getFeatureList(…) liefert Ihnen eine Liste an möglichen Extras und deren Kürzel/Shortcuts.
    • color (optional): Das Kürzel/Shortcut der Farbe des Fahrzeuges. (z.B.: "RED") Die Funktion getColors(…) liefert Ihnen eine Liste an möglichen Farben und deren Kürzel/Shortcuts.
    • power (optional): Die Motorleistung des Fahrzeuges in Kilowatt.
    • fuel (optional): Die Motorart des Fahrzeuges (1 = Ottomotor, 2 = Dieselmotor, 3 = Wankelmotor, 4 = Benzin-Elektro-Hybrid).
    • buildType (optional): Die Aufbauvariante des Fahrzeuges (1 = Limousine, 2 = Kombi/Van, 3 = Coupe, 4 = Cabrio).
    • doorCount (optional): Anzahl der Türen.
    • username (optional): Ihr Nutzername, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
    • password (optional): Ihr Passwort, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
  • Rückgabewert
    • Liefert im Erfolgsfall ein Array oder eine Liste an Arrays zurück mit den genauen Daten des erkannten Fahrzeuges und die geschätzten Fahrzeugpreise. Dabei ist "price" der Verkaufspreis und "priceEK" der Händlereinkaufspreis. Alle weiteren Daten erklären sich quasi von selbst. Wenn kein Fahrzeug erkannt wird, wird ein leeres Array zurückgegeben.
    • Für die erkannten Ausstattungsmerkmale gibt es zusätzlich eine Reihe von Rückgabewerten:
      • extrasByDate: Sind die Ausstattungsmerkmale welche das Fahrzeug anhand seiner Grundausstattung und Bauzeit hat (Analog der Darstellung auf der Autofokus24-Website "Grundausstattung nach Bauzeit").
      • extrasByMotor: Sind die zusätzlichen Ausstattungsmerkmale welche das Fahrzeug aufgrund seiner Motorisierung hat (Analog der Darstellung auf der Autofokus24-Website "Zusatzausstattung durch Motorisierung").
      • extrasBySpecialModel: Sind die zusätzlichen Ausstattungsmerkmale welche das Fahrzeug aufgrund seines Sondermodells hat (Analog der Darstellung auf der Autofokus24-Website "Zusatzausstattung durch Sondermodell").
      • extras (veraltet!): Ist die Summe/Vereinigung der Ausstattungen extrasByDate, extrasByMotor, extrasBySpecialModel. Der einzige Unterschied ist, dass hierbei die Unterteilung in (extrasByDate, extrasByMotor, extrasBySpecialModel) fehlt. Aus Kompatibilitätsgründen wird dieser Wert weiterhin zurückgeliefert, sollte aber nicht mehr verwendet werden. Verwenden Sie stattdessen die drei Rückgabewerte extrasByDate, extrasByMotor, extrasBySpecialModel.
      • significantExtras: Sind die möglichen weiteren Ausstattungsmerkmale welche sich gemäß der Autofokus24-Schätzung statistisch relevant auf den Fahrzeugwert auswirken (Analog der Darstellung auf der Autofokus24-Website "Weitere Ausstattung").

getFeatureList

Syntax: array getFeatureList ([username = "", password = ""])

Diese Funktion liefert Ihnen ein Array der möglichen Ausstattungen/Extras und dessen Kürzel/Shortcuts, welche bei der Funktion calcCar(…) explizit übergeben werden können.

  • Parameter
    • username (optional): Ihr Nutzername, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
    • password (optional): Ihr Passwort, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
  • Rückgabewert
    • Liefert ein Array mit den möglichen Ausstattungen/Extras und dessen Kürzel/Shortcuts zurück. Im Fehlerfall wird ein leeres Array zurückgegeben. Sollte die Ausnahmebehandlung aktiviert sein (useSoapFaults=true) wird ein Fehler (Execption) geworfen.

getColors

Syntax: array getColors ([username = "", password = ""])

Diese Funktion liefert Ihnen ein Array der möglichen Farben und dessen Kürzel/Shortcuts, welche bei der Funktion calcCar(…) explizit übergeben werden können.

  • Parameter
    • username (optional): Ihr Nutzername, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
    • password (optional): Ihr Passwort, falls das Sessionhandling durch die Funktion login(…) nicht funktioniert.
  • Rückgabewert
    • Liefert ein Array mit den möglichen Farben und dessen Kürzel/Shortcuts zurück. Im Fehlerfall wird ein leeres Array zurückgegeben. Sollte die Ausnahmebehandlung aktiviert sein (useSoapFaults=true) wird ein Fehler (Execption) geworfen.

getLastError

Syntax: array getLastError ()

Liefert den letzten aufgetretenen Fehler falls vorhanden.

  • Rückgabewert
    • Liefert den Fehlercode (errorcode) und die Fehlerbeschreibung (faultstring) des letzten Fehlers zurück, falls ein Fehler aufgetreten ist. Liegt kein Fehler vor, sind die beiden zurückgegebenen Felder leer.

Tutorials

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

PHP-Tutorial

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

Code:

  <?php
   try {
   /* Initialisierung: WSDL-Datei angeben, Caching deaktivieren, Encoding festlegen*/
   $client = new SOAPClient('http://www.autofokus24.de/SoapServer.php?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->calcCar("0999",                /* HSN */
                            "269",                 /* TSN */
                            2004,                 /* Jahr */
                            4,                    /* Monat */
                            123000,               /* Laufleistung */
                            "                     /* Freitext (aus Inserat) */
                            C 220 T CDI Automatik DPF,Sportpaket.Modell 2005
                            Brillantsilber met.,Leder Twin schwarz, Sportpaket,
                            AHK abnehmbar, Regensensor, Scheibenwaschanlage
                            beheizt, Radio Audio 20 CD, Klimaautomatik,
                            Sitzheizung, Automatikgetriebe 5 Gang,
                            Dieselpartikelfilter, LM-Felgen 17 Zoll,
                            Eingabefehler u.Irrtümer behalten wir uns vor.
                            ",
                            "Classic",            /* Sondermodell */
                            "XEN,PDC",      /* Explizite Ausstattungen */
                            "",                   /* Farbe, keine Angabe */
                            110,                  /* Motorleistung in Kilowatt */
                            2,                    /* Motorart = Diesel */
                            2,                    /* Aufbau = Kombi */
                            0                     /* Türen = keine Angabe */
                            ));
   }catch (SOAPFault $f)
   {
     print $f->faultstring;
   }
   ?>

Ergibt folgende Ausgabe:

  Array
   (
     [0] => Array
         (
             [make] => Mercedes-Benz
             [model] => C-Klasse
             [submodelName] => Modell ab 2004 (W203 Facelift)
             [buildKind] => 2
             [specialModel] => Classic
             [power] => 110
             [doorCount] => 5
             [color] => SLV
             [fuel] => 2
             [packets] => Array
                 (
                     [0] => Paket Sport
                 )
             [extras] => Array
                 (
                     [PAK1] => 1
                     [KLI] => 1
                     [KLIAU] => 1
                     [AIB] => 1
                     [BAB] => 1
                     [SAB] => 1
                     [WFS] => 1
                     [KAB] => 1
                     [FAB] => 1
                     [ABSS] => 1
                     [AFLS] => 1
                     [BC] => 1
                     [BRA] => 1
                     [REL] => 1
                     [ESPI] => 1
                     [FH] => 1
                     [ESI] => 1
                     [ESP] => 1
                     [ASR] => 1
                     [NSW] => 1
                     [SV] => 1
                     [TMP] => 1
                     [Z] => 1
                     [ZF] => 1
                     [] => 1
                     [XEN] => 1
                     [PDC] => 1
                     [LED] => 1
                     [LLR] => 1
                     [AHK] => 1
                     [CD] => 1
                     [ALU] => 1
                     [MET] => 1
                     [PF] => 1
                     [REG] => 1
                     [SOUND] => 1
                     [SIH] => 1
                     [OGEW] => 1
                 )
             [price] => 11401
             [priceEK] => 9634
         )
   )

Perl-Tutorial

Für die Verwendung in Perl benötigen Sie in diesem Tutorial das Paket SOAP::Lite sowie HTTP::Cookies, um das Sessionhandling zu ermöglichen.

  #!perl -w
   use SOAP::Lite;
   use Data::Dumper;
   use HTTP::Cookies;
   # Initialisierung: Namespace angeben, Encoding angeben, SoapServer angeben, Cookies annehmen
   $service = SOAP::Lite
   -> uri('autofokus24') # Namespace
   -> encoding('iso-8859-1') # Encodung
   -> proxy('http://www.autofokus24.de/SoapServer.php', # SoapServer
            cookie_jar => HTTP::Cookies->new(ignore_discard => 1) # Cookies annehmen.
           );
   if (!$service)  {
     die "no service";
   }
   # Login: Mit eMail, Passwort
   my $loginresult = $service->login("mymail\@myhost.de","meinpasswort")->result();
   # Fahrzeug ermitteln, Preis berechnen.
   my $result = $service->calcCar("0999","269",2004,4,123000,
                            "
                            C 220 T CDI Automatik DPF,Sportpaket.Modell 2005
                            Brillantsilber met.,Leder Twin schwarz, Sportpaket,
                            AHK abnehmbar, Regensensor, Scheibenwaschanlage
                            beheizt, Radio Audio 20 CD, Klimaautomatik,
                            Sitzheizung, Automatikgetriebe 5 Gang,
                            Dieselpartikelfilter, LM-Felgen 17 Zoll,
                            Eingabefehler u.Irrtümer behalten wir uns vor.
                            ",
                            "Classic","XEN, PDC, LED","",110,2,2,"")->result();
   # Ergebnis formatiert ausgeben
   print Dumper($result);

Ergibt folgende Ausgabe:

  $VAR1 = [
           {
             'fuel' => '2',
             'make' => 'Mercedes-Benz',
             'packets' => [
                          'Paket Sport'
                        ],
             'model' => 'C-Klasse',
             'extras' => {
                         // => '1',//
                         'BC' => '1',
                         'SIH' => '1',
                         'Z' => '1',
                         'ABSS' => '1',
                         'SOUND' => '1',
                         'CD' => '1',
                         'AHK' => '1',
                         'ESI' => '1',
                         'FH' => '1',
                         'FAB' => '1',
                         'REG' => '1',
                         'ALU' => '1',
                         'SV' => '1',
                         'ESP' => '1',
                         'OGEW' => '1',
                         'MET' => '1',
                         'LLR' => '1',
                         'KLIAU' => '1',
                         'XEN' => '1',
                         'NSW' => '1',
                         'PDC' => '1',
                         'SAB' => '1',
                         'KLI' => '1',
                         'AFLS' => '1',
                         'ESPI' => '1',
                         'ZF' => '1',
                         'PF' => '1',
                         'PAK1' => '1',
                         'BRA' => '1',
                         'REL' => '1',
                         'KAB' => '1',
                         'AIB' => '1',
                         'LED' => '1',
                         'ASR' => '1',
                         'BAB' => '1',
                         'WFS' => '1',
                         'TMP' => '1'
                       },
             'buildKind' => '2',
             'specialModel' => 'Classic',
             'color' => 'SLV',
             'priceEK' => '9634',
             'doorCount' => '5',
             'power' => '110',
             'price' => '11401',
             'submodelName' => 'Modell ab 2004 (W203 Facelift)'
           }
         ];

An der Ausgabe ist zu erkennen, dass zunächst Marke, Modell und Submodell anhang der HSN/TSN erkannt und zugeordnet wurden. Die Farbe wurde automatisch anhand des Freitextes erkannt. Das Paket "Sport" wurde auch am Freitext erkannt. Weiterhin wurden die serienmäßigen Extras sowie die am Freitext erkannten Extras zugeordnet. Im Funktionsaufruf wurde das Kürzel "XEN" und "PDC" übergeben, wodurch diese Extras explizit übergeben wurden. Die Extras LED, LLR, AHK, CD, ALU, MET, PF, REG, SOUND, SIH wurden ebenfalls anhand des Freitextes erkannt. Schließlich wird der Verkaufspreis (price) und Händlereinkaufspreis (priceEK) zurückgegeben.

dokumentation_der_soap_schnittstelle_1.0.txt · Zuletzt geändert: 2018-11-07 17:57 von admin