Sicherheitsprüfungen
In der Datei run_channelmanager_result.php sind grundlegende Sicherheitsprüfungen implementiert. Es wird ein Portal-Token überprüft, um sicherzustellen, dass nur autorisierte Benutzer auf die API zugreifen können. Zudem gibt es Einschränkungen bezüglich der API-Nutzung, wie etwa die maximale Anzahl an Zugriffen pro Stunde und Minute. Es sind keine spezifischen IP-Filter oder andere Sicherheitsmaßnahmen dokumentiert.
API-Calls Dokumentation
Fetch Stations
Endpoint: GET /run_channelmanager_result.php?call=fetchstations&portal={portal}
Beschreibung: Gibt eine Liste von verfügbaren Stationen zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
portal | Integer | Ja | Kundennummer des Portals | 71 |
Relations
Endpoint: GET /run_channelmanager_result.php?call=relations&portal={portal}&station_id={station_id}&date={date}&zielstation_id={zielstation_id}&hidePrice={hidePrice}&hideRueckfahrt={hideRueckfahrt}&lhf_id={lhf_id}&linie_id={linie_id}
Beschreibung: Liefert die Fahrplandaten und Verbindungen zwischen zwei Stationen zu einem bestimmten Datum.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
portal | Integer | Ja | Kundennummer des Portals | 71 |
station_id | Integer | Ja | ID der Startstation | 1 |
date | String | Ja | Datum im Format YYYY-MM-DD | 2023-10-01 |
zielstation_id | Integer | Ja | ID der Zielstation | 2 |
hidePrice | Boolean | Nein | true oder false | false |
hideRueckfahrt | Boolean | Nein | true oder false | false |
lhf_id | Integer | Nein | ID des Linien-Hafen-Eintrags | 3 |
linie_id | Integer | Nein | ID der Linie | 5 |
Availability
Endpoint: GET /run_channelmanager_result.php?call=availability&portal={portal}&product={product}&start={start}&stop={stop}
Beschreibung: Überprüft die Verfügbarkeit für ein Produkt über einen bestimmten Zeitraum.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
portal | Integer | Ja | Kundennummer des Portals | 71 |
product | String | Ja | Produkt-ID | 12345 |
start | String | Ja | Startdatum im Format YYYY-MM-DD HH:MM:SS | 2023-10-01 10:00:00 |
stop | String | Ja | Enddatum im Format YYYY-MM-DD HH:MM:SS | 2023-10-01 12:00:00 |
Cancel
Endpoint: GET /run_channelmanager_result.php?call=cancel&portal={portal}&booking_reference={booking_reference}
Beschreibung: Storniert eine bestehende Reservierung basierend auf der Buchungsreferenz.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
portal | Integer | Ja | Kundennummer des Portals | 71 |
booking_reference | Integer | Ja | Referenznummer der Buchung | 123456 |
Booking
Endpoint: POST /run_channelmanager_result.php?call=booking
Beschreibung: Erstellt eine neue Buchung und gibt die Buchungsdetails zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
product | String | Ja | Produkt-ID | 12345 |
customer | String | Ja | Name des Kunden | Max Mustermann |
customer_first_name | String | Ja | Vorname des Kunden | Max |
email | String | Ja | E-Mail-Adresse des Kunden | max@mustermann.de |
phone | String | Nein | Telefonnummer des Kunden | 0123456789 |
date | String | Ja | Datum der Buchung im Format YYYY-MM-DD | 2023-10-01 |
ticket | Array | Ja | Liste der Tickets mit Typ und Anzahl | [{"id":1,"type":1,"quantity":2}] |
Default Response
Endpoint: GET /run_channelmanager_result.php
Beschreibung: Gibt eine Standardantwort zurück, wenn kein spezifischer API-Call erkannt wird.
Parameter:
Keine spezifischen Parameter erforderlich.
Zusammenfassung
Die oben genannten API-Calls ermöglichen es Benutzern, Informationen über Stationen abzurufen, Fahrplandaten zu erhalten, Verfügbarkeiten zu überprüfen, Buchungen zu stornieren und neue Buchungen zu erstellen. Jeder Call hat spezifische Parameter, die für die korrekte Ausführung erforderlich sind.
Sicherheitsprüfungen
In der Datei run_fahrplan_ausgabe.php wird ein Zugriffsschutz implementiert. Es wird geprüft, ob die IP-Adresse des Clients in einer zugelassenen Liste vorhanden ist. Wenn nicht, wird der Zugriff verweigert. Zudem gibt es eine Session-Überprüfung, die sicherstellt, dass nicht authentifizierte Benutzer nur eingeschränkten Zugriff haben. Weitere Sicherheitsmaßnahmen wie Token-Überprüfung oder IP-Filter sind nicht explizit erwähnt.
API-Calls
Eventkalender
Endpoint: run_fahrplan_ausgabe.php?aktion=eventcalendar
Beschreibung: Dieser Call generiert einen Kalender für Ereignisse, die mit bestimmten Linien- und Hafen-IDs verknüpft sind. Er ermöglicht das Abrufen von Fahrplänen für einen bestimmten Zeitraum und gibt diese in einem Kalenderformat zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
linie_typ_id | String | Ja | IDs der Linientypen, die angezeigt werden sollen. | 1,2,3 |
datum | String | Nein | Ein Datum im deutschen Format (z. B. dd.mm.yyyy). | 15.03.2023 |
extra_months | Integer | Nein | Anzahl der Monate, die zum Datum addiert oder subtrahiert werden sollen. | 2 |
use_station_id | Integer | Nein | ID der Station, die verwendet werden soll. | 5 |
newwindow | Boolean | Nein | true oder false | true |
godirect | Boolean | Nein | true oder false | false |
target | String | Nein | Ziel-URL für Links. | someTarget |
Fahrtsuche
Endpoint: run_fahrplan_ausgabe.php?aktion=fahrtsuche
Beschreibung: Dieser Call sucht nach verfügbaren Fahrten basierend auf den eingegebenen Kriterien und gibt eine Liste der gefundenen Fahrten zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
station_id | Integer | Ja | ID der Abfahrtsstation. | 1 |
start | String | Ja | Startdatum im deutschen Format (z. B. dd.mm.yyyy). | 15.03.2023 |
zeitraum | Integer | Ja | Zeitraum in Tagen. | 5 |
linientyp_id | Integer | Ja | ID des Linientyps. | 2 |
Listenkategorien
Endpoint: run_fahrplan_ausgabe.php?aktion=listcategories
Beschreibung: Dieser Call gibt eine Liste von Kategorien zurück, die für die Linien und deren Fahrten relevant sind.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
start | Integer | Nein | Ein Datum, ab dem die Kategorien angezeigt werden sollen. | 1672537600 (Unix-Timestamp) |
max | Integer | Nein | Gibt an, ob die maximale Anzahl der angezeigten Kategorien begrenzt werden soll. | 10 |
station_id | Integer | Ja | ID der Station. | 3 |
Verkehrstage
Endpoint: run_fahrplan_ausgabe.php?aktion=verkehrstage
Beschreibung: Dieser Call ermittelt die Verkehrstage für die angegebene Linie und den Zeitraum.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
hafen_id | Integer | Ja | ID des Hafens. | 4 |
datum_start | String | Ja | Startdatum im deutschen Format (z. B. dd.mm.yyyy). | 01.03.2023 |
datum_stop | String | Ja | Enddatum im deutschen Format (z. B. dd.mm.yyyy). | 31.03.2023 |
linien_ids | String | Ja | Komma-separierte Liste von Linien-IDs. | 1,2,3 |
Finden
Endpoint: run_fahrplan_ausgabe.php?aktion=finden
Beschreibung: Dieser Call sucht nach Fahrten basierend auf verschiedenen Kriterien und gibt die Ergebnisse zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
linien_ids | String | Ja | Komma-separierte Liste von Linien-IDs. | 1,2,3 |
linie_typ_id | Integer | Nein | ID des Linientyps. | 1 |
start_datum | String | Ja | Ein Datum im deutschen Format (z. B. dd.mm.yyyy). | 15.03.2023 |
Verkehrstage (Modus)
Endpoint: run_fahrplan_ausgabe.php?modus=verkehrstage
Beschreibung: Dieser Call gibt die Verkehrstage für die angegebene Linie zurück, basierend auf dem Modus.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
linien_ids | String | Ja | Komma-separierte Liste von Linien-IDs. | 1,2,3 |
start_datum | String | Ja | Ein Datum im deutschen Format (z. B. dd.mm.yyyy). | 15.03.2023 |
end_datum | String | Ja | Ein Datum im deutschen Format (z. B. dd.mm.yyyy). | 15.04.2023 |
Fazit
Die Datei enthält mehrere API-Calls, die es ermöglichen, verschiedene Informationen über Fahrpläne und Linien abzufragen. Jeder Call hat spezifische Parameter, die für die korrekte Funktion notwendig sind. Die hier dokumentierten API-Calls sind für die Nutzung durch externe Systeme oder Anwendungen konzipiert.
Sicherheitsprüfungen
In der Datei xml_v1.php sind Sicherheitsprüfungen implementiert, die den Zugriff auf bestimmte API-Calls basierend auf Tokens und Benutzeranmeldungen steuern. Es wird überprüft, ob das übergebene Token gültig ist und ob der Benutzer angemeldet ist. Gültige Tokens sind erforderlich, um auf die meisten API-Calls zugreifen zu können. Es gibt keine spezifischen IP-Filter oder Einschränkungen hinsichtlich erlaubter IP-Bereiche, die im Code sichtbar sind.
API-Call Dokumentation
Hintergrundbild abrufen
Endpoint: GET /xml_v1.php?aktion=background_image
Beschreibung: Gibt die URL des Hintergrundbildes zurück. Wenn das Bild nicht existiert, wird ein Standardbild zurückgegeben.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Buchungen für die iOS KundenApp abrufen
Endpoint: GET /xml_v1.php?aktion=getBuchungen&kundennummer=123&email=test@example.com
Beschreibung: Gibt die Buchungen eines bestimmten Benutzers zurück, identifiziert durch die Kundennummer und die E-Mail-Adresse.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
kundennummer | Integer | Ja | Positive ganze Zahlen | 123 |
email | String | Ja | E-Mail-Adressen | test@example.com |
Allgemeiner Zugriffsschutz
Endpoint: GET /xml_v1.php (allgemeiner Zugriffsschutz)
Beschreibung: Überprüft die Gültigkeit des Tokens für den Zugriff auf die API. Wenn das Token ungültig ist, wird ein Fehler zurückgegeben.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
token | String | Ja | Gültige Tokens | abc123 |
Live-Kapazität prüfen
Endpoint: GET /xml_v1.php?aktion=checkLiveCapacity&datum=2023-10-01&hafen_id=1&linie_hafen_fahrplan_id=2
Beschreibung: Prüft die Verfügbarkeit für einen bestimmten Termin und Hafen.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
datum | String | Ja | Datumsangaben im Format YYYY-MM-DD | 2023-10-01 |
hafen_id | Integer | Ja | Positive ganze Zahlen | 1 |
linie_hafen_fahrplan_id | Integer | Ja | Positive ganze Zahlen | 2 |
Benutzeranmeldung
Endpoint: POST /xml_v1.php?aktion=login
Beschreibung: Authentifiziert einen Benutzer und gibt die Benutzerdaten zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
name | String | Optional, je nach Authentifizierungsmethode | Benutzername | MaxMustermann |
email | String | Optional, je nach Authentifizierungsmethode | E-Mail-Adresse | max@example.com |
benutzername | String | Optional, je nach Authentifizierungsmethode | Benutzername | MaxM |
passwort | String | Ja | Passwort | mypassword123 |
Buchung stornieren
Endpoint: GET /xml_v1.php?aktion=storno&reservierung_id=1
Beschreibung: Storniert eine Buchung anhand der Reservierungs-ID.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
reservierung_id | Integer | Ja | Positive ganze Zahlen | 1 |
Zahlungsmethoden abrufen
Endpoint: GET /xml_v1.php?aktion=getZahlarten
Beschreibung: Gibt die verfügbaren Zahlungsmethoden zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Gutscheinwert prüfen
Endpoint: GET /xml_v1.php?aktion=checkGutscheinValue&gutscheincode=ABC123&reservierung_id=1
Beschreibung: Überprüft den Wert eines Gutscheins anhand des Gutscheincodes und der Reservierungs-ID.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
gutscheincode | String | Ja | Gutscheincodes | ABC123 |
reservierung_id | Integer | Ja | Positive ganze Zahlen | 1 |
Tickets abrufen
Endpoint: GET /xml_v1.php?aktion=getTickets&datum_start=2023-10-01&datum_stop=2023-10-31
Beschreibung: Gibt alle Tickets innerhalb eines bestimmten Zeitraums zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
datum_start | String | Ja | Datumsangaben im Format YYYY-MM-DD | 2023-10-01 |
datum_stop | String | Ja | Datumsangaben im Format YYYY-MM-DD | 2023-10-31 |
Artikel abrufen
Endpoint: GET /xml_v1.php?aktion=getArtikel&kategorie_id=1&online=true
Beschreibung: Gibt die Artikel aus einer bestimmten Kategorie zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
kategorie_id | Integer | Optional | Positive ganze Zahlen | 1 |
online | String | Optional | true oder false | true |
Verkehrstage abrufen
Endpoint: GET /xml_v1.php?aktion=verkehrstage&linie_id=1
Beschreibung: Gibt alle Verkehrstage für eine bestimmte Linie zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
linie_id | Integer | Ja | Positive ganze Zahlen | 1 |
Reservierung einfügen
Endpoint: POST /xml_v1.php?aktion=insertReserveration
Beschreibung: Fügt eine neue Reservierung hinzu.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
data | JSON (Array) | Ja | Enthält alle erforderlichen Reservierungsdaten | {"linie_id":1,"hafen_id":2,"zielhafen_id":3,"buchungscode":"XYZ123"} |
Bitte beachten Sie, dass einige API-Calls aufgrund von Ausnahmen nicht dokumentiert wurden.
API-Dokumentation für xml_v2.php
Sicherheitsprüfungen
Der Zugriff auf die API ist durch Token-Überprüfung gesichert. Tokens werden sowohl über GET- als auch POST-Anfragen akzeptiert. Die Authentifizierung erfolgt durch Überprüfung der Token gegen vordefinierte globale Einstellungen. Es gibt keine spezifischen IP-Filter oder Einschränkungen bezüglich erlaubter IP-Bereiche.
API-Calls
Abrufen der Chartertypen
Endpoint: GET /xml_v2.php?call=purp
Beschreibung: Gibt eine Liste der verfügbaren Chartertypen zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Abrufen der Standorte
Endpoint: GET /xml_v2.php?call=locations
Beschreibung: Gibt eine Liste der verfügbaren Standorte zurück, einschließlich deren Region und Betreiber-IDs.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Abrufen der Ressourcen
Endpoint: GET /xml_v2.php?call=ressources
Beschreibung: Gibt eine Liste der verfügbaren Ressourcen (Schiffe) zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Platzreservierung
Endpoint: GET /xml_v2.php?call=place
Beschreibung: Reserviert einen Platz mit den angegebenen Parametern.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
typ_id | Integer | Pflicht | ID des Reservierungstyps | 1 |
remarks | String | optional | Freitext für Anmerkungen | "Sonderwunsch" |
station_id | Integer | Pflicht | ID des Abfahrtsortes | 5 |
resource_id | Integer | Pflicht | ID der Ressource (Schiff) | 10 |
start | String | Pflicht | Startdatum und -uhrzeit | "2023-04-22 10:00:00" |
stop | String | Pflicht | Enddatum und -uhrzeit | "2023-04-22 12:00:00" |
Artikelprüfung
Endpoint: GET /xml_v2.php?call=checkItem
Beschreibung: Überprüft die Gültigkeit eines Artikels anhand eines Barcodes.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
barcode | String | Pflicht | Barcode des Artikels | "123456-7890" |
Stornierung einer Reservierung
Endpoint: GET /xml_v2.php?call=cancel
Beschreibung: Storniert eine Reservierung anhand der Vorgangsnummer.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
vorgang_nr | Integer | Pflicht | ID der Reservierung | 12345 |
remarks | String | optional | Freitext für Anmerkungen | "Stornierung auf Kundenwunsch" |
Abrufen der Preistypen
Endpoint: GET /xml_v2.php?call=getPriceTypes
Beschreibung: Gibt eine Liste der verfügbaren Preistypen zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
Keine. | - | - | - | - |
Abrufen der Produkt-Keys
Endpoint: GET /xml_v2.php?call=getProductKeys
Beschreibung: Gibt die Produkt-Keys für den angegebenen Portal zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
portal | Integer | Pflicht | ID des Portals | 1 |
Abrufen von Bewertungen
Endpoint: GET /xml_v2.php?call=ratings
Beschreibung: Gibt die Bewertungen für eine bestimmte Linie zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
linie_id | Integer | Pflicht | ID der Linie | 2 |
Abrufen von Kundeninformationen
Endpoint: GET /xml_v2.php?call=getCustomer
Beschreibung: Gibt eine Liste von Kunden basierend auf dem Kundentyp zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
customer_category | String | Pflicht | Kommagetrennte Liste von Kundentyp-IDs | "1,2,3" |
Abrufen von Buchungen
Endpoint: GET /xml_v2.php?call=getBookings
Beschreibung: Gibt eine Liste von Buchungen für ein bestimmtes Datum zurück.
Parameter:
| Name | Datentyp | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
date | String | Pflicht | Datum im Format yyyy-mm-dd | "2023-04-22" |
Diese Dokumentation bietet einen Überblick über die API-Calls in der Datei xml_v2.php. Jeder Call hat spezifische Parameter und Funktionen, die es ermöglichen, verschiedene Informationen abzufragen oder Aktionen durchzuführen.