OBS/Kostenpflichtige Module/RESTServer/Beispiel1

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


Bei diesem Beispiel werden Daten aus dem Steuerungs-Modul abgerufen und in einer Tabelle auf einer Webseite angezeigt.

Endpunkt-Script

procedure _AddVar(oArr: TJSONArray; cVar: string);
var oWert   : TJSONObject;
    cTitel  : string;
    cData   : string;
    cEinheit: string;
    lString : Boolean;
    lAlign  : Boolean;
begin
    if (ST_Variable(oDB, cVar, cTitel, cData, cEinheit, lString, lAlign)) then begin
        oWert := TJSONObject.Create();
        
        oWert.AddPair('Variable', cVar);
        oWert.AddPair('Titel'   , cTitel);
        oWert.AddPair('Wert'    , cData);
        oWert.AddPair('Einheit' , cEinheit);

        oArr.Add(oWert);
    end;
end;

//------------------------------------------------------------------------------

function Get(oParams: TStrings): string;
var oArr: TJSONArray;
begin
    result := '';

    oArr := TJSONArray.Create();

    _AddVar(oArr, 'WERT_1');
    _AddVar(oArr, 'WERT_2');
    _AddVar(oArr, 'WERT_3');
    _AddVar(oArr, 'WERT_4');

    result := oArr.ToJSON();
end;

PHP-Script

<?php
    $data = [];              // hier könnten Parameter übergeben werden
    $curl = curl_init();
    $url  = '[HOSTADRESSE]:[PORT]/[ENDPUNKT]/v1';
    $url  = sprintf("%s?%s", $url, http_build_query($data));

    $headers = [
        'apikey: [API-KEY]'
    ];

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_TIMEOUT, 2);

    if( $result = curl_exec($curl)) {
        $data = json_decode($result);

        echo "<table><tr><td width='200'></td><td width='150'></td></tr>";

        foreach ($data as $value) {
            echo "<tr><td>".$value->Titel."</td><td>".$value->Wert." ".$value->Einheit."</td></tr>";
        }

        echo "</table>";
    }

    curl_close($curl);
?>