Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokumentation_der_restful_api_version_2

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_restful_api_version_2 [2017-03-20 18:13]
Christian HTTP-Statuscodes um 404 NO_ESTIMATION_DATA erweitert
dokumentation_der_restful_api_version_2 [2022-05-18 14:13] (aktuell)
admin [Calculate]
Zeile 1: Zeile 1:
 +====== Dokumentation der RESTful API Version 2 ======
 +
 Eine allgemeine Beschreibung der RESTful API finden Sie unter [[apis]]. Eine allgemeine Beschreibung der RESTful API finden Sie unter [[apis]].
  
  
-====== Authentifizierung und Sicherheit ​======+===== Authentifizierung und Sicherheit =====
  
  
Zeile 13: Zeile 15:
  
  
-====== Datentypen, Encoding ​======+===== Datentypen, Encoding =====
  
  
-POST-Parameter werden mit dem MIME-Type ​<​code>​application/​x-www-form-urlencoded</​code>​ +POST-Parameter werden mit dem MIME-Type ​''​application/​x-www-form-urlencoded''​ 
-formatiert und mit <​code>​UTF-8</​code> ​kodiert übergeben.+formatiert und mit ''​UTF-8'' ​kodiert übergeben.
  
-Antworten werden als JSON (Mime-Type ​<​code>​application/​json</​code>​) formatiert und +Antworten werden als JSON (Mime-Type ​''​application/​json''​) formatiert und 
-mit <​code>​UTF-8</​code> ​kodiert übertragen.+mit ''​UTF-8'' ​kodiert übertragen.
  
-Fehlende Werte sowie <​code>​null</​code> ​sind als gleichwertig zu betrachten. Im Gegensatz dazu bedeutet+Fehlende Werte sowie ''​null'' ​sind als gleichwertig zu betrachten. Im Gegensatz dazu bedeutet
 ein leeres Array oder Objekt, dass das Feld zwar berechnet wurde, jedoch tatsächlich keine Daten enthält. ein leeres Array oder Objekt, dass das Feld zwar berechnet wurde, jedoch tatsächlich keine Daten enthält.
  
  
-====== Verhalten im Fehlerfall ​======+===== Verhalten im Fehlerfall =====
  
  
  
-===== Genutzte HTTP-Statuscodes ​=====+==== Genutzte HTTP-Statuscodes ====
  
  
-Hinweis: Der <code>​code</​code> ​wird nur zurückgegeben,​ wenn die Anfrage die API erreicht. Antworten des Webservers enthalten damit kein JSON. Insbesondere ist dies der Fall für alle Requests über HTTP, die durch den Server mit <​code>​301 Moved Permanently</​code> ​und einer Weiterleitung zu HTTPS beantwortet werden.+Hinweis: Der ''​code'' ​wird nur zurückgegeben,​ wenn die Anfrage die API erreicht. Antworten des Webservers enthalten damit kein JSON. Insbesondere ist dies der Fall für alle Requests über HTTP, die durch den Server mit ''​301 Moved Permanently'' ​und einer Weiterleitung zu HTTPS beantwortet werden.
  
