Aufgaben abfragen
Sie können eine andere Anwendung zur Planung Ihrer Inspektionen verwenden. Wenn Sie offline sind, möchten Sie den aktuellen Stand der Aufgaben von iCL Filler abrufen.
Nehmen wir an, wir wissen, dass in iCL Filler bereits mehrere Aufgaben existieren, die zu einer Bestellung PO_1234
gehören. Da Sie jede dieser Aufgaben mit einer Beschreibung von PO_1234
markiert haben, können Sie nun ganz einfach den aktuellen Status
(0..neu, 1..zugewiesen, 2..aktiv, 3..abgeschlossen, 4..storniert) und ihre ExternalId
(die eindeutige Kennung, die Sie ihnen zugewiesen haben) abfragen.
Die Url hat das folgende Format:
https://filler.opti-q.com/api/tasks?$filter=<some-filter>&$orderby=<some-sort>&$select=<fields-to-return>&responseUlr=<response-URL>
Um beispielsweise die ExternalId
und den State
der ersten 2 Aufgaben abzurufen, die eine Beschreibung haben, die PO_1234
enthält, und sie nach ihrer ExternalId
zu ordnen, würde die Url wie folgt aussehen:
https://filler.opti-q.com/api/tasks?$filter=startswith(Description,'PO_12345')&$inlinecount=allpages&$orderby=ExternalId+asc&$top=30&$skip=0&$select=ExternalId,State&responseUrl=myexternalapp%3A%2F%2Fsomedomain%3Fresult%3D__response__"
Verfügbare Felder
Name | Typ | Beschreibung |
---|---|---|
Id | text | die eindeutige ID der Aufgabe |
ExternalId | text | die externe ID/Referenz |
Titel | Text | der Titel, der dem Benutzer angezeigt wird |
WorkbookId | text | eindeutige Identität der Arbeitsmappe |
WorkbookDefinitionId | text | Vorlagen-ID der Arbeitsmappe (ändert sich nicht zwischen Versionen) |
WorkbookVersionCode | text | die Versionsnummer der Arbeitsmappe |
AssignedUserId | text | die Kennung des Benutzers, dem diese Aufgabe zugewiesen ist |
Description | text | eine Beschreibung der Aufgabe, die dem Benutzer angezeigt wird |
StartDate | text | wann die Aufgabe gestartet werden kann |
DueDate | text | das Fälligkeitsdatum für die Aufgabe. |
Status | number | 0..new, 1..assigned, 2..active, 3..completed, 4..cancelled |
IsSelfAssingnable | boolean | true, wenn jeder Benutzer aus dem Team diese Aufgabe annehmen kann, false, wenn nur der zugewiesene Benutzer dies kann |
WorkAreaId | text | die eindeutige ID des Teams, zu dem diese Aufgabe gehört |
LastModificationTime | date | das letzte Mal, dass diese Aufgabe geändert wurde (UTC) |
LastModifierUserId | number | die Identität des letzten Benutzers, der die Aufgabe geändert hat |
CreationTime | date | die Zeit, zu der diese Aufgabe erstellt wurde |
CreatorUserId | number | die Identität des Benutzers, der die Aufgabe erstellt hat |
Completed | date | der Zeitpunkt, zu dem der Benutzer/Inspektor die Aufgabe abgeschlossen hat (Achtung, dies ist nicht das Sendedatum, das angibt, wann die endgültigen Berichte nach Abschluss der Aufgabe erstellt wurden) |
Umgang mit Antworten
Beachten Sie, dass der wichtigste Parameter die ResponseUrl
ist. Dies muss der url-kodierte Deep Link zu Ihrer externen App sein. Ohne ihn weiß iCL Filler nicht, wohin er die Ergebnisse senden soll.
Die Antwort-URL sollte einen Platzhalter namens __response__
für die Antwortdaten angeben, damit iCL Filler weiß, wie er sie bereitstellen soll.
myexternalapp://<some-funny-name-here>?<some-parameter-name>=__response__
iCL Filler findet dann einfach __response__
und ersetzt es durch die url-kodierte JSON-Antwort.
Wenn kein Platzhalter gefunden wird, wird die Antwort einfach an die Antwort-URL angehängt:
myexternalapp://<some-funny-name-here>?response=<url-encoded-JSON-response-data>
Wenn unsere Abfrage erfolgreich ausgeführt wurde, sieht das resultierende JSON-Dokument wie folgt aus:
{
"result":{
"__count":1441,
"results":[
{"ExternalId":"{6bcb7276-8339-42d0-8bac-96a1cfdfa96a}", "State": 1}
{"ExternalId":"{43678ca2-ea73-4938-af04-95646eec7e93}", "State": 2}
]
}
}
Wie Sie sehen können, enthält sie die Daten von 2 Aufgaben (da wir in der URL $top=2
angegeben haben).
Außerdem zeigt das Feld __count
an, wie viele Aufgaben insgesamt mit Ihrer Anfrage übereinstimmen.
Im Falle eines Fehlers enthält das resultierende Dokument nur die Fehlermeldung:
{
"error": " there was an error xyz"
}
Wenn Sie das Android SDK auf Ihrem Computer installiert haben und den Entwicklermodus auf Ihrem Gerät eingerichtet haben, können Sie die ADB-Befehlsshell verwenden, um diese Funktion zu testen. Starten Sie dazu einfach ADB und führen Sie den Befehl wie folgt aus:
adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "https://filler.opti-q.com/api/tasks?\$filter=startswith(Description,'PO_12345')\&$inlinecount=allpages\&$orderby=ExternalId+asc\&$top=30\&$skip=0\&$select=ExternalId,State\&responseUrl=myexternalapp%3A%2F%2Fsomedomain%3Fresult%3D__response__""
Beachten Sie, dass wir die Sonderzeichen $ und & mit einem Backslash \ entschlüsseln mussten, da dies von der ADB verlangt wird.
Unter UWP speichern Sie Ihren Link einfach in OneNote und öffnen ihn von dort. iCL Filler UWP sollte dann starten und Ihren Link verarbeiten.