OBS/Kostenpflichtige Module/RESTServer/Scripting

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Kostenpflichtige Module

ZUGFeRD
UPS
IMS Professional
SMS
Mehrlager-Verwaltung
Mehrsprachen Modul
Multilanguage Modul
EVA Marketing Tool
Termin-Projekte
Edifact-Schnittstelle
Backup Überwachung Email
OBS Geo Daten
DeliSprint / DPD
Filialen
Cashback
Moebelschnittstelle
Dokumenten Manager
DocuWare-Schnittstelle
OFML-Kalkulation
Versicherungsschaden
Gutschriftsanzeigen
Kameraverwaltung
DataInOut


Anleitung für Endpunkt-Scripte

Anfragen an einen Endpunkt werden (nach erfolgreicher Authentifizierung und Authorisierung) an das hinterlegte Script weitergegeben und müssen dort beantwortet werden. Gibt es einen Fehler oder wird die Anfrage nicht korrekt bearbeitet wird ein Fehlercode (HTML-Fehlercode) zurückgegeben.

Sicherheit

Da hier ein Zugriff von außen ermöglicht wird ist es sehr wichtig, dass Übergabeparameter niemals zur direkten Datenmanipulation genutzt werden. Bei der Entwicklung von Endpunkt-Scripten muss stehts dieser Aspekt bedacht werden!

Methoden

Die folgenden Einsprungs-Methoden sind vorgegeben und müssen nach Bedarf implementiert werden:

function Get(oParams: TStrings): string;
begin
    [...]
end;
function Post(oParams: TStrings): string;
begin
    [...]
end;
function Delete(oParams: TStrings): string;
begin
    [...]
end;

Parameter

Alle übergebenen Parameter werden in der Liste "oParams" übergbeben und sind immer im Format "string".

Beispiel für den Zugriff:

if (not empty(oParams.Values['parameter_name'])) then begin
    cWert := oParams.Values['parameter_name'];
end;

Rückgabe

Die Rückgabe erfolgt ausschließlich im JSON-Format.

Hier ein simples Beispiel für eine Antwort:

{
    "Wert_string": "123",
    "Wert_int": 456
}

Hier der dafür nötige Code:

function Get(oParams: TStrings): string;
var oRes: TJSONObject;
begin
    oRes := TJSONObject.Create();
    oRes.AddPair('Wert_string', '123');
    oRes.AddPair('Wert_int', 456);

    result := oRes.ToJSON();
end;

Wird durch das Script keine Antwort erzeugt, wird automatisch eine leere JSON-Antwort zurückgegben:

{}