フォーム Json プロセス API の開始を使用すると、フォーム ワークフロー プロセスを開始できます。この API は、POST メソッドを使用してワークフロー プロセスを開始します。初期フォーム データは、JSON 形式で送信する必要があります。フォーム データを保存するときには、データ検証は実施されず、フィールド ルールは実行されないため、有効な JSON フォームでなければなりません。
API の概要
以下は、フォーム Json プロセス API の開始の概要です。
-
名前テンプレート機能をサポートしています。名前テンプレートは、フォーム名コントロールで構成する必要があります。フォーム名コントロールの Run At のプロパティは Endに設定する必要があります。Digital Access API の呼び出し中、 フォーム名 コントロールのフィールド名プロパティにマップされたフォーム フィールドは空である必要があります。
-
フォーム 送信者として指定されている Evolve ユーザーは、開始する必要のある新しいフォーム プロセスのソリューションに対する作成元の役割を持っている必要があります。
-
オプションとして、プロセス参加者またはスイム レーン ユーザーも、API リクエストで指定できます。
-
API から開始されたフォーム ワークフローが API ドキュメントとしてタグ付けされ、手動で再送信された場合、キャンセルされたプロセス ドキュメントは引き続き API ドキュメントと見なされます。この情報は、ライセンス課金の対象になります。
-
フォーム ドキュメントをコピーすると、システムに新しいドキュメントが作成されます。API ドキュメントからコピーされ、Web UI から手動で開始/送信されたドキュメントは、非 API ドキュメントと見なされます (つまり、手動送信ドキュメント)。
リクエストとレスポンスの本文
JSON 形式で FormFields により API を介してフォーム プロセスを開始する場合、リクエストの構造と応答は次のようになります。
リクエスト データ コントラクト:
名前 | タイプ | 制限 | 説明 |
---|---|---|---|
Formfields | 文字列 | - |
|
ParticipantsInfoArray | { “SwimlaneName” : ”abc”, “UserName”: ”xyz” } の Jarray | - |
これはスイム レーン名である必要があり、特定のユーザーで解決する必要があります。
このパラメーターが空白のままであるか、特定のスイム レーンの詳細が提供されていない場合、アプリケーションはワークフローで定義された動作に従ってこれらのスイム レーンを解決します。 フォーム ワークフローの個人タイプ スイム レーンの場合は、API を介してフォームを開始するときに、スイム レーン ユーザー値を上書きすることはできません。 |
コメント | 文字列 | - | 開始ノードへのコメント。 |
AppName | 文字列 | 必須 | 「フォーム ソリューション」のアプリ名。 |
LibName | 文字列 | 必須 | 「フォーム ソリューション」のライブラリ名。 |
TemplateName | 文字列 | 必須 | 「フォーム ソリューション」の名前。 |
UserName | 文字列 | 必須 | プロセス作成元として設定されるユーザーのユーザー名。ユーザーは、開始する必要のある新しいフォーム プロセスのソリューションに対する作成元の役割を持っている必要があります。 |
FormFields プロパティ値の例:
例1: 作成者フォームには、「Product_Name」と「Product_Description 」の 2 つのフィールドがあるため、プロパティ「FormFields」の値は次のようになります。
Formfields
{"my:myFields": {"my:Product_Name": "","my:Product_Description": ""}}
例2: 作成者フォームには 3 つのフィールド (フォーム ヘッダー フィールド) と 3 つのフィールド (3 つの列) を持つテーブルがあります。限定的なフィールド値を API に渡すこともできます。つまり、2 つのヘッダー フィールド値、および 2 つのテーブル フィールドのテーブル値を渡すことができます。
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"} ]}}}
レスポンス データ コントラクト
名前 | タイプ | 制限 | 説明 |
---|---|---|---|
processId | Guid | - | プロセスの ID を返します。 |
FormItemId | Guid | - |
フォーム ドキュメントのリターン ID。 |
リクエストとレスポンスのサンプル
次のサンプルは、API の使用方法を示しています。
ルート: http://Winshuttle.EvolveUrl/svr/api/v1/Processextn/StartFormJsonProcess
ペイロードのリクエスト
{ "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" } ] }
ペイロードのレスポンス
{ "ProcessId": "ea03a42e-7eca-4b5d-af8f-d8e778d75e84", "FormItemId": "fc1f36dd-3302-4217-b052-f0d6246aa0e3" }