Please enable JavaScript to view this site.

Das Handbuch für den JobRouter Entwickler

Möchten Sie die Schritte ermitteln, die aktuell für den authentifizierten Benutzer zur Bearbeitung vorliegen, stehen Ihnen folgende GET-Routen zur Verfügung:

/application/workitems/inbox – Listet Schritte in der allgemeinen Eingangsbox auf

/application/workitems/start – Listet verfügbare Startschritte auf

/application/workitems/completed – Listet bereits bearbeitete Schritte auf

/application/workitems/substitution Listet Schritte auf, die der Benutzer als Vertreter bearbeiten darf

/application/workitems/:processName/:version/:inboxId Listet Schritte auf, die in der angegebenen Prozesseingangsbox liegen. Dabei werden der Prozessname als Parameter processName, die Prozessversion als Parameter version und die ID der Box als Parameter inboxId angegeben.

Die Antwort ist im JSON-Format und beinhaltet die Eigenschaften der einzelnen Schritte. Welche Eigenschaften in der jeweiligen Box angezeigt werden, entnehmen Sie dem Workflow-Design-Handbuch. Es werden nicht alle Schritte auf einmal zurückgegeben, sondern nur soviele, wie in der Einstellung Anzahl Zeilen in JobRouter konfiguriert ist. Mit Angabe der Seitennummer als GET-Parameter, können Sie weitere Schritte ermitteln (z. B. .../inbox?page=2).

{

    "meta": {

        "pagination": {

            "total": 62,

            "from": 0,

            "to": 25,

            "page": 1,

            "pageCount": 3,

            "limit": 25

        }

    },

    "workitems": [

        {

            "jrincident": "134",

            "jrindate": "2017-09-03T14:36:15+02:00",

            "jrsteplabel": "Archiviertes Dokument anzeigen",

            "jrprocessname": "archiveDocument",

            "jrworkflowid": "4c057f28ebc1740d5334bff12ddfe8870000000005",

            "jrlastuser": "jdoe",

            "jrurl": "/jobrouter/index.php?cmd=DirectOpen&workflowid=4c...",

            ... weitere Eigenschaften ...

        },

        ... weitere Schritte in der Box ...

    ]

}

Beispiel: Schritte der Eingangsbox ermitteln

guzzlehttp

// Benutzer wurde bereits authentifiziert

 

try {

 

    $response = $client->request('GET', 'application/workitems/inbox);

 

    $body = json_decode($response->getBody(), true);

 

    echo "Anzahl Schritte in der Eingangsbox: ";

    echo $body['meta']['pagination']['total'] . "\n\n";

 

    foreach ($body['workitems'] as $item) {

        echo "Prozessname: " . $item['jrprocessname'] . "\n";

        echo "Schrittbezeichnung: " . $item['jrsteplabel'] . "\n";

        echo "Workflow-ID: " . $item['jrworkflowid'] . "\n\n";

    }

} catch (Exception $e) {

    echo "Fehler beim Ausführen: " . $e->getMessage() . "\n";

}

 

// Benutzer-Session beenden

cURL

// Benutzer wurde bereits authentifiziert

 

curl_setopt($curlHandle, CURLOPT_URL,

    'http://example.org/jobrouter/api/rest/v2/application/workitems/inbox');

curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, 'GET');

curl_setopt($curlHandle, CURLOPT_COOKIEFILE, 'path/to/cooke/file.cookie');

 

$response = curl_exec($curlHandle);

$statusCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);

 

curl_close();

 

if ($statusCode == 200) {

    $boxData = json_decode($response, true);

    echo "Anzahl Schritte in der Eingangsbox: ";

    echo $boxData['meta']['pagination']['total'] . "\n\n";

 

    foreach ($boxData['workitems'] as $item) {

        echo "Prozessname: " . $item['jrprocessname'] . "\n";

        echo "Schrittbezeichnung: " . $item['jrsteplabel'] . "\n";

        echo "Workflow-ID: " . $item['jrworkflowid'] . "\n\n";

    }

} else {

    echo "Fehler beim Ausführen:  Code - " . $statusCode . ", ";

    echo "Response: " . var_export($response, true);

}

 

// Benutzer-Session beenden