Über die API zum Starten von Formularprozessen im JSON-Format können Sie einen Formular-Workflow-Prozess starten. Diese API verwendet die POST-Methode zum Starten eines Workflow-Prozesses. Die anfänglichen Formulardaten sollten im JSON-Format gesendet werden. Das JSON-Format sollte gültig sein, da beim Speichern der Formulardaten keine Datenvalidierung durchgeführt wird oder Feldregeln ausgeführt werden.
Übersicht über die API
Nachfolgend finden Sie eine Übersicht über die API zum Starten von Formularprozessen im JSON-Format:
-
Sie unterstützt die Funktion „Namensvorlage“. Die Namensvorlage sollte mit der Formularnamensteuerung konfiguriert werden. Die Eigenschaft des Form Name-Steuerelements Run At sollte auf Endgesetzt werden. Beim Aufrufen der Digital Access API sollte das Formularfeld, das der Eigenschaft „Feldname“ des Steuerelements „ Formularname “ zugeordnet ist, leer sein.
-
Der Evolve Benutzer, der als Formularübermittler angegeben ist, muss in der Lösung, für die ein neuer Formularprozess gestartet werden muss, die Rolle Urheber innehaben.
-
Optional kann in der API-Anforderung auch ein Prozessteilnehmer oder Swimlane-Benutzer angegeben werden.
-
Ein Formular-Workflow, der über die API gestartet wird, wird als API-Dokument markiert. Im Falle einer manuellen erneuten Übermittlung gilt das stornierte Prozessdokument weiterhin als API-Dokument. Diese Informationen werden bei der Lizenzabrechnung berücksichtigt.
-
Durch Kopieren eines Formulardokuments wird im System ein neues Dokument erstellt. Das aus einem API-Dokument kopierte Dokument, das über die Web-Benutzeroberfläche gestartet/übermittelt wurde, gilt als Nicht-API-Dokument (d. h. ein manuell übermitteltes Dokument).
Anforderungs- und Antworttext
Zu Beginn eines Formularprozesses über die API mit Formularfeldern im JSON-Format weisen Anforderung und Antwort folgende Struktur auf:
Datenvertrag Anforderung:
Name | Typ | Einschränkung | Beschreibung |
---|---|---|---|
FormFields | Zeichenfolge | - |
|
ParticipantsInfoArray | Array von { “SwimlaneName” : ”abc”, “UserName”: ”xyz” } | - |
Dies sollte der Swimlane-Name sein, der durch angegebene Benutzer aufgelöst wird.
In Fällen, in denen dieser Parameter leer gelassen wird oder keine spezifischen Swimlane-Details bereitgestellt werden, löst die Anwendung diese Swimlanes gemäß dem im Workflow definierten Verhalten auf. Bei der Swimlane vom Typ „Person“ im Formular-Workflow kann der Swimlane-Benutzerwert nicht überschrieben werden, während das Formular über die API gestartet wird. |
Kommentare | Zeichenfolge | - | Kommentare zum Startknoten. |
AppName | Zeichenfolge | Erforderlich | Anwendungsname der „Formularlösung“. |
LibName | Zeichenfolge | Erforderlich | Bibliotheksname der „Formularlösung“. |
TemplateName | Zeichenfolge | Erforderlich | Name der „Formularlösung“. |
UserName | Zeichenfolge | Erforderlich | Benutzername des Benutzers, der als Urheber des Prozesses festgelegt wird. Der Benutzer muss in der Lösung, für die ein neuer Formularprozess gestartet werden muss, die Rolle „Urheber“ innehaben. |
Beispiele für FormFields-Eigenschaftswerte:
Beispiel 1: Das Composer-Formular verfügt über zwei Felder: Product_Name und Product_Description. Der „FormFields“-Eigenschaftswert sollte demnach wie folgt lauten:
FormFields
{"my:myFields": {"my:Product_Name": "","my:Product_Description": ""}}
Beispiel 2: Das Composer-Formular verfügt über drei Felder (Formular-Kopfzeilenfelder) und eine Tabelle mit drei Feldern (drei Spalten). Begrenzte Feldwerte können auch an die API übergeben werden, d. h., der Wert aus zwei Kopfzeilenfeldern und die Tabellenwerte für zwei Tabellenfelder können übergeben werden.
FormFields
{ "my:myFields":{ "my:Product_Name":"test3", "my:Product_Description":"test2", "my:Repeating_Table_9":{ "my:Repeating_Content":[ {"my:TableColumn1":"val1","my:TableColumn2":"100"}, {"my:TableColumn1":"val2","my:TableColumn2":"200"} ]}}}
Datenvertrag Antwort
Name | Typ | Einschränkung | Beschreibung |
---|---|---|---|
ProcessId | Guid | - | Rückgabe-ID des Prozesses. |
FormItemId | Guid | - |
Rückgabe-ID des Formulardokuments. |
Anforderungs- und Antwortbeispiel
Im folgenden Beispiel wird die Verwendung der API veranschaulicht:
Route: http://Precisely.EvolveUrl/svr/api/v1/Processextn/StartFormJsonProcess
Anforderungsnutzlast
{ "AppName":"My APP", "LibName": "Form Process Ext", "TemplateName": "API Product Example", "UserName": "mydomain\\user1", "Comments": "Process from API2", "Formfields": { "my:myFields": { "my:Product_Name": "Evolve", "my:Product_Description": "Evolve Product Description" } }, "ParticipantsInfoArray": [ { "SwimLaneName": "PersonSwimlane", "UsersName": "mydomain\\user1" }, { "SwimLaneName": "TeamSwimlane", "UsersName": "mydomain\\user1,mydomain\\user2" } ] }
Antwortnutzlast
{ "ProcessId": "ea03a42e-7eca-4b5d-af8f-d8e778d75e84", "FormItemId": "fc1f36dd-3302-4217-b052-f0d6246aa0e3" }