Daten als Webservices für externe System bereitstellen

Mit der Labordatenbank können Sie die in einer Auswertung vordefinierten Datensätze als Webservices für den Aufruf durch externe System bereitstellen.

Ein externe System ruft dazu die URL des Labordatenbank Webservice mit Benutzername und Passwort auf und bekommt als Antwort den Datensatz der Auswertung zurück.





Um eine Auswertung als Webservices für externe System bereitzustellen, gehen Sie unter Auswertung bearbeiten auf "HTTP-Authentifizierung aktivieren" (siehe Abb.) und vergeben einen Benutzername und Passwort für die HTTP-Authentifizierung (Informationen zur HTTP-Authentifizierung).









Sobald der Datenabruf via HTTP-Authentifizierung aktiviert ist, können die Daten von einem externen System unter den folgenden URLs abgerufen werden (wobei das X in der URL mit der Nummer der Auswertung zu ersetzen ist).



  1. Abruf als CSV Datensatz: https://labordatenbank.com/demo/stats/view/X/https

  2. Abruf als JSON Datensatz: https://labordatenbank.com/demo/stats/view/X/https_json

  3. Abruf mit Variablen: https://labordatenbank.com/demo/stats/view/X/https_json/VAR0/VAR1/VAR2/VAR3/VAR4/DATE/




Für die Variable DATE sind folgende Ausprägungen möglich: today, yesterday, last_3_days, this_month, last_month, last_6_month, last_12_month, this_year, last_year



Das Datenformat wird in der Auswertung definiert. Siehe: Auswertung anlegen

Ist ein Transformationscode hinterlegt, so wird das Ergebnis der Transformation übermittelt.


Nachfolgend ein Beispielcode wie der Abruf der Auswertung durch ein externes System realisiert werden könnte:



$url = "https://labordatenbank.com/demo/stats/view/X/https_json";

$username = 'abc';

$password = '***';



// Auswertung abrufen

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");

$json_data = curl_exec($curl);

curl_close($curl);

echo $json_data;




Windows PowerShell Beispielscripte für einen Download eines Datensatzes aus einer Auswertung



Der Support jedweder Skripte gehört nicht zum Standardsupport der Labordatenbank. Die hier enthaltenen Beispiele dienen lediglich zur Hilfestellung und garantieren keinen Erfolg.




Beispiel 1



### Einstellungen ###



$downloadDirectory = ".\download"



$uri = "http://labordatenbank.com/demo/stats/view/1/https_json"

$user = "testuser"

$pass = "testpassword"



#####################



$b64 = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("${user}:$pass"))

$headers = @{

"Authorization" = "Basic $b64"

}



$download = Invoke-WebRequest -Uri $uri -Headers $headers -UseBasicParsing

$content = [System.Net.Mime.ContentDisposition]::new($download.Headers["Content-Disposition"])



$fileName = $content.FileName

$fullPath = Join-Path -Path $downloadDirectory -ChildPath $fileName



Invoke-WebRequest -Uri $uri -Headers $headers -OutFile $fullPath





Beispiel 2



### Einstellungen ###

$downloadDirectory = "XXX"

$uri = "https://labordatenbank.com/XXX/stats/view/XXX/https_json"

$user = "XXX"

$pass = "XXX"



$logFileName = "auswertungen.log"

$fullLogPath = Join-Path -Path $downloadDirectory -ChildPath $logFileName

Start-Transcript "$fullLogPath" -Append





Base64 decoding¶



$b64 = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("${user}:$pass"))

$headers = @{

"Authorization" = "Basic $b64"

}



Download¶



$download = Invoke-RestMethod -Uri $uri -Headers $headers -UseBasicParsing

if($downloadDirectory){

foreach($entry in $download){

$downloadLink = $entry.'Download-Link'

$fileName = $entry.Dateiname

$fullPath = Join-Path -Path $downloadDirectory -ChildPath $fileName



Write-Host "<--- $fileName --->"



if(![System.IO.File]::Exists($fullPath)){

Invoke-WebRequest -Uri $downloadLink -OutFile $fullPath



if($fullPath){

Write-Host "$filename erfolgreich heruntergeladen." -ForegroundColor Green

} else {

Write-Host "Fehler beim download der Datei." -ForegroundColor Red

}



} else {

Write-Host "Die Datei $fileName existiert bereits!" -ForegroundColor Red

}



}



} else {

Write-Host "Der Pfad konnte nicht gefunden werden!" -ForegroundColor Red

}



Stop-Transcript

Letzte Änderung: 16.01.2024

Allgemeines

Einführungsphase

Mitarbeiter

Aufträge

Proben

Probenvorlage

Berichte

Berichtstabellen Editor

Kunden

Kundenzone (optional)

Anlagen

Angebote

Rechnungen

Parameter

Rechnen mit Parametern

Schnittstellen

Webservice

Transformationscode

Prüfpläne / Grenzwerte / Spezifikationen

Dokumentenlenkung

Prüfmittel

Material

Mitarbeiterschulungen

8D-Report

Sonstiges

PDF-Vorlagen

Fragen und Antworten

Lieferantenbewertung

Dateiverwaltung

Auswertungen

Prozesse