Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokumentation_der_soap_schnittstelle_1.0

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dokumentation_der_soap_schnittstelle_1.0 [2012-11-26 17:10]
katja
dokumentation_der_soap_schnittstelle_1.0 [2018-11-07 17:57] (aktuell)
admin Formatierung
Zeile 1: Zeile 1:
 +====== Dokumentation der SOAP Schnittstelle 1.0 ======
  
-====== Herkunft des Worts ======+**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.**
  
-‚Automobil‘ ​ist ein substantiviertes AdjektivEs entstand Ende des 19. Jahrhunderts aus dem [[franzosische_sprache|französischen]] Begriff für eine mit Pressluft betriebene ​[[straenbahn]]:​ //voiture automobile//,​ selbstbewegender WagenEs ist aus der [[altgriechische_sprache|griechischen]] {{Polytonisch|αὐτό~}} ‚selbst~‘ und [[latein]]ischen //mobilis// ‚beweglich‘ abgeleitet und diente zur +**Dies ​ist eine alte Version der SOAP-API. [[dokumentation_der_soap_schnittstelle_version_2.0|Zur aktuellen Version 2.0]][[dokumentation_der_soap_schnittstelle_version_1.2|zur Version 1.2]]**
  
 +Eine allgemeine Beschreibung der SOAP-Schnittstelle finden Sie unter [[apis]].
  
-====== Ein weiterer Test ====== 
  
-‚Automobil‘ ist ein substantiviertes Adjektiv. Es entstand Ende des 19. Jahrhunderts aus dem [[franzosische_sprache|französischen]] Begriff für eine mit Pressluft betriebene [[straenbahn]]:​ //voiture automobile//,​ selbstbewegender Wagen. Es ist aus dem [[altgriechische_sprache|griechischen]] {{Polytonisch|αὐτό~}} ‚selbst~‘ und [[latein]]ischen //mobilis// ‚beweglich‘ abgeleitet und diente zur+===== SOAP-Zugang =====
  
  
-====== Herkunft des Worts ======+==== Zugangsdaten ​====
  
-‚Automobil‘ ist ein substantiviertes Adjektiv. Es entstand Ende des 19. Jahrhunderts aus dem [[franzosische_sprache|französischen]] Begriff für eine mit Pressluft betriebene [[straenbahn]]:​ //voiture automobile//,​ selbstbewegender Wagen. Es ist aus dem [[altgriechische_sprache|griechischen]] {{Polytonisch|αὐτό~}} ‚selbst~‘ und [[latein]]ischen //mobilis// ‚beweglich‘ abgeleitet und diente zur Unterscheidung von den damals üblichen Landfahrzeugen,​ die von Pferden gezogen wurden. Diese nominelle Definition würde auch motorisierte [[zweirad|Zweiräder]] und [[schienenfahrzeug]]e ein 
  
 +  *  Proxy/​SOAP-Server:​ ''​http://​www.autofokus24.de/​SoapServer.php''​
 +  *  WSDL-Datei: ''​http://​www.autofokus24.de/​SoapServer.php?​wsdl''​ oder ''​http://​www.autofokus24.de/​afsoap.wsdl''​
 +  *  Encoding: ''​ISO-8859-1''​
 +  *  Namespace/​URN:​ ''​autofokus24''​
  
-====== Die Geschichte des Automobils ====== 
  
-{{Hauptartikel|Geschichte des Automobils}}+===== 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 [[http://​www.php.net/​manual/​de/​class.soapclient.php|PHP-SoapClient-Klasse]]. 
 + 
 +Code: 
 +<​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;​ 
 +   } 
 +   ?>​ 
 +</​code>​ 
 + 
 +Ergibt folgende Ausgabe: 
 + 
 +<​code>​ 
 +  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 
 +         ) 
 +   ) 
 +</​code>​ 
 + 
 + 
 +==== 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. 
 + 
 +<​code>​ 
 +  #!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);​ 
 +</​code>​ 
 + 
 +Ergibt folgende Ausgabe: 
 + 
 +<​code>​ 
 +  $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)'​ 
 +           } 
 +         ]; 
 +</​code>​ 
 + 
 +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.1353946225.txt.gz · Zuletzt geändert: 2012-11-26 17:10 von katja