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