-^ HTTP-Status/ ​<​code>​status</​code>​^ HTTP-Status Name^ <code>​code</​code>​^ Beschreibung^ Verwendung ​|+^ HTTP-Status/ ​''​status''​^ HTTP-Status Name^ ''​code''​^ Beschreibung^ Verwendung ​^
 | 300| Multiple Choices| MULTIPLE_MODELS| Mehrere zutreffende Modelle gefunden| [[#​Calculate]] | | 300| Multiple Choices| MULTIPLE_MODELS| Mehrere zutreffende Modelle gefunden| [[#​Calculate]] |
 | 301| Moved Permanently| MOVED_PERMANENTLY| Zugriff ohne SSL mit Weiterleitung auf HTTPS| Überall | | 301| Moved Permanently| MOVED_PERMANENTLY| Zugriff ohne SSL mit Weiterleitung auf HTTPS| Überall |
Zeile 41: Zeile 43:
 | 401| Unauthorized| UNAUTHORIZED| Authentifizierungsfehler| Überall bei fehlenden oder falschen Anmeldedaten | | 401| Unauthorized| UNAUTHORIZED| Authentifizierungsfehler| Überall bei fehlenden oder falschen Anmeldedaten |
 | 404| Not found| NOT_FOUND| Fehlerhafte URL| Requests an nicht existierende URIs oder mit falschen Datentypen (z.B. einem String statt Integer) o.ä., die dadurch nicht zugeordnet werden können | | 404| Not found| NOT_FOUND| Fehlerhafte URL| Requests an nicht existierende URIs oder mit falschen Datentypen (z.B. einem String statt Integer) o.ä., die dadurch nicht zugeordnet werden können |
-| NO_DATA| Keine Modelle gefunden| [[#​GetModels]] | +| ::: | ::: | NO_DATA| Keine Modelle gefunden| [[#​GetModels]] | 
-| Keine Baureihen gefunden| [[#​GetSeries]] | +| ::: | ::: | ::: | Keine Baureihen gefunden| [[#​GetSeries]] | 
-| Keine Aufbauten gefunden| [[#​GetBodies]] | +| ::: | ::: | ::: | Keine Aufbauten gefunden| [[#​GetBodies]] | 
-| Keine Motoren gefunden| [[#​GetEngines]] | +| ::: | ::: | ::: | Keine Motoren gefunden| [[#​GetEngines]] | 
-| Keine Sondermodelle gefunden| [[#​GetEditions]] | +| ::: | ::: | ::: | Keine Sondermodelle gefunden| [[#​GetEditions]] | 
-| HSN/TSN nicht gefunden| [[#​Calculate]] | +| ::: | ::: | ::: | HSN/TSN nicht gefunden| [[#​Calculate]] | 
-| NO_ESTIMATION_DATA| HSN/TSN kann nicht geschätzt werden | +| ::: | ::: | NO_ESTIMATION_DATA| HSN/TSN kann nicht geschätzt werden ​| ::: 
-| MODEL_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe des Modells | +| ::: | ::: | MODEL_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe des Modells ​| ::: 
-| SERIES_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe der Baureihe | +| ::: | ::: | SERIES_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe der Baureihe ​| ::: 
-| EDITION_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe des Sondermodells | +| ::: | ::: | EDITION_NOT_FOUND| HSN/TSN gefunden, aber keine Treffer durch Angabe des Sondermodells ​| ::: 
-| NO_MATCHES| HSN/TSN gefunden, aber keine Treffer zum gewünschten Zeitpunkt oder durch Angabe von Aufbau oder Türen |+| ::: | ::: | NO_MATCHES| HSN/TSN gefunden, aber keine Treffer zum gewünschten Zeitpunkt oder durch Angabe von Aufbau oder Türen ​| ::: |
 | 405| Method Not Allowed| METHOD_NOT_ALLOWED| Unzulässige HTTP-Methode| Überall | | 405| Method Not Allowed| METHOD_NOT_ALLOWED| Unzulässige HTTP-Methode| Überall |
-| 450| Rate Limit Exceeded| RATE_LIMIT_EXCEEDED| Request-Limit wurde erreicht | +| 450| Rate Limit Exceeded| RATE_LIMIT_EXCEEDED| Request-Limit wurde erreicht ​| ::: 
-| 500| Internal Server Error| INTERNAL_SERVER_ERROR| Ein serverseitiger Fehler ist aufgetreten. Wenn möglich, wird eine kurze Erklärung in <​code>​message</​code> ​gegeben | +| 500| Internal Server Error| INTERNAL_SERVER_ERROR| Ein serverseitiger Fehler ist aufgetreten. Wenn möglich, wird eine kurze Erklärung in ''​message'' ​gegeben ​| ::: 
-| 503| Service Unavailable| SERVICE_UNAVAILABLE| API ist auf Grund von Wartungsarbeiten o.ä. temporär nicht erreichbar |+| 503| Service Unavailable| SERVICE_UNAVAILABLE| API ist auf Grund von Wartungsarbeiten o.ä. temporär nicht erreichbar ​| ::: |
  
  
  
-===== Format ​=====+==== Format ====
  
  
-<​code>​error</​code> ​(Objekt)| ​<​code>​status</​code>​| Integer, entspricht dem HTTP-Status | +''​error'' ​(Objekt)| ​''​status''​| Integer, entspricht dem HTTP-Status | 
-<​code>​code</​code>| Maschinenlesbare Bezeichnung des Fehlers | +::: | ''​code''​| Maschinenlesbare Bezeichnung des Fehlers | 
-<​code>​message</​code>​| Beschreibung des Fehlers. Diese kann sich ohne Ankündigung ändern und sollte nicht zur automatisierten Auswertung herangezogen werden | +::: | ''​message''​| Beschreibung des Fehlers. Diese kann sich ohne Ankündigung ändern und sollte nicht zur automatisierten Auswertung herangezogen werden | 
-<​code>​invalid</​code>​| Für Status 400 (Bad Request): Liste ungültiger Eingabeparameter.Beispiel: ​<​code>​"​invalid":​["​year","​month"​]</​code> ​+::: | ''​invalid''​| Für Status 400 (Bad Request): Liste ungültiger Eingabeparameter.Beispiel: ​''​"​invalid":​["​year","​month"​]'' ​
-<​code>​missing</​code>​| Für Status 400 (Bad Request): Liste fehlender Eingabeparameter.Beispiel: ​<​code>​"​missing":​["​year","​month"​]</​code> ​+::: | ''​missing''​| Für Status 400 (Bad Request): Liste fehlender Eingabeparameter.Beispiel: ​''​"​missing":​["​year","​month"​]'' ​
-<​code>​options</​code>​| Für Status 300 (Multiple Choices): Objekt mit Auswahlmöglichkeiten.Beispiel: ​<​code>​"​options":​{"​model":​["​X5","​X6"​]}]</​code> ​+::: | ''​options''​| Für Status 300 (Multiple Choices): Objekt mit Auswahlmöglichkeiten.Beispiel: ​''​"​options":​{"​model":​["​X5","​X6"​]}]'' ​
-<​code>​url</​code>​| Für Status 300 (Multiple Choices): URL-Template mit Platzhaltern für die in <​code>​options</​code> ​gelisteten Möglichkeiten.Beispiel (gekürzt): ​<​code><​nowiki>​"​url":​ "​...\/​calculate\/​7909\/​aak?​...&​model={model}"​</​nowiki></​code> ​|+::: | ''​url''​| Für Status 300 (Multiple Choices): URL-Template mit Platzhaltern für die in ''​options'' ​gelisteten Möglichkeiten.Beispiel (gekürzt): ​''​"​url":​ "​...\/​calculate\/​7909\/​aak?​...&​model={model}"​'' ​|
  
  
 +==== Beispiel ====
  
-===== Beispiel ===== 
  
- +<​code>​ 
-<​code>​GET https://​autofokus24.de/​api/​v2/​calculate/​7909/​aak?​pretty_print&​mileage=1&​year=2013&​month=5+GET https://​autofokus24.de/​api/​v2/​calculate/​7909/​aak?​pretty_print&​mileage=1&​year=2013&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​error":​ {     "​error":​ {
         "​status":​ 300,         "​status":​ 300,
Zeile 93: Zeile 97:
 </​code>​ </​code>​
  
-====== URLs ======+===== URLs =====
  
  
  
-===== Allgemeines ​=====+==== Allgemeines ====
  
  
-Prefix: ​<​code>​/api/v2</​code>​+Prefix: ​''​/api/v2''​
  
 Die folgenden URLs werden an den Prefix angehangen. Die zu verwendende HTTP-Methode zum Zugriff ist Die folgenden URLs werden an den Prefix angehangen. Die zu verwendende HTTP-Methode zum Zugriff ist
Zeile 107: Zeile 111:
 Alle aufgelisteten Parameter müssen, wenn nicht anders angegeben, übergeben werden. Alle aufgelisteten Parameter müssen, wenn nicht anders angegeben, übergeben werden.
  
-Zusätzlich existiert für jede URI der Parameter ​<​code>​pretty_print</​code>​. Wird er mit übergeben, wird die Ausgabe serverseitig zur besseren Lesbarkeit formatiert. Der Wert des Parameters wird ignoriert.+Zusätzlich existiert für jede URI der Parameter ​''​pretty_print''​. Wird er mit übergeben, wird die Ausgabe serverseitig zur besseren Lesbarkeit formatiert. Der Wert des Parameters wird ignoriert.
  
  
-===== Übersicht und Abrechnung ​=====+==== Übersicht und Abrechnung ====
  
  
-^ Name^ Methode^ URL^ Rückgabe^ Abrechnung ​| +^ Name^ Methode^ URL^ Rückgabe^ Abrechnung ​^ 
-| [[#​GetAllColors]]| ​<​code>​GET</​code>​<​code>​/colors</​code>​| Mögliche Farbcodes| ​ | +| [[#​GetAllColors]]| ​''​GET''​''​/colors''​| Mögliche Farbcodes| ​ | 
-| [[#​GetAllEquipment]]| ​<​code>​GET</​code>​<​code>​/equipment</​code>​| Mögliche Ausstattungs-Kürzel | +| [[#​GetAllEquipment]]| ​''​GET''​''​/equipment''​| Mögliche Ausstattungs-Kürzel | 
-| [[#​GetAllBodies]]| ​<​code>​GET</​code>​<​code>​/bodies</​code>​| Mögliche Aufbauvarianten | +| [[#​GetAllBodies]]| ​''​GET''​''​/bodies''​| Mögliche Aufbauvarianten | 
-| [[#​GetBrands]]| ​<​code>​GET</​code>​<​code>​/brands</​code>​| Alle Marken | +| [[#​GetBrands]]| ​''​GET''​''​/brands''​| Alle Marken | 
-| [[#​GetModels]]| ​<​code>​GET</​code>​<​code>​/​brands/​{brand_id}/​models</​code>​| Modelle einer Marke | +| [[#​GetModels]]| ​''​GET''​''​/​brands/​{brand_id}/​models''​| Modelle einer Marke | 
-| [[#​GetSeries]]| ​<​code>​GET</​code>​<​code>​/​models/​{model_id}/​series</​code>​| Baureihen eines Modells | +| [[#​GetSeries]]| ​''​GET''​''​/​models/​{model_id}/​series''​| Baureihen eines Modells | 
-| [[#​GetBodies]]| ​<​code>​GET</​code>​<​code>​/​series/​{series_id}/​bodies</​code>​| Aufbauten einer Baureihe | +| [[#​GetBodies]]| ​''​GET''​''​/​series/​{series_id}/​bodies''​| Aufbauten einer Baureihe | 
-| [[#​GetEngines]]| ​<​code>​GET</​code>​<​code>​/​series/​{series_id}/​bodies/​{body_id}/​engines</​code>​| Motoren zur aktuellen Auswahl| Nur kostenpflichtig,​ falls kein Folgeaufruf von GetEditions erfolgt | +| [[#​GetEngines]]| ​''​GET''​''​/​series/​{series_id}/​bodies/​{body_id}/​engines''​| Motoren zur aktuellen Auswahl| Nur kostenpflichtig,​ falls kein Folgeaufruf von GetEditions erfolgt | 
-| [[#​GetEditions]]| ​<​code>​GET</​code>​<​code>​/​series/​{series_id}/​bodies/​{body_id}/​engines/​{engine_id}/​editions</​code>​| Sondermodelle und HSN/TSNs zur aktuellen Auswahl| Kostenpflichtig,​ wird gezählt und abgerechnet | +| [[#​GetEditions]]| ​''​GET''​''​/​series/​{series_id}/​bodies/​{body_id}/ ​↵\\ engines/​{engine_id}/​editions''​| Sondermodelle und HSN/TSNs zur aktuellen Auswahl| Kostenpflichtig,​ wird gezählt und abgerechnet | 
-| [[#​Calculate]]| ​<​code>​GET</​code>​<​code>​POST</​code>​<​code>​/​calculate/​{hsn}/​{tsn}</​code>​| Fahrzeugbewertung |+| [[#​Calculate]]| ​''​GET''​''​POST''​''​/​calculate/​{hsn}/​{tsn}''​| Fahrzeugbewertung |
  
  
  
-===== GetAllColors ​=====+==== GetAllColors ====
  
  
- +=== Beschreibung ===
-==== Beschreibung ​====+
  
  
Zeile 137: Zeile 140:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/colors</​code>​+  *  URL: ''​…/colors''​
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​colors+<​code>​ 
 +GET /​api/​v2/​colors
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​wht":​ "​weiss",​     "​wht":​ "​weiss",​
     "​red":​ "​rot",​     "​red":​ "​rot",​
Zeile 157: Zeile 163:
 </​code>​ </​code>​
  
-===== GetAllEquipment ​=====+==== GetAllEquipment ====
  
  
  
-==== Beschreibung ​====+=== Beschreibung ===
  
  
Zeile 168: Zeile 174:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​equipment</​code>​+  *  URL: ''​…/​equipment''​
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​equipment+<​code>​ 
 +GET /​api/​v2/​equipment
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​GAS":​ "​Gasantrieb",​     "​GAS":​ "​Gasantrieb",​
     "​ELE":​ "​Elektromotor",​     "​ELE":​ "​Elektromotor",​
Zeile 188: Zeile 197:
 </​code>​ </​code>​
  
-===== GetAllBodies ====+==== GetAllBodies ====
  
  
-==== Beschreibung ​====+=== Beschreibung ===
  
  
Zeile 199: Zeile 207:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/bodies</​code>​+  *  URL: ''​…/bodies''​
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​bodies+<​code>​ 
 +GET /​api/​v2/​bodies
 </​code>​ </​code>​
-<​code>​[+ 
 +<​code>​ 
 +[
     "​BUS",​     "​BUS",​
     "​CABRIO",​     "​CABRIO",​
Zeile 219: Zeile 230:
 </​code>​ </​code>​
  
-===== GetBrands ​=====+==== GetBrands ====
  
  
- +=== Beschreibung ===
-==== Beschreibung ​====+
  
  
Zeile 229: Zeile 239:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/brands</​code>​+  *  URL: ''​…/brands''​
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
 Zurückgegeben wird ein Objekt mit zwei Elementen: Zurückgegeben wird ein Objekt mit zwei Elementen:
-  *  ​<​code>​brands</​code>​, welches wiederum ein Objekt mit ID–Marken-Zuordnungen enthält +  *  ​''​brands''​, welches wiederum ein Objekt mit ID–Marken-Zuordnungen enthält 
-  *  ​<​code>​models_url</​code>​: Die URL der nächsten möglichen Abfrage+  *  ​''​models_url''​: Die URL der nächsten möglichen Abfrage
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​brands+<​code>​ 
 +GET /​api/​v2/​brands
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​brands":​ {     "​brands":​ {
         "​1":​ "Alfa Romeo",​         "​1":​ "Alfa Romeo",​
Zeile 260: Zeile 273:
 </​code>​ </​code>​
  
-===== GetModels ====+==== GetModels ====
  
  
-==== Beschreibung ​====+=== Beschreibung ===
  
  
Zeile 271: Zeile 283:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​brands/​{brand_id}/​models</​code>​+  *  URL: ''​…/​brands/​{brand_id}/​models''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​brand_id</​code>​| ID der Marke |+''​brand_id''​| ID der Marke |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-^ Parameter^ Beschreibung^ Erforderlich? ​| +^ Parameter^ Beschreibung^ Erforderlich? ​^ 
-<​code>​year</​code>​| Jahr der Erstzulassung| Ja | +''​year''​| Jahr der Erstzulassung| Ja | 
-<​code>​month</​code>​| Monat der Erstzulassung |+''​month''​| Monat der Erstzulassung ​| ::: |
  
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
 Zurückgegeben wird ein Objekt mit zwei Elementen: Zurückgegeben wird ein Objekt mit zwei Elementen:
-  *  ​<​code>​models</​code>​, welches wiederum ein Objekt mit ID–Modellbezeichnung-Zuordnungen enthält +  *  ​''​models''​, welches wiederum ein Objekt mit ID–Modellbezeichnung-Zuordnungen enthält 
-  *  ​<​code>​series_url</​code>​: Die URL der nächsten möglichen Abfrage+  *  ​''​series_url''​: Die URL der nächsten möglichen Abfrage
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​404 NO_DATA</​code>​+  *  ​''​404 NO_DATA''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​brands/​37/​models?​year=2015&​month=5+<​code>​ 
 +GET /​api/​v2/​brands/​37/​models?​year=2015&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​models":​ {     "​models":​ {
         "​850":​ "​Amarok",​         "​850":​ "​Amarok",​
Zeile 327: Zeile 342:
 </​code>​ </​code>​
  
-===== GetSeries ​=====+==== GetSeries ====
  
  
- +=== Beschreibung ===
-==== Beschreibung ​====+
  
  
Zeile 338: Zeile 352:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​models/​{model_id}/​series</​code>​+  *  URL: ''​…/​models/​{model_id}/​series''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​model_id</​code>​| ID des Modells |+''​model_id''​| ID des Modells |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-^ Parameter^ Beschreibung^ Erforderlich? ​| +^ Parameter^ Beschreibung^ Erforderlich? ​^ 
-<​code>​year</​code>​| Jahr der Erstzulassung| Ja | +''​year''​| Jahr der Erstzulassung| Ja | 
-<​code>​month</​code>​| Monat der Erstzulassung |+''​month''​| Monat der Erstzulassung ​| ::: |
  
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
 Zurückgegeben wird ein Objekt mit zwei Elementen: Zurückgegeben wird ein Objekt mit zwei Elementen:
-  *  ​<​code>​series</​code>​, welches wiederum ein Objekt mit ID–Baureihenbezeichnung-Zuordnungen enthält +  *  ​''​series''​, welches wiederum ein Objekt mit ID–Baureihenbezeichnung-Zuordnungen enthält 
-  *  ​<​code>​bodies_url</​code>​: Die URL der nächsten möglichen Abfrage+  *  ​''​bodies_url''​: Die URL der nächsten möglichen Abfrage
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​404 NO_DATA</​code>​+  *  ​''​404 NO_DATA''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​models/​864/​series?​year=2015&​month=5+<​code>​ 
 +GET /​api/​v2/​models/​864/​series?​year=2015&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​series":​ {     "​series":​ {
         "​1191":​ "​Modell ab 2010",         "​1191":​ "​Modell ab 2010",
Zeile 392: Zeile 409:
 </​code>​ </​code>​
  
-===== GetBodies ​=====+==== GetBodies ====
  
  
- +=== Beschreibung ===
-==== Beschreibung ​====+
  
  
Zeile 402: Zeile 418:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​series/​{series_id}/​bodies</​code>​+  *  URL: ''​…/​series/​{series_id}/​bodies''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​series_id</​code>​| ID der Baureihe |+''​series_id''​| ID der Baureihe |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-^ Parameter^ Beschreibung^ Erforderlich? ​| +^ Parameter^ Beschreibung^ Erforderlich? ​^ 
-<​code>​year</​code>​| Jahr der Erstzulassung| Ja | +''​year''​| Jahr der Erstzulassung| Ja | 
-<​code>​month</​code>​| Monat der Erstzulassung |+''​month''​| Monat der Erstzulassung ​| ::: |
  
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
 Zurückgegeben wird ein Objekt mit zwei Elementen: Zurückgegeben wird ein Objekt mit zwei Elementen:
-  *  ​<​code>​bodies</​code>​, welches wiederum aus Aufbau-Objekten besteht, wobei die ID der Aufbauvariante als Key genutzt wird +  *  ​''​bodies''​, welches wiederum aus Aufbau-Objekten besteht, wobei die ID der Aufbauvariante als Key genutzt wird 
-  *  ​<​code>​engines_url</​code>​: Die URL der nächsten möglichen Abfrage+  *  ​''​engines_url''​: Die URL der nächsten möglichen Abfrage
  
 Die Aufbauobjekte bestehen aus folgenden Feldern: Die Aufbauobjekte bestehen aus folgenden Feldern:
  
-^ Feld^ Typ^ Beschreibung ​| +^ Feld^ Typ^ Beschreibung ​^ 
-<​code>​body</​code>​| String| Bezeichnung des Aufbaus | +''​body''​| String| Bezeichnung des Aufbaus | 
-<​code>​doors</​code>​| Integer| Anzahl Türen |+''​doors''​| Integer| Anzahl Türen |
  
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​404 NO_DATA</​code>​+  *  ​''​404 NO_DATA''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​series/​1191/​bodies?​year=2015&​month=5+<​code>​ 
 +GET /​api/​v2/​series/​1191/​bodies?​year=2015&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​bodies":​ {     "​bodies":​ {
         "​42":​ {         "​42":​ {
Zeile 469: Zeile 488:
 </​code>​ </​code>​
  
-===== GetEngines ​=====+==== GetEngines ====
  
  
- +=== Beschreibung ===
-==== Beschreibung ​====+
  
  
Zeile 480: Zeile 498:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​series/​{series_id}/​bodies/​{body_id}/​engines</​code>​+  *  URL: ''​…/​series/​{series_id}/​bodies/​{body_id}/​engines''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​series_id</​code>​| ID der Baureihe | +''​series_id''​| ID der Baureihe | 
-<​code>​body_id</​code>​| ID der Aufbauvariante |+''​body_id''​| ID der Aufbauvariante |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-^ Parameter^ Beschreibung^ Erforderlich? ​| +^ Parameter^ Beschreibung^ Erforderlich? ​^ 
-<​code>​year</​code>​| Jahr der Erstzulassung| Ja | +''​year''​| Jahr der Erstzulassung| Ja | 
-<​code>​month</​code>​| Monat der Erstzulassung |+''​month''​| Monat der Erstzulassung ​| ::: |
  
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
 Zurückgegeben wird ein Objekt mit zwei Elementen: Zurückgegeben wird ein Objekt mit zwei Elementen:
-  *  ​<​code>​engines</​code>​, welches wiederum aus Motor-Objekten besteht, wobei die ID des Motors als Key genutzt wird +  *  ​''​engines''​, welches wiederum aus Motor-Objekten besteht, wobei die ID des Motors als Key genutzt wird 
-  *  ​<​code>​editions_url</​code>​: Die URL der nächsten möglichen Abfrage+  *  ​''​editions_url''​: Die URL der nächsten möglichen Abfrage
  
 Die Motorobjekte bestehen aus folgenden Feldern: Die Motorobjekte bestehen aus folgenden Feldern:
  
-^ Feld^ Typ^ Beschreibung ​| +^ Feld^ Typ^ Beschreibung ​^ 
-<​code>​kw</​code>​| Integer| Leistung in Kilowatt (kW) | +''​kw''​| Integer| Leistung in Kilowatt (kW) | 
-<​code>​fuel</​code>​| String| Kraftstoff | +''​fuel''​| String| Kraftstoff. Mögliche Werte: DIESEL, BENZIN, ELEKTRO, HYBRID-BENZIN,​ HYBRID-DIESEL ​
-<​code>​cylinders</​code>​| Integer| Zylinderanzahl | +''​cylinders''​| Integer| Zylinderanzahl | 
-<​code>​cubic_capacity</​code>​| Integer| Hubraum in Kubikzentimeter (cm³ / ccm) |+''​cubic_capacity''​| Integer| Hubraum in Kubikzentimeter (cm³ / ccm) |
  
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​404 NO_DATA</​code>​+  *  ​''​404 NO_DATA''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​series/​1191/​bodies/​42/​engines?​year=2015&​month=5+<​code>​ 
 +GET /​api/​v2/​series/​1191/​bodies/​42/​engines?​year=2015&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​engines":​ {     "​engines":​ {
         "​6590":​ {         "​6590":​ {
Zeile 555: Zeile 576:
 </​code>​ </​code>​
  
-===== GetEditions ====+==== GetEditions ====
  
  
-==== Beschreibung ​====+=== Beschreibung ===
  
  
Zeile 566: Zeile 586:
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​series/​{series_id}/​bodies/​{body_id}/​engines/​{engine_id}/​editions</​code>​+  *  URL: ''​…/​series/​{series_id}/​bodies/​{body_id}/​engines/​{engine_id}/​editions''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​series_id</​code>​| ID der Baureihe | +''​series_id''​| ID der Baureihe | 
-<​code>​body_id</​code>​| ID der Aufbauvariante | +''​body_id''​| ID der Aufbauvariante | 
-<​code>​engine_id</​code>​| ID des Motors |+''​engine_id''​| ID des Motors |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-^ Parameter^ Beschreibung^ Erforderlich? ​| +^ Parameter^ Beschreibung^ Erforderlich? ​^ 
-<​code>​year</​code>​| Jahr der Erstzulassung| Ja | +''​year''​| Jahr der Erstzulassung| Ja | 
-<​code>​month</​code>​| Monat der Erstzulassung |+''​month''​| Monat der Erstzulassung ​| ::: |
  
  
  
-==== Rückgabe ​====+=== Rückgabe ===
  
  
-Zurückgegeben wird ein Objekt mit einem Element, ​<​code>​editions</​code>​, welches wiederum aus Sondermodell-Objekten besteht, wobei die ID des Sondermodells als Key genutzt wird.+Zurückgegeben wird ein Objekt mit einem Element, ​''​editions''​, welches wiederum aus Sondermodell-Objekten besteht, wobei die ID des Sondermodells als Key genutzt wird.
  
 Eine Folge-URL wird nicht übergeben, da in der Baumstruktur keine weiteren Schritte notwendig sind, um ein Fahrzeug zu identifizieren. Eine Folge-URL wird nicht übergeben, da in der Baumstruktur keine weiteren Schritte notwendig sind, um ein Fahrzeug zu identifizieren.
Zeile 601: Zeile 621:
 Die Sondermodellobjekte bestehen aus folgenden Feldern: Die Sondermodellobjekte bestehen aus folgenden Feldern:
  
-^ Feld^ Typ^ Beschreibung ​| +^ Feld^ Typ^ Beschreibung ​^ 
-<​code>​edition</​code>​| String| Bezeichnung des Sondermodells | +''​edition''​| String| Bezeichnung des Sondermodells | 
-<​code>​hsn</​code>​| String| Herstellerschlüsselnummer | +''​hsn''​| String| Herstellerschlüsselnummer | 
-<​code>​tsn_list</​code>​| Array| Ungeordnetes Array aller Typschlüsselnummern des Sondermodells |+''​tsn_list''​| Array| Ungeordnetes Array aller Typschlüsselnummern des Sondermodells |
  
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​404 NO_DATA</​code>​+  *  ​''​404 NO_DATA''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​series/​1212/​bodies/​27/​engines/​11730/​editions?​year=2010&​month=5+<​code>​ 
 +GET /​api/​v2/​series/​1212/​bodies/​27/​engines/​11730/​editions?​year=2010&​month=5
 </​code>​ </​code>​
-<​code>​{+ 
 +<​code>​ 
 +{
     "​editions":​ {     "​editions":​ {
         "​55302":​ {         "​55302":​ {
Zeile 643: Zeile 666:
 </​code>​ </​code>​
  
-===== Calculate ​=====+==== Calculate ====
  
  
  
-==== Beschreibung ​====+=== Beschreibung ===
  
  
 Gibt zu einer angegebenen HSN und TSN entsprechende Preisschätzungen,​ Ausstattung und weitere Gibt zu einer angegebenen HSN und TSN entsprechende Preisschätzungen,​ Ausstattung und weitere
-Grundinformationen zurück. Da der Parameter ​<​code>​free_text</​code> ​sehr lang werden kann, darf diese Funktion +Grundinformationen zurück. Da der Parameter ​''​free_text'' ​sehr lang werden kann, darf diese Funktion 
-auch per <​code>​POST</​code> ​abgerufen werden.+auch per ''​POST'' ​abgerufen werden.
  
-Leere Werte werden nicht zurückgegeben,​ damit können einzelne Elemente der Antwort, wie <​code>​motor_name</​code>​+Leere Werte werden nicht zurückgegeben,​ damit können einzelne Elemente der Antwort, wie ''​motor_name''​
-<​code>​color</​code> ​oder <​code>​equipment_by_edition</​code>​, mitunter scheinbar fehlen.+''​color'' ​oder ''​equipment_by_edition''​, mitunter scheinbar fehlen.
  
  
-==== Aufruf ​====+=== Aufruf ===
  
  
-  *  Methode: ​<​code>​GET</​code>​ +  *  Methode: ​''​GET''​ 
-  *  URL: <​code>​…/​calculate/​{hsn}/​{tsn}</​code>​+  *  URL: ''​…/​calculate/​{hsn}/​{tsn}''​
  
  
-==== Parameter ​====+=== Parameter ===
  
  
 In der URL übergeben: In der URL übergeben:
  
-^ Parameter^ Beschreibung ​| +^ Parameter^ Beschreibung ​^ 
-<​code>​hsn</​code>​| Herstellerschlüsselnummer | +''​hsn''​| Herstellerschlüsselnummer | 
-<​code>​tsn</​code>​| Typschlüsselnummer |+''​tsn''​| Typschlüsselnummer |
  
  
 Im Query-String übergeben: Im Query-String übergeben:
  
-ParameterTyp / WertebereichBeschreibungErforderlich?​ | +{| 
-<​code>​year</​code>​| Integer| Jahr der Erstzulassung| Ja | +|- 
-<​code>​month</​code>​| Integer| Monat der Erstzulassung | +Parameter ​!! Typ / Wertebereich ​!! Beschreibung ​!! Erforderlich?​ 
-<​code>​mileage</​code>​| Integer| Laufleistung in km | +|- 
-<​code>​free_text</​code>​| String| Beliebiger Fließtext zur Auswertung mit Einfluss auf die Bewertung| Nein | +''​year'' ​        || Integer ​|| Jahr der Erstzulassung ​||rowspan="​3"​| Ja 
-<​code>​model</​code>​| String| Modellbezeichnung wie in [[#​GetModels]]. Nur notwendig, wenn mehrere Modelle mit gleicher HSN/TSN gefunden wurden | +|- 
-<​code>​series</​code>​| String| Baureihenbezeichnung nach [[#​GetSeries]] | +''​month'' ​       || Integer ​|| Monat der Erstzulassung 
-<​code>​edition</​code>​| String| Sondermodellbezeichnung;​ die Schreibweise des Sondermodells ist der Funktion [[#​GetEditions]] zu entnehmen | +|- 
-<​code>​equipment</​code>​| String| Kommagetrennte Aufzählung der Ausstattungsmerkmale als Kürzel nach [[#​GetAllEquipment]] | +''​mileage'' ​     || Integer ​|| Laufleistung in km 
-<​code>​color</​code>​| String| Kurzbezeichnung der Farbe nach [[#​GetAllColors]] | +|- 
-<​code>​body</​code>​| String| Aufbau nach [[#​GetAllBodies]] | +''​free_text'' ​   || String ​ || Beliebiger Fließtext zur Auswertung mit Einfluss auf die Bewertung ​||rowspan="​18"​| Nein 
-<​code>​doors</​code>​| Integer| Anzahl Türen ​| +|- 
-| <​code>​dealer_type</​code>​| -1 – 8| Unternehmensart^ Wert^ Beschreibung || -1| Keine Angabe || 0| kein Handel || 1| Vertrags-Markenhändler || 2| Freier Händler der Luxusklasse || 3| Neuwagen- und Jahreswagenhändler || 4| freier Händler || 5| freier Händler, überwiegend Export || 6| Gutachter / Makler || 7| Steuerberater / Versicherung || 8| Werkstatt mit kleinem Handel | | +''​model'' ​       || String ​ || Modellbezeichnung wie in [[#​GetModels]]. Nur notwendig, wenn mehrere Modelle mit gleicher HSN/TSN gefunden wurden 
-<​code>​dealer_price_range</​code>​-1 – 7| durchschnittliche Preisklasse des Händlers.Diese Einstellung ist wichtig, um korrekte spezifische Preise für einen individuellen Geschäftsbetrieb zu berechnen.Bitte geben Sie hier an, welche maximale Preisklasse an Kfz üblicherweise über Ihre Plattform gehandelt wird.^ Wert^ Beschreibung || -1| Keine Angabe || 0| kein Handel || 1| 0 – 5.000 Euro || 2| 5.000 – 10.000 Euro || 3| 10.000 – 15.000 Euro || 4| 15.000 – 20.000 Euro || 5| 20.000 – 30.000 Euro || 6| 30.000 – 40.000 Euro || 7| über 40.000 Euro | | +|- 
-| <​code>​stock_size</​code>​| -1 – 8| durchschnittlicher Fahrzeugbestand^ Wert^ Beschreibung || -1| Keine Angabe || 0| kein Handel || 1| 0 – 5 || 2| 5 – 10 || 3| 10 – 20 || 4| 20 – 50 || 5| 50 – 100 || 6| 100 – 250 || 7| 250 – 1.000 || 8| über 1.000 | | +''​series'' ​      || String ​ || Baureihenbezeichnung nach [[#​GetSeries]] 
-| <​code>​guarantees</​code>​| -1 – 4| üblicherweise angebotene Garantieleistungen^ Wert^ Beschreibung || -1| Keine Angabe || 0| kein Handel || 1| Verkäufe überwiegend ohne Gewährleistung || 2| Verkäufe mit Gewährleistung,​ ohne Garantie || 3| Verkäufe mit Garantieversicherung || 4| Verkäufe mit Garantieversicherung des Herstellers | | +|- 
-| <​code>​average_standing_time</​code>​| 0 – 4| Standzeit in Monaten zur Berechnung der Verkaufswahrscheinlichkeiten in <​code>​sales_probability</​code>​ | +''​edition'' ​     || String ​ || Sondermodellbezeichnung;​ die Schreibweise des Sondermodells ist der Funktion [[#​GetEditions]] zu entnehmen 
-| <​code>​yearly_mileage</​code>​| Integer| Jährliche Laufleistung in km zur Berechnung der Restwertprognose in <​code>​degeneration</​code>​ | +|- 
-| <​code>​planned_usage_time</​code>​| Integer| Geplante Nutzungsdauer in Jahren zur Berechnung der Restwertprognose in <​code>​degeneration</​code>​ | +''​equipment'' ​   || String ​ || Kommagetrennte Aufzählung der Ausstattungsmerkmale als Kürzel nach [[#​GetAllEquipment]] 
-| <​code>​return_all_editions</​code>​| 0 / 1| Default ist 0. Alle gefundenen Sondermodelle zurückgeben,​ wenn 1, ansonsten wird auf ein Basismodell verallgemeinert | +|- 
-| <​code>​use_production_tolerance</​code>​| 0 / 1| Default ist 0. Toleranzen um Produktionszeiträume beachten, wenn 1 | +''​color'' ​       || String ​ || Kurzbezeichnung der Farbe nach [[#​GetAllColors]] 
-| <​code>​pretty_print</​code>​| Beliebig| Setzen, um die Ausgabe für Tests u.ä. zu formatieren ​|+|- 
 +''​body'' ​        || String ​ || Aufbau nach [[#​GetAllBodies]] 
 +|- 
 +''​doors'' ​       || Integer ​|| Anzahl Türen 
 +|- 
 +''​dealer_type''  ​|| -1 – 8  || Unternehmensart
  
 +{|
 +|-
 +! Wert !! Beschreibung
 +|-
 +| -1 || Keine Angabe
 +|-
 +| 0 || kein Handel
 +|-
 +| 1 || Vertrags-Markenhändler
 +|-
 +| 2 || Freier Händler der Luxusklasse
 +|-
 +| 3 || Neuwagen- und Jahreswagenhändler
 +|-
 +| 4 || freier Händler
 +|-
 +| 5 || freier Händler, überwiegend Export
 +|-
 +| 6 || Gutachter / Makler
 +|-
 +| 7 || Steuerberater / Versicherung
 +|-
 +| 8 || Werkstatt mit kleinem Handel
 +|}
  
 +|-
 +| ''​dealer_price_range''​ || -1 – 7 || durchschnittliche Preisklasse des Händlers.
  
-==== Rückgabe ​====+Diese Einstellung ist wichtig, um korrekte spezifische Preise für einen individuellen Geschäftsbetrieb zu berechnen. 
 +Bitte geben Sie hier an, welche maximale Preisklasse an Kfz üblicherweise über Ihre Plattform gehandelt wird. 
 + 
 +{| 
 +|- 
 +! Wert !! Beschreibung 
 +|- 
 +| -1 || Keine Angabe 
 +|- 
 +| 0 || kein Handel 
 +|- 
 +| 1 || 0 – 5.000 Euro 
 +|- 
 +| 2 || 5.000 – 10.000 Euro 
 +|- 
 +| 3 || 10.000 – 15.000 Euro 
 +|- 
 +| 4 || 15.000 – 20.000 Euro 
 +|- 
 +| 5 || 20.000 – 30.000 Euro 
 +|- 
 +| 6 || 30.000 – 40.000 Euro 
 +|- 
 +| 7 || über 40.000 Euro 
 +|} 
 + 
 +|- 
 +| ''​stock_size'' ​        || -1 – 8 || durchschnittlicher Fahrzeugbestand 
 + 
 +{| 
 +|- 
 +! Wert !! Beschreibung 
 +|- 
 +| -1 || Keine Angabe 
 +|- 
 +| 0 || kein Handel 
 +|- 
 +| 1 || 0 – 5 
 +|- 
 +| 2 || 5 – 10 
 +|- 
 +| 3 || 10 – 20 
 +|- 
 +| 4 || 20 – 50 
 +|- 
 +| 5 || 50 – 100 
 +|- 
 +| 6 || 100 – 250 
 +|- 
 +| 7 || 250 – 1.000 
 +|- 
 +| 8 || über 1.000 
 +|} 
 + 
 +|- 
 +| ''​guarantees'' ​        || -1 – 4 || üblicherweise angebotene Garantieleistungen 
 + 
 +{| 
 +|- 
 +! Wert !! Beschreibung 
 +|- 
 +| -1 || Keine Angabe 
 +|- 
 +| 0 || kein Handel 
 +|- 
 +| 1 || Verkäufe überwiegend ohne Gewährleistung 
 +|- 
 +| 2 || Verkäufe mit Gewährleistung,​ ohne Garantie 
 +|- 
 +| 3 || Verkäufe mit Garantieversicherung 
 +|- 
 +| 4 || Verkäufe mit Garantieversicherung des Herstellers 
 +|} 
 + 
 +|- 
 +| ''​average_standing_time'' ​   || 0 – 4 || Standzeit in Monaten zur Berechnung der Verkaufswahrscheinlichkeiten in ''​sales_probability''​ 
 +|- 
 +| ''​yearly_mileage'' ​          || Integer || Jährliche Laufleistung in km zur Berechnung der Restwertprognose in ''​degeneration''​ 
 +|- 
 +| ''​planned_usage_time'' ​      || Integer || Geplante Nutzungsdauer in Jahren zur Berechnung der Restwertprognose in ''​degeneration''​ 
 +|- 
 +| ''​return_all_editions'' ​     || 0 / 1   || Default ist 0. Alle gefundenen Sondermodelle zurückgeben,​ wenn 1, ansonsten wird auf ein Basismodell verallgemeinert 
 +|- 
 +| ''​use_production_tolerance''​ || 0 / 1   || Default ist 0. Toleranzen um Produktionszeiträume beachten, wenn 1 
 +|- 
 +| ''​ignore_missing_estimation''​ || 0 / 1   || Default ist 0. Liefert auch Kfz-Daten, wenn keine Schätzung möglich ist, wenn 1 
 +|- 
 +| ''​pretty_print'' ​            || Beliebig|| Setzen, um die Ausgabe für Tests u.ä. zu formatieren 
 +|} 
 + 
 + 
 + 
 +=== Rückgabe ===
  
  
 Zurückgegeben wird eine Liste von Fahrzeug-Objekten,​ die jeweils aus den in folgender Tabelle erklärten Feldern bestehen. Zurückgegeben wird eine Liste von Fahrzeug-Objekten,​ die jeweils aus den in folgender Tabelle erklärten Feldern bestehen.
  
-^ Feld^ Typ^ Beschreibung ​| +^ Feld^ Typ^ Beschreibung ​^ 
-<​code>​hsn</​code>​| String| Herstellerschlüsselnummer | +''​hsn''​| String| Herstellerschlüsselnummer | 
-<​code>​tsn</​code>​| String| Typschlüsselnummer | +''​tsn''​| String| Typschlüsselnummer | 
-<​code>​brand</​code>​| String| Marke | +''​brand''​| String| Marke | 
-<​code>​model</​code>​| String| Modell | +''​model''​| String| Modell | 
-<​code>​series</​code>​| String| Baureihe | +''​series''​| String| Baureihe | 
-<​code>​production_start</​code>​| String| Produktionsstart der Baureihe im Format ​<​code>​Monat/Yahr</​code> ​+''​production_start''​| String| Produktionsstart der Baureihe im Format ​''​Monat/Jahr'' ​
-<​code>​edition</​code>​| String| Sondermodell | +''​edition''​| String| Sondermodell | 
-<​code>​body</​code>​| String| Aufbauvariante | +''​body''​| String| Aufbauvariante | 
-<​code>​doors</​code>​| Integer| Anzahl Türen | +''​doors''​| Integer| Anzahl Türen | 
-<​code>​color</​code>​| String| //​Optional//​. Farbe | +''​color''​| String| //​Optional//​. Farbe | 
-<​code>​engine</​code>​| String| Beschreibung des Motors | +''​engine''​| String| Beschreibung des Motors | 
-<​code>​engine_name</​code>​| String| //​Optional//​. Herstellerspezifische Bezeichnung des Motors | +''​engine_name''​| String| //​Optional//​. Herstellerspezifische Bezeichnung des Motors | 
-<​code>​fuel</​code>​| String| Kraftstoff | +''​fuel''​| String| Kraftstoff | 
-<​code>​kw</​code>​| Integer| Leistung in Kilowatt (kW) | +''​kw''​| Integer| Leistung in Kilowatt (kW) | 
-<​code>​cubic_capacity</​code>​| Integer| Hubraum in Kubikzentimeter (cm³ / ccm) | +''​cubic_capacity''​| Integer| Hubraum in Kubikzentimeter (cm³ / ccm) | 
-<​code>​equipment_by_date</​code>​| Array| //​Optional//​. Durch den Bauzeitraum definierte Grundausstattung | +''​equipment_by_date''​| Array| //​Optional//​. Durch den Bauzeitraum definierte Grundausstattung | 
-<​code>​equipment_by_engine</​code>​| Array| //​Optional//​. Durch die Motorisierung definierte Ausstattungsmerkmale | +''​equipment_by_engine''​| Array| //​Optional//​. Durch die Motorisierung definierte Ausstattungsmerkmale | 
-<​code>​equipment_by_edition</​code>​| Array| //​Optional//​. Durch das Sondermodell definierte Ausstattungsmerkmale | +''​equipment_by_edition''​| Array| //​Optional//​. Durch das Sondermodell definierte Ausstattungsmerkmale | 
-<​code>​equipment</​code>​| Array| //​Optional//​. Gesamtausstattung,​ die zur Preisberechnung beachtet wurde.Neben den Werten aus <​code>​equipment_by_date</​code>​<​code>​equipment_by_engine</​code> ​und <​code>​equipment_by_edition</​code> ​werden hier insbesonderedie beachtete Gewährleistung oder Garantie und per <​code>​equipment</​code> ​übergebene sowie im <​code>​free_text</​code> ​erkannte Ausstattungen gelistet. | +''​equipment''​| Array| //​Optional//​. Gesamtausstattung,​ die zur Preisberechnung beachtet wurde.Neben den Werten aus ''​equipment_by_date''​''​equipment_by_engine'' ​und ''​equipment_by_edition'' ​werden hier insbesonderedie beachtete Gewährleistung oder Garantie und per ''​equipment'' ​übergebene sowie im ''​free_text'' ​erkannte Ausstattungen gelistet. | 
-<​code>​selling_price<​/code>| Integer| Händlerverkaufspreis | +''​optional_equipment''​| Array| ​//​Optional//​. Mögliche weitere Ausstattungsmerkmale,​ welche sich gemäß der Autofokus24-Schätzung statistisch relevant auf den Fahrzeugwert auswirken (Analog zu "​Weitere Ausstattung"​ auf der Autofokus24-Website). | 
-<​code>​buying_price</​code>​| Integer| Händlereinkaufspreis | +| ''​selling_price''​| Integer| Händlerverkaufspreis | 
-<​code>​dealer_price_range</​code>​| Integer| Zur Berechnung verwendete ​<​code>​dealer_price_range</​code>​. Details siehe Parameter | +''​buying_price''​| Integer| Händlereinkaufspreis | 
-<​code>​guarantee</​code>​| String| Bezeichnung der zur Berechnung verwendeten Gewährleistung oder Garantie | +''​dealer_price_range''​| Integer| Zur Berechnung verwendete ​''​dealer_price_range''​. Details siehe Parameter | 
-<​code>​estimated_standing_time</​code>​| Integer| Geschätzte durchschnittliche Standzeit in Monaten ​beim berechneten Verkaufspreis | +''​guarantee''​| String| Bezeichnung der zur Berechnung verwendeten Gewährleistung oder Garantie | 
-<​code>​sales_probability</​code>​| Objekt| //​Optional//​. Verkaufspreis–Verkaufswahrscheinlichkeit-Zuordnungen.Es werden dabei für Preise in 100€-Schritten um den Marktpreis die jeweiligen Verkaufswahrscheinlichkeiten berechnet.Die Wahrscheinlichkeit bezieht sich dabei auf die als <​code>​average_standing_time</​code> ​übergebene Wartezeit.Beispiel:​ Wenn für <​code>​average_standing_time</​code> ​2 übergeben wurde, und <​code>​sales_probability</​code> ​den Eintrag ​<​code>​"​3900":​ 66</​code> ​enthält,​liegt die Wahrscheinlichkeit für den Verkauf innerhalb von 2 Monaten bei einem Verkaufspreis von 3900 Euro bei 66% | +''​estimated_standing_time''​| Integer| Geschätzte durchschnittliche Standzeit in Tagen beim berechneten Verkaufspreis | 
-<​code>​degeneration</​code>​| Array| //​Optional//​. Ein Objekt mit <​code>​planned_usage_time</​code>​*12 Einträgen, die jeweils den Restwert pro Monat ab dem aktuellen Monat angeben. Datenpunkt 0 entspricht dem Preis in <​code>​selling_price</​code>​.Wird berechnet, wenn <​code>​planned_usage_time</​code> ​und <​code>​yearly_mileage</​code> ​übergeben wurden |+''​sales_probability''​| Objekt| //​Optional//​. Verkaufspreis–Verkaufswahrscheinlichkeit-Zuordnungen.Es werden dabei für Preise in 100€-Schritten um den Marktpreis die jeweiligen Verkaufswahrscheinlichkeiten berechnet.Die Wahrscheinlichkeit bezieht sich dabei auf die als ''​average_standing_time'' ​übergebene Wartezeit.Beispiel:​ Wenn für ''​average_standing_time'' ​2 übergeben wurde, und ''​sales_probability'' ​den Eintrag ​''​"​3900":​ 66'' ​enthält,​liegt die Wahrscheinlichkeit für den Verkauf innerhalb von 2 Monaten bei einem Verkaufspreis von 3900 Euro bei 66% | 
 +''​degeneration''​| Array| //​Optional//​. Ein Objekt mit ''​planned_usage_time''​*12 Einträgen, die jeweils den Restwert pro Monat ab dem aktuellen Monat angeben. Datenpunkt 0 entspricht dem Preis in ''​selling_price''​.Wird berechnet, wenn ''​planned_usage_time'' ​und ''​yearly_mileage'' ​übergeben wurden |
  
  
  
-==== Fehler ​====+=== Fehler ===
  
  
-  *  ​<​code>​300 MULTIPLE_MODELS</​code>​ +  *  ​''​300 MULTIPLE_MODELS''​ 
-  *  ​<​code>​404 NO_DATA</​code>​ +  *  ​''​404 NO_DATA''​ 
-  *  ​<​code>​404 MODEL_NOT_FOUND</​code>​ +  *  ​''​404 MODEL_NOT_FOUND''​ 
-  *  ​<​code>​404 SERIES_NOT_FOUND</​code>​ +  *  ​''​404 SERIES_NOT_FOUND''​ 
-  *  ​<​code>​404 EDITION_NOT_FOUND</​code>​ +  *  ​''​404 EDITION_NOT_FOUND''​ 
-  *  ​<​code>​404 NO_MATCHES</​code>​+  *  ​''​404 NO_MATCHES''​
  
 [[#​Verhalten_im_Fehlerfall|Details siehe oben]]. [[#​Verhalten_im_Fehlerfall|Details siehe oben]].
  
  
-==== Beispiel ​====+=== Beispiel ===
  
  
-<​code>​GET /​api/​v2/​calculate/​0035/​afs?​pretty_print&​mileage=20000&​year=2010&​month=10&​doors=5&​dealer_price_range=3+<​code>​ 
 +GET /​api/​v2/​calculate/​0035/​afs?​pretty_print&​mileage=20000&​year=2010&​month=10&​doors=5&​dealer_price_range=3
 </​code>​ </​code>​
-<​code>​[+ 
 +<​code>​ 
 +[
     {     {
         "​hsn":​ "​0035",​         "​hsn":​ "​0035",​
Zeile 792: Zeile 942:
         "​degeneration":​ null         "​degeneration":​ null
     }     }
-</​code> ​]+
 +</​code>​
  
dokumentation_der_restful_api_version_2.1490030036.txt.gz · Zuletzt geändert: 2017-03-20 18:13 von Christian