Daten an die Labordatenbank senden


Sie können Daten von einem externen System an das Webservice einer Labordatenbank Importschnittstelle senden, um so die Daten in die Labordatenbank zu importieren.
Das externe System sendet die Daten an die URL der Labordatenbank Importschnittstelle mit Benutzername und Passwort und bekommt als Antwort eine Empfangsbestätigung (Statuscode) zurück.


Um Daten von einem externen System an eine Importschnittstelle der Labordatenbank zu senden, gehen Sie unter Importschnittstelle bearbeiten auf "HTTPS Account aktivieren" (siehe Abb.) und vergeben einen Benutzername und Passwort für die HTTP-Authentifizierung (Informationen zur HTTP-Authentifizierung).





Sobald der Import via HTTPS aktiviert ist, können die Daten von einem externen System an die folgende URL gesendet werden (wobei das X in der URL mit der Nummer der Importschnittstelle zu ersetzen ist).

  • URL an welche der Datensatz geschickt wird: https://labordatenbank.com/demo/imports/import/X/0/https

  • Alternativ: URL mit Benutername und Password: https://username:password@labordatenbank.com/demo/imports/import/X/0/https

    Das Datenformat wird in der Importschnittstelle definiert. Siehe: Importschnittstellen Übersicht

    PHP Beispielscript für die Übertragung einer CSV-Datei an die Labordatenbank


    $url = "https://labordatenbank.com/demo/imports/import/X/0/https";
    $username = 'abc';
    $password = '********';

    // Dateiname mit Probenummer
    $post['file'] = new CurlFile('Messdaten.csv');

    // Daten senden
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;


    PHP Beispielscript für die Übertragung von einem Bild an den Parameter einer Probe in der Labordatenbank


    $url = "https://labordatenbank.com/demo/imports/import/X/0/https";
    $username = 'abc';
    $password = '********';

    // Datei mit Probenummer im Dateinamen vorbereiten
    $post['file'] = new CurlFile('P00123.jpg');


    $post['sample_name'] = 'P00123'; // Verlinkung mit einer Probe (alternativ zum Dateinamen)
    $post['description'] = 'Probenabmessungen 13mm x 60mm'; // Beschreibung der Datei
    $post['parametertype_id'] = 123; // Datei zu einem Parameter der Probe hinzufügen
    $post['column'] = 0; // Parameterspalte

    // Daten senden
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;


    Windows PowerShell Beispielscript für die die automatische Übertragung von Dateien aus einem Verzeichnis an die Labordatenbank

    $watchedDirectory = ".\import\"
    

    $writeaction = {
    $moveTo = ".\imported\"

    function Import-File {
    param (
    $filePath,
    $moveTo
    )
    $uri = "https://labordatenbank.com/demo/imports/import/23/0/https"
    $user = "testuser"
    $pass = "testpassword"

    $file = Get-Item($filePath);
    $fileContent = [system.io.file]::readallbytes($filePath);

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

    $boundary = [System.Guid]::NewGuid().ToString()
    $LF = "`r`n"
    $fileEnc = [System.Text.Encoding]::GetEncoding('ISO-8859-1').GetString($fileContent);

    $body = (
    "--$boundary",
    "Content-Disposition: form-data; name=`"file`"; filename=`"$($file.Basename)$($file.Extension)`"",
    "Content-type: image/jpg",
    "",
    $fileEnc,
    "--$boundary"
    )

    $body = $body -join $LF

    try {
    Invoke-RestMethod -Uri $uri -Method POST -Headers $headers -ContentType "multipart/form-data; boundary=`"$boundary`"" -Body $body
    Write-Host "Datei importiert: ", $filePath

    # Soll die Datei nach dem Import verschoben werden?
    Move-Item -Path $filePath -Destination $moveTo
    } catch {
    Write-Host "Fehler beim Import:" $_.Exception.Response.StatusCode.value__
    Write-Host $_.Exception.Response.StatusDescription
    }
    }

    $path = $Event.SourceEventArgs.FullPath

    Import-File $path $moveTo
    }

    $finalPath = Resolve-Path $watchedDirectory

    $filewatcher = New-Object System.IO.FileSystemWatcher
    $filewatcher.Path = $finalPath
    $filewatcher.Filter = "*.*"
    $filewatcher.EnableRaisingEvents = $true

    Unregister-Event -SourceIdentifier "LDB-Watcher" -ErrorAction:SilentlyContinue

    Register-ObjectEvent $filewatcher "Created" -Action $writeaction -SourceIdentifier "LDB-Watcher"

    while ($true) {
    Start-Sleep 5
    }




    Windows PowerShell Beispielscript für die Übertragung von einem Bild an den Parameter einer Probe in der Labordatenbank

    $uri = "https://labordatenbank.com/demo/imports/import/X/0/https"
    

    $user = "abc"
    $pass = "********"

    # Datei mit Probenummer im Dateinamen vorbereiten
    $filePath = Get-Item("./P210049.jpg");
    $file = Get-Item($filePath);
    $fileContent = [system.io.file]::readallbytes($filePath);

    # Optionale Parameter
    $bodyParameter = @{
    # Verlinkung mit einer Probe (alternativ zum Dateinamen)
    "sample_name" = "210052";
    # Beschreibung der Datei
    "description" = "Probenabmessungen 13mm x 60mm";
    # Datei zu einem Parameter der Probe hinzufügen
    "parametertype_id" = 123456;
    # Parameterspalte
    "column" = 0;
    }

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

    $boundary = [System.Guid]::NewGuid().ToString()
    $LF = "`r`n"
    $fileEnc = [System.Text.Encoding]::GetEncoding('ISO-8859-1').GetString($fileContent);

    $body = (
    "--$boundary",
    "Content-Disposition: form-data; name=`"file`"; filename=`"$($file.Basename)$($file.Extension)`"",
    "Content-type: image/jpg",
    "",
    $fileEnc,
    "--$boundary"
    )

    foreach($parameter in $bodyParameter.Keys) {
    $body += "Content-Disposition: form-data; name=`"$parameter`"$LF"
    $body += $bodyParameter.Item($parameter)
    $body += "--$boundary"
    }

    $body = $body -join $LF

    Invoke-RestMethod -Uri $uri -Method POST -Headers $headers -ContentType "multipart/form-data; boundary=`"$boundary`"" -Body $body

  • Allgemeines

    Einf?hrungsphase

    Mitarbeiter

    Auftr?ge

    Proben

    Probenvorlage

    Berichte

    Berichtstabellen Editor

    ADM

    Kunden

    Kundenzone (optional)

    Anlagen

    Angebote

    Rechnungen

    Parameter

    Rechnen mit Parametern

    Schnittstellen

    Webservice

    Pr?fpl?ne / Grenzwerte / Spezifikationen

    Dokumentenlenkung

    Pr?fmittel

    Material

    Mitarbeiterschulungen

    8D-Report

    Sonstiges

    Fragen und Antworten

    Lieferantenbewertung

    Dateiverwaltung

    Auswertungen