Conflicts:
	README.md
This commit is contained in:
Fred 2014-01-22 08:47:38 +01:00
commit fc5e632801
2 changed files with 294 additions and 32 deletions

326
README.md
View file

@ -1,4 +1,4 @@
Dokumentation für die oebbApi
Dokumentation für die oebbApi - PHP
==========
@ -12,9 +12,9 @@ Allgemeines
**Was müssen ich beachten?**
**Was muss ich beachten?**
* Der Code bzw. die API ist nicht von einem Profi, sondern von einem Lehrling im ersten Lehrjahr programmiert worden. Deswegen bitte ich um ausschließlich konstruktive Kritik.
* Zu jeder Funktion gibt es auch ein Beispiel. Siehe PDF.
* Es gelten die Allgemeinen Geschäftsbedingungen und die Nutzungsbedingungen von [oebb.at](http://oebb.at). [http://www.oebb.at/de/Nutzungsbedingungen/index.jsp](http://www.oebb.at/de/Nutzungsbedingungen/index.jsp)
* Es wird keine Haftung übernommen! Sie sind für ihr Handeln selbst verantwortlich. Der Rechtsweg ist ausgeschlossen!
@ -23,88 +23,191 @@ Allgemeines
Wenn Sie etwas für einen Lehrling in ersten Lehrjahr spenden möchten, dann können Sie das über diese Links tun. :)
[Flattr](https://flattr.com/profile/internetztube)
[PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TKFLMZMXM3Z64)
[Flattr](https://flattr.com/profile/internetztube) [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TKFLMZMXM3Z64)
Station validieren - validate()
-----------
**Wissenwertes**
1. Es ist zu beachten, dass bei einem Aufruf mehrere Stationen zurückkommen können.
2. Für den weiteren Vorgang wird ausschließlich der name („value“) benötigt.
**Useage**
**Parameter**
| Name | Typ | Beschreibung | Zwingend benötigt |
| ---- | ------ | ---------------- | ----------------- |
| name | string | Name der Station | X |
| ---- | ------ | ---------------- | ----------------: |
| name | string | Name der Station | Ja |
**Rückgabewerte**
| Name | Typ | Beschreibung | Wird benötigt |
<<<<<<< HEAD
| ----- | ------ | --------------------------- | ------------- |
| value | string | Gültiger Name der Station | X |
| id | int | Irgend eine ÖBB Stations ID | |
=======
| ----- | ------ | --------------------------- | ------------: |
| value | string | Gültiger Name der Station | Ja |
| id | int | Irgend eine ÖBB Stations ID | Nein |
>>>>>>> cada5275f155639e1f29bab8507bc144f6722a62
***Beispiel***
```php
<?php
header('Content-type: text/html; charset=utf-8');
require_once "oebbApi.php";
$api = new oebbApi();
var_dump($api->validate("St. Pölten"));
```
```
array(1) {
[0]=>
array(2) {
["value"]=>
string(10) "ST.PÖLTEN"
["id"]=>
string(9) "001130201"
}
}
```
Verbindung suchen - get()
-----------
**Wissenwertes**
1. Die Stations-Namen können leicht abgeändert eigegeben werden. Aus „St. Pölten“ wird „St.Pölten Hbf“
2. Wenn die Parameter „date“, „time“ nicht verwendet oder mit NULL angegeben werden, wird automatisch das aktuelle Datum bzw. Zeit verwendet.
3. Die „id“ ist für die Verwendung der Funktionen „getDetails“ und in Folge „getCoords“ essenziell.
4. Wenn Sie drei Verbindungen in der Vergangenheit (relativ zur ersten Verbindung) möchten, dann verwenden Sie „earlier“ als Anfangszeit und fügen Sie zu „amount“ drei dazu.Wenn Sie drei Verbindungen weiter in der Zukunft möchten, dann lassen die Anfangszeit gleich und erhöhen Sie einfach „amount“ um 3.
**Useage**
**Parameter**
| Name | Typ | Beschreibung | Zwingend benötigt |
| --------- | ------ | ------------------------ | ----------------- |
| departure | string | Name der Abfahrtsstation | X |
| arrival | string | Name der Ankunftsstation | X |
| amount | int | Anzahl der Verbindungen | X |
| --------- | ------ | ------------------------ | ----------------: |
| departure | string | Name der Abfahrtsstation | Ja |
| arrival | string | Name der Ankunftsstation | Ja |
| amount | int | Anzahl der Verbindungen | Ja |
**Rückgabewerte**
| Name | Typ | Beschreibung | Wird benötigt |
| ------------ | ------ | --------------------------------------------- | ------------- |
| startStation | string | Name der Abfahrtsstation | |
| endStation | string | Name der Ankunftsstation | |
| startDate | string | Abfahrtsdatum, wichtig bei Nachtzügen | |
| endDate | string | Ankunftsdatum | |
| startTime | string | Abfahrtszeit | |
| endTime | string | Ankunftszeit | |
| duration | string | Fahrtdauer | |
| changes | int | Umstiege | |
| buyLink | string | Kauflink zur Verbindung | |
| changesLink | string | Link zur Verbindung auf oebb.at | |
| products | array | Alle Verkehrsmittel mit Bezeichnung und Bild | |
| prognose | string | BETA, Verspätungen | |
| id | int | Nummer der Verbindung der Anfrage | |
| earlier | string | Siehe oben. | |
| ------------ | ------ | --------------------------------------------- | ------------: |
| startStation | string | Name der Abfahrtsstation | Nein |
| endStation | string | Name der Ankunftsstation | Nein |
| startDate | string | Abfahrtsdatum, wichtig bei Nachtzügen | Nein |
| endDate | string | Ankunftsdatum | Nein |
| startTime | string | Abfahrtszeit | Nein |
| endTime | string | Ankunftszeit | Nein |
| duration | string | Fahrtdauer | Nein |
| changes | int | Umstiege | Nein |
| buyLink | string | Kauflink zur Verbindung | Nein |
| changesLink | string | Link zur Verbindung auf oebb.at | Nein |
| products | array | Alle Verkehrsmittel mit Bezeichnung und Bild | Nein |
| prognose | string | BETA, Verspätungen | Nein |
| id | int | Nummer der Verbindung der Anfrage | Nein |
| earlier | string | Siehe oben. | Nein |
***Beispiel***
```php
<?php
header('Content-type: text/html; charset=utf-8');
require_once "oebbApi.php";
$api = new oebbApi();
$connections = $api->get("St. Pölten", "Linz", 1);
var_dump($connections);
```
```
array(1) {
[0]=>
array(14) {
["startStation"]=>
string(14) "St.Pölten Hbf"
["endStation"]=>
string(14) "Linz/Donau Hbf"
["startDate"]=>
string(10) "16.01.2014"
["endDate"]=>
string(10) "16.01.2014"
["startTime"]=>
string(5) "19:56"
["endTime"]=>
string(5) "20:45"
["duration"]=>
string(4) "0:49"
["changes"]=>
int(0)
["buyLink"]=>
string(127) "https://ticketing.oebb.at/inet/pub/ticket?outwardDateTime=2014-01-16T19%3A56&stationOrigEva=001130201&stationDestEva=001140101&"
["changesLink"]=>
string(347) "http://fahrplan.oebb.at/bin/query.exe/dn?ld=19&seqnr=1&ident=ed.04333180.1389897270&GO_conViewMode=outward&HWAI=CONNECTION$C0-0!id=C0-0!HwaiConId=C0-0!HwaiDetailStatus=details!HwaiMoreDetailStatus=none!HwaiAdditionalInformation=none!HwaiConnectionNumber=1!;~CONNECTION$C0-0!HwaiMapStatus=UNDEFINED!HwaiMapNumber=UNDEFINED!HwaiMapSlider=UNDEFINED!;"
["products"]=>
array(1) {
[0]=>
array(2) {
["name"]=>
string(6) "RJ 764"
["img"]=>
string(46) "http://fahrplan.oebb.at/img/vs_oebb/rj_pic.gif"
}
}
["prognose"]=>
string(0) ""
["id"]=>
int(0)
["earlier"]=>
string(5) "18:56"
}
}
```
Details einer Verbindung - getDetails()
-----------
**Wissenwertes**
1. Von der Funktion „getDetails“ bekommen Sie die essenziellen Infos einer spezifischen Verbindung.
2. Für den Aufruf benötigen Sie lediglich die „id“ der Verbindung. Diese „id“ bekommen Sie von der Funktion „get“ zurück.
3. Funktioniert nur bei einer erfolgreich ausgeführten Suche (get).
**Useage**
**Parameter**
| Name | Typ | Beschreibung | Zwingend benötigt |
| ---- | --- | -------------------------------------------- | ----------------- |
| id | int | Index der spezifischen Verbindung. Siehe get | X |
| ---- | --- | -------------------------------------------- | ----------------: |
| id | int | Index der spezifischen Verbindung. Siehe get | Ja |
**Rückgabewerte**
<<<<<<< HEAD
| Array | Name | Typ | Beschreibung | Beschreibung |
| ----- | ----------- | --- | ------------ | ------------ |
| start | | | | |
@ -138,6 +241,165 @@ data
productImg (string) Dazugehöriges Bild zum Produkt oebb.at
productUrl (string) Übersicht für die Linie. NULL Bug
duration (string) Fahrzeit der Verbindung
=======
**Rückgabewerte**
| Array | Name | Typ | Beschreibung | Wird benötigt |
| ----- | ----------- | ------ | -------------------------------------- | ------------: |
| start | | | | |
| | station | string | Name der Einstiegs Station | Nein |
| | time | string | Abfahrtszeit von der Station | Nein |
| | plattform | string | Bahnsteig an der Station | Nein |
| | date | string | Abfahrtsdatum | Nein |
| | prognose | string | Aktuelle Zeit, if n.a = string(0) | Nein |
| end | | | | |
| | station | string | Name der Ausstiegs Station | Nein |
| | time | string | Ankunftszeit an der Station | Nein |
| | plattform | string | Bahnsteig an der Station | Nein |
| | date | string | Ankunftsdatum | Nein |
| | prognose | string | Aktuelle Zeit, if n.a = string(0) | Nein |
| data | | | | |
| | productName | string | Produktname, z.B RJ, ICE, BUS | Nein |
| | productImg | string | Dazugehöriges Bild zum Produkt oebb.at | Nein |
| | productUrl | string | ersicht für die Linie. NULL Bug | Nein |
| | duration | string | Fahrzeit der Verbindung | Nein |
***Beispiel***
```php
<?php
header('Content-type: text/html; charset=utf-8');
require_once "oebbApi.php";
$api = new oebbApi();
var_dump($api->getDetails(0));
```
```
array(1) {
[0]=>
array(3) {
["start"]=>
array(5) {
["station"]=>
string(17) "St.Pölten Hbf"
["time"]=>
string(6) " 19:56"
["plattform"]=>
string(1) "5"
["date"]=>
string(10) "16.01.2014"
["prognose"]=>
string(10) "pünktlich"
}
["end"]=>
array(5) {
["station"]=>
string(18) "Linz/Donau Hbf"
["time"]=>
string(6) " 20:45"
["plattform"]=>
string(4) "6A-C"
["date"]=>
string(10) "16.01.2014"
["prognose"]=>
string(10) "pünktlich"
}
["data"]=>
array(4) {
["productName"]=>
string(6) "RJ 764"
["productImg"]=>
string(46) "http://fahrplan.oebb.at/img/vs_oebb/rj_pic.gif"
["productUrl"]=>
string(221) "http://fahrplan.oebb.at/bin/traininfo.exe/dn/618567/292343/760906/174264/181?ld=19&seqnr=3&ident=ed.04333180.1389897270&date=16.01.2014&station_evaId=8100008&station_type=dep&journeyStartIdx=5&journeyEndIdx=9&backLink=tp&"
["duration"]=>
string(5) "06:12"
}
}
}
```
Koordinaten einer ganzen Verbindung - getCoords()
-----------
>>>>>>> cada5275f155639e1f29bab8507bc144f6722a62
**Wissenwertes**
1. Es muss erfolgreich die Funktion „ getDetails“ aufgerufen werden.
2. Es ist zu beachten, dass diese Funktionen noch in manchen Fällen komische Ergebnisse zurückliefen kann. Es wird bereits daran gearbeitet.
3. Jede Verbindung ist in einem Array zurück.
**Parameter**
Sie müssen nur die Funktion „getDetails“ mit der jeweiligen Verwundung aufrufen, dann bekommen Sie die Koordinaten dieser Verbindung.
**Rückgabewerte**
| Name | Typ | Beschreibung | Wird benötigt |
| -------- | ------ | -------------------------------------- | ------------: |
| name | string | Stations-Name | Nein |
| xcoord | string | x-Koordinate | Nein |
| ycoord | string | y-Koordinate | Nein |
| realName | string | Debugging Name | Nein |
***Beispiel***
```php
<?php
header('Content-type: text/html; charset=utf-8');
require_once "oebbApi.php";
$api = new oebbApi();
var_dump($api->getCoords());
```
```array
array(1) {
[0]=>
array(2) {
[0]=>
array(4) {
["name"]=>
string(14) "St.Pölten Hbf"
["xcoord"]=>
string(8) "15623800"
["ycoord"]=>
string(8) "48208331"
["realName"]=>
string(13) "St.Plten Hbf"
}
[1]=>
array(4) {
["name"]=>
string(14) "Linz/Donau Hbf"
["xcoord"]=>
string(8) "14291814"
["ycoord"]=>
string(8) "48290150"
["realName"]=>
string(14) "Linz/Donau Hbf"
}
}
}
```
**Erstellt von Fred.**
[internetz2tb@gmail.com](mailto:internetz2tb@gmail.com)
[http://twitter.com/InternetzTube](http://twitter.com/InternetzTube)

Binary file not shown.