API Übersicht
geschützte Endpunkte (nur für PHP-Entwicklung und Diagnose)
Diese Endpunkte sind nur lokal erreichbar. Also z.B. von PHP-Scripten auf dem selben Server.
/base64toblob [Localhost only]
/delete [Localhost only]
/execsql [Localhost only]
/execute [Localhost only]
/filetoblob [Localhost only]
/getparams* [No Auth] [Localhost only]
/getparams/dbonly [No Auth] [Localhost only]
/insert [Localhost only]
/registrierung/checkusernamelocal [No Auth] [Localhost only]
/registrierung/insertregistrierunglocal [No Auth] [Localhost only]
/select [Localhost only]
/select/withblob [Localhost only]
/tablestructure [Localhost only]
/update [Localhost only]
/users/getuserlocal [No Auth] [Localhost only]
ADRESSEN Daten-Endpunkt
/adressen/deleteadressen
/adressen/deletekategorie
/adressen/deletezusatztabelle
/adressen/getadressen
/adressen/getadressenbyid
/adressen/getadressenfiltered
/adressen/getadressenkey
/adressen/getcodestabelle
/adressen/getcodestabellebyid
/adressen/getcodestabellefiltered
/adressen/getjoin
/adressen/getkategoriebyid
/adressen/getkategorien
/adressen/getkonfiguration
/adressen/getkonfigurationbyid
/adressen/getkonfigurationfiltered
/adressen/getzusatztabelle
/adressen/getzusatztabellebyid
/adressen/getzusatztabellefiltered
/adressen/getzusatztabellekey
/adressen/insertadressen
/adressen/insertkategorie
/adressen/insertzusatztabelle
/adressen/updateadressen
/adressen/updatekategorie
/adressen/updatezusatztabelle
ANMIET Daten-Endpunkt
/anmiet/deleteanmiet
/anmiet/deletefundsachen
/anmiet/deletetransfehr
/anmiet/demo
/anmiet/getanmiet
/anmiet/getanmietbyid
/anmiet/getanmietfiltered
/anmiet/getanmietkey
/anmiet/getfundsachen
/anmiet/getfundsachenbyid
/anmiet/getfundsachenfiltered
/anmiet/getfundsachenkey
/anmiet/gettransfehr
/anmiet/gettransfehrbyid
/anmiet/gettransfehrfiltered
/anmiet/gettransfehrkey
/anmiet/insertanmiet
/anmiet/insertfundsachen
/anmiet/insertfundsachenmitbildern
/anmiet/inserttransfehr
/anmiet/updateanmiet
/anmiet/updatefundsachen
/anmiet/updatetransfehr
DISPO Daten-Endpunkt
/dispo/deleteeinsatz
/dispo/deletefahrtablauf
/dispo/deletefis_log
/dispo/deletepersonalstamm
/dispo/deleteurlaubsantrag
/dispo/demo
/dispo/getdispo
/dispo/getdispobyid
/dispo/getdispofiltered
/dispo/geteinsatz
/dispo/geteinsatzarten
/dispo/geteinsatzbyid
/dispo/geteinsatzfiltered
/dispo/getfahrergruppen
/dispo/getfahrtablauf
/dispo/getfahrtablaufbyid
/dispo/getfahrtablauffiltered
/dispo/getfahrtablaufkey
/dispo/getfis_log
/dispo/getfis_logbyid
/dispo/getfis_logfiltered
/dispo/getfis_logkey
/dispo/getFreiesPersonal
/dispo/getliniewegeobjekte
/dispo/getliniewegeobjektebyid
/dispo/getliniewegeobjektefiltered
/dispo/getnextEinsatzkey
/dispo/getpersonalstamm
/dispo/getpersonalstammfiltered
/dispo/geturlaubsantrag
/dispo/geturlaubsantragbyid
/dispo/geturlaubsantragfiltered
/dispo/geturlaubsantragkey
/dispo/getzeitraum
/dispo/getzeitraumbyid
/dispo/getzeitraumfiltered
/dispo/inserteinsatz
/dispo/insertfahrtablauf
/dispo/insertfis_log
/dispo/inserturlaubsantrag
/dispo/updateeinsatz
/dispo/updatefahrtablauf
/dispo/updatefis_log
/dispo/updatepersonalstamm
/dispo/updateurlaubsantrag
DOKUMENTE Daten-Endpunkt
/dokumente/deletet_bildtext
/dokumente/deletevorlagen
/dokumente/demo
/dokumente/getbildtextbyid
/dokumente/getbildtextfiltered
/dokumente/gett_bildtext
/dokumente/gett_bildtextbyid
/dokumente/gett_bildtextfiltered
/dokumente/getvorlagen
/dokumente/getvorlagenbyid
/dokumente/getvorlagenfiltered
/dokumente/getvorlagenkey
/dokumente/insertt_bildtext
/dokumente/insertvorlagen
/dokumente/updatet_bildtext
/dokumente/updatevorlagen
/dokumente/uploaddokument
FIBU Daten-Endpunkt
/fibu/deletebruttolohn
/fibu/deletedevisenkasse
/fibu/deletefibu
/fibu/deletegutschein
/fibu/demo
/fibu/getbruttolohn
/fibu/getbruttolohnbyid
/fibu/getbruttolohnfiltered
/fibu/getbruttolohnkey
/fibu/getdevisenkasse
/fibu/getdevisenkassebyid
/fibu/getdevisenkassefiltered
/fibu/getdevisenkassekey
/fibu/getfibu
/fibu/getfibubyid
/fibu/getfibufiltered
/fibu/getfibukey
/fibu/getgutschein
/fibu/getgutscheinbyid
/fibu/getgutscheinfiltered
/fibu/getgutscheinkey
/fibu/getkonten
/fibu/getkontenbyid
/fibu/getkontenfiltered
/fibu/getlohnart
/fibu/getlohnartbyid
/fibu/getlohnartfiltered
/fibu/insertbruttolohn
/fibu/insertdevisenkasse
/fibu/insertfibu
/fibu/insertgutschein
/fibu/updatebruttolohn
/fibu/updatedevisenkasse
/fibu/updatefibu
/fibu/updategutschein
FUHRPARK Daten-Endpunkt
/fuhrpark/deleteauslandfahrt
/fuhrpark/deletefahrtenbuch
/fuhrpark/deletefahrzeug
/fuhrpark/deleterepvorgang
/fuhrpark/deletetankung
/fuhrpark/demo
/fuhrpark/getauslandfahrt
/fuhrpark/getauslandfahrtbyid
/fuhrpark/getauslandfahrtfiltered
/fuhrpark/getauslandfahrtkey
/fuhrpark/getfahrtenbuch
/fuhrpark/getfahrtenbuchbyid
/fuhrpark/getfahrtenbuchfiltered
/fuhrpark/getfahrtenbuchkey
/fuhrpark/getfahrzeug
/fuhrpark/getfahrzeugbyid
/fuhrpark/getfahrzeugfiltered
/fuhrpark/getland
/fuhrpark/getlandbyid
/fuhrpark/getlandfiltered
/fuhrpark/getrepvorgang
/fuhrpark/getrepvorgangbyid
/fuhrpark/getrepvorgangfiltered
/fuhrpark/getrepvorgangkey
/fuhrpark/gettankung
/fuhrpark/gettankungbyid
/fuhrpark/gettankungfiltered
/fuhrpark/gettankungkey
/fuhrpark/insertauslandfahrt
/fuhrpark/insertfahrtenbuch
/fuhrpark/insertrepvorgang
/fuhrpark/inserttankung
/fuhrpark/updateauslandfahrt
/fuhrpark/updatefahrtenbuch
/fuhrpark/updatefahrzeug
/fuhrpark/updaterepvorgang
/fuhrpark/updatetankung
INCOMING Daten-Endpunkt
/incoming/deletet_teilnehmer
/incoming/demo
/incoming/gett_teilnehmer
/incoming/gett_teilnehmerbyid
/incoming/gett_teilnehmerfiltered
/incoming/gett_teilnehmernextnr
/incoming/insertt_teilnehmer
/incoming/updatet_teilnehmer
PUBLIC Daten-Endpunkt
/public/adresse/abschliessen [No Auth]
/public/getadresse [No Auth]
/public/setpasswort [No Auth]
/public/updateadresse [No Auth]
REGISTRIERUNG Daten-Endpunkt
/registrierung/deleteregistrierung
/registrierung/getregistrierung
/registrierung/getregistrierungbyid
/registrierung/getregistrierungfiltered
/registrierung/getregistrierungkey
/registrierung/insertregistrierung
/registrierung/updateregistrierung
SCHUELERVERKEHR Daten-Endpunkt
/schuelerverkehr/demo
/schuelerverkehr/getsv_teilnehmer
/schuelerverkehr/getsv_teilnehmerbyid
/schuelerverkehr/getsv_teilnehmerfiltered
TOUPAC Daten-Endpunkt
/toupac/deletef_fahrtauftrag
/toupac/deletet_kalender
/toupac/deletet_leistung
/toupac/deletet_ltraeger
/toupac/deletet_reiseleistungen
/toupac/deletet_termine
/toupac/deletet_vorgang
/toupac/demo
/toupac/getf_fahrtauftrag
/toupac/getf_fahrtauftragbyid
/toupac/getf_fahrtauftragfiltered
/toupac/getf_fahrtauftragkey
/toupac/gett_kalender
/toupac/gett_kalenderbyid
/toupac/gett_kalenderfiltered
/toupac/gett_kalenderkey
/toupac/gett_katalogreise
/toupac/gett_katalogreisebyid
/toupac/gett_katalogreisefiltered
/toupac/gett_katalogreisekey
/toupac/gett_leistung
/toupac/gett_leistungbyid
/toupac/gett_leistungfiltered
/toupac/gett_leistungkey
/toupac/gett_ltraeger
/toupac/gett_ltraegerbyid
/toupac/gett_ltraegerfiltered
/toupac/gett_ltraegerkey
/toupac/gett_positionen
/toupac/gett_positionenbyid
/toupac/gett_positionenfiltered
/toupac/gett_reise
/toupac/gett_reisebyid
/toupac/gett_reisefiltered
/toupac/gett_reisekey
/toupac/gett_reiseleistungen
/toupac/gett_reiseleistungenbyid
/toupac/gett_reiseleistungenfiltered
/toupac/gett_reiseleistungenkey
/toupac/gett_termine
/toupac/gett_terminebyid
/toupac/gett_terminefiltered
/toupac/gett_terminekey
/toupac/gett_ticketdaten
/toupac/gett_ticketdatenbyid
/toupac/gett_ticketdatenfiltered
/toupac/gett_vorgang
/toupac/gett_vorgangbyid
/toupac/gett_vorgangfiltered
/toupac/gett_vorgangkey
/toupac/insertf_fahrtauftrag
/toupac/insertt_kalender
/toupac/insertt_katalogreise
/toupac/insertt_leistung
/toupac/insertt_ltraeger
/toupac/insertt_reise
/toupac/insertt_reiseleistungen
/toupac/insertt_termine
/toupac/insertt_vorgang
/toupac/updatef_fahrtauftrag
/toupac/updatet_kalender
/toupac/updatet_katalogreise
/toupac/updatet_leistung
/toupac/updatet_ltraeger
/toupac/updatet_reise
/toupac/updatet_reiseleistungen
/toupac/updatet_termine
/toupac/updatet_vorgang
TOURISTIK Daten-Endpunkt
/touristik/demo
Sonstige Endpunkte
/adddemo
/adddemopersonal
/calculatedistance
/calculateroute
/getdokument
/getfirmenstamm
/getgeneratorvalue
/ki_getteilnehmer
/print
/readteilnehmer
/showroute [No Auth]
/teilnehmerfromcsv
/travelroute [No Auth]
/login
/login?user=benutzername&password=passwort
POST, GET
Führt eine Anmeldung durch und liefert ein JWT-TOKEN zurück
POST
Request: {"user":"*benutzername*","password":"*passwort*"}
Response: JSON
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3ZWJtb2R1bGUtZGVtbyIsInN1YiI6Ik1XIiwiaWF0IjoxNzYxNTcy....."}
Im Fehlerfall: Statuscode 401
{"status":"error", "message":"Benutzername oder Passwort sind falsch"}
geschützte Endpunkte:
/getparams
POST, GET
Listet alle Parameter des Apache-Servers inklusive der Verbindungsparameter der datenbank auf
Hilfreich bei der Entwicklung. Kann mit beliebigen Request-Paremtern augferufen werden
Datenabfrage SQL
/select
POST
Führt eine SQL-SELECT Abfrage durch.
(OPEN)Request: Bodytext (Beispiel)
{"sql":"Select from adressen where name2 like :name2 order by kennziffer desc ","params":{"name2":"May%"}}
Response: JSON
Header mit Felddefinitionen und dem Array aller angefragten Datensätze. (leeres Array wenn keine Datensätze)
Hinweis : Feldtypen beziehen sich auf die Konstanten "Data.DB.TFieldType".
ACHTUNG:Die Max. Länge befindet sich nur bei ftstring am Ende mit einem Leerzeichen getrennt!
Beispiel:
{
"header": {"nr": "ftinteger", "betrieb": "ftstring 8", "bezeichnung": "ftstring 80" },
"data":
[
{"nr": 17, "betrieb": "A5", "bezeichnung": "Betrieb A5"},
{"nr": 18, "betrieb": "A6", "bezeichnung": "Betrieb A6"}
]
}
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
/select/withblob
POST
Führt eine SQL-SELECT Abfrage durch und liefert das Ergebnis von BLOB-Feldern in Codierung
BASE64.
Per Default liefert "select" ohne "withblob" bei einem Blobfeld lediglich das Wort "BLOB" wenn das Feld einen Inhalt hat.
Alles weitere siehe oben (select)
/execsql
POST
Führt eine SQL-SELECT Abfrage durch.
(ExecSQL)Request: Bodytext (Beispiel)
{"sql":"Select from adressen where name2 like :name2 order by kennziffer desc ","params":{"name2":"May%"}}
Response: JSON
Ein Array aller angefragten Datensätze
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
UPDATE
/update?table=tabellenname&key=Feldname Primärschlüssel
POST
Ändert einen bestehenden Datensatz
ACHTUNG: Es dürfen KEINE Blobfelder im JSON angegeben werden! (siehe /filetoblob bzw. /base64toblob)Request: Bodytext (Beispiel)
{
"nr": 17,
"betrieb": "A5",
"bezeichnung": "NIX"
}
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
/filetoblob?table=tabellenname&keyfield=Feldname Primärschlüssel&keyvalue=Wert des Primärschlüssel&blobfield=Feldname Blobfeld
POST
Lädt eine Datei in ein Blobfeld (Dateiupload). Der Datensatz muss bereits existieren
Es ist nur der Upload einer einzelnen Datei Möglich.
Wichtig: Der Request muss "form-data" (gültiger Dateiupload) codiert sein!
URL-Beispiel:
/filetoblob?table=bildtext&keyfield=nr&keyvalue=3&blobfield=bild
Im Fehlerfall: Statuscode 400 (Datenbankerror) bzw. 500 Uploaderror)
{
"status": "error",
"message": "Der Grund des Fehlers""
}
INSERT
/insert?table=tabellenname
POST
Fügt einen neuen Datensatz ein.
ACHTUNG: Es dürfen KEINE Blobfelder im JSON angegeben werden! (siehe /filetoblob bzw. /base64toblob)Request: Bodytext (Beispiel)
{
"nr":"1000",
"ZIEL":"timbucktu",
"reisenr":"880",
"reisevon":"01.01.2026",
"reisebis":"06.01.2026",
"pauschfaktor":"1"
}
Response: JSON,
{
"status": "OK",
"keyname": "NR",
"keyvalue": "53"
}
keyname: Der Name des Primärschlüssels
keyvalue: Der Wert den der neue Datensatz im Primärschlüssel hat.
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
DELETE
/delete?table=tabellenname
POST
Löscht einen oder mehrerer Datensätze
Request: Bodytext (Beispiel)
{"nr": 16 }
Es ist möglich, mehrere Felder im JSON einzutragen. Diese werden dann zu einem Filter mit AND verknüpft
ACHTUNG: Es dürfen KEINE Blobfelder im JSON angegeben werden! (Eine Filter auf ein Blobfeld löst im INTERBASE einen Fehler aus)Response: JSON,
{
"status": "OK"
}
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
SQL-Ausführen
/exec
POST
Führt eine SQL-Anweisung aus (ExecSQL). Wichtig: Die SQL-Anweisung darf KEINE Ergebnismenge zurückliefern
Request: Bodytext (Beispiel)
{"sql":"update adressen set name1='Hulda' where name2=:name2","params":{"name2":"Mayer"}}
Folgendes würde einen Fehler produzieren (Weil Ergebnismenge) :
{"sql":" Select from adressen where name2 like :name2 order by kennziffer desc ","params":{"name2":"May%"}}
Im Fehlerfall: Statuscode 400
{
"status": "error",
"message": "Der Grund des Fehlers""
}
Datenbank-/ TabellenInfo
/tablestructure?table=tabellenname
POST
1. Gibt den Namen des Primärschlüssel-Feldes an.
2. Listet die detailierten Feldeigenschaften einer Tabelle auf.
Folgende Informationen werden für jedes Tabellenfeld zurückgeliefert:
primarykey : Namen des Primärschlüssel-Feldes
field_name : Der Feldname
field_type : Feldtyp (Feldtypen beziehen sich auf die Konstanten "Data.DB.TFieldType")
max_length : Max Länge (bei ftstring)
not_null : NULL erlaubt (true oder false)
default_value : Defaultwert
Beispiel der Ausgabe:
{
"primarykey": "nr",
"fields": [
{
"field_name": "nr",
"field_type": "ftinteger",
"max_length": null,
"not_null": true,
"default_value": null
},
{
"field_name": "bezeichnung",
"field_type": "ftfixedchar",
"max_length": 80,
"not_null": null,
"default_value": null
}
]
}