1. 使用上の注意
1.1 HTTP URL の組み立てルール
現在はアプリレベルの API に対応しています。アプリ内(クロスアプリも対応)で、以下の形式で該当 API にアクセスできます。2. ワークフローインスタンス
2.1 ワークフロー起動
- API: /v1/process/startInstance.json
- HTTP メソッド: POST
- パラメータ
- 戻り値:
- 戻り値
textField_kkm9o5cd です。
②. プレミアム表示ページを作成し、ボタンをページ上にドラッグしてデータソースを追加します。
このページ内で一意でわかりやすい名前を入力し、業務ニーズに合わせて HTTP URL を入力します。この例では、ボタンをクリックするとワークフローを起動したいので、HTTP URL は /alibaba/web/APP_D45S78OXJSL51QTQVHT8/v1/process/startInstance.json となります。ここで APP_D45S78OXJSL51QTQVHT8 は一意のアプリ識別子です。ご自身のアプリの一意識別子に置き換えてください。HTTP メソッドは POST を選択してください。
③. ボタンに onClick イベントを追加し、<> アイコンをクリックしてリモートデータソースをボタンに紐付けます:
参照: https://developers.aliwork.com/docs/api/about
以下のようにバインドコードを記述します。ここでは一行テキストのフォームコントロール(一意識別子: textField_kkm9o5cd)に固定値 123 を入力しています。
formUuid および processCode パラメータは、[アプリ設定] – [アプリデータ] – [XX ワークフロー] にあるフォーム ID とワークフローコードから取得できます。
da5ed25c-977b-40e0-acff-4a1c07aa6f41 はワークフローインスタンス ID で、このワークフローインスタンスを一意に識別します。
⑥. 続いて、対応するワークフローのデータ管理ページに移動します。先ほど起動したワークフローが見つかり、一行テキストのコンテンツはコードで入力した固定値 123 になっています。すべてのテストと検証は完了です。
- 動画解説
2.2 条件によるワークフローインスタンス ID の検索
- API: /v1/process/getInstanceIds.json
- HTTP メソッド: GET
- 権限:ワークフローにインスタンスの閲覧権限が設定されている必要があります(管理者は対象外)
- パラメータ
- 戻り値
2.3 検索条件によるインスタンス詳細リストの取得
- API: /v1/process/getInstances.json
- HTTP メソッド: GET
- 権限:ワークフローにインスタンスの閲覧権限が設定されている必要があります(管理者は対象外)
- パラメータ
- 戻り値
2.4 インスタンス ID によるワークフローインスタンス詳細の取得
- API: /v1/process/getInstanceById.json
- HTTP メソッド: GET
- パラメータ
- 戻り値
2.5 ワークフローインスタンスの削除
- API: /v1/process/deleteInstance.json
- HTTP メソッド: POST
- パラメータ
- 戻り値
2.6 ワークフローインスタンスの中止
- API: /v1/process/terminateInstance.json
- HTTP メソッド: POST
- パラメータ
- 戻り値
2.7 インスタンス ID による複数ワークフローインスタンス詳細の一括取得[未公開]
- API: /v1/process/getInstancesByIds.json
- HTTP メソッド: GET
- パラメータ
- 戻り値
2.7 単一タスクの実行 API
- API: /v1/task/executeTask.json
- HTTP メソッド: POST
- パラメータ
- 戻り値
2.8 承認記録の取得
- API: /v1/process/getOperationRecords.json
- HTTP メソッド: GET
- パラメータ
- 戻り値
- 戻り値フォーマット
2.9 ワークフローインスタンスの更新
- API: /v1/process/updateInstance.json
- HTTP メソッド: POST
- パラメータ
- 戻り値:
- 戻り値デモ
2.8 ワークフロー設計ノードのボタンリスト取得[未公開]
- API: /v1/process/getActivityButtonVOs.json
- HTTP メソッド: GET
- パラメータ
- 戻り値:
- 戻り値デモ:
3. フォームインスタンス
3.1 フォームインスタンスの作成
- API: /v1/form/saveFormData.json
- HTTP メソッド: POST
- パラメータ:
- 戻り値:
- 戻り値デモ:
3.2 フォーム内の指定コンポーネント値の更新
- API: /v1/form/updateFormData.json
- HTTP メソッド: POST
- パラメータ:
- 戻り値:
- 戻り値デモ
3.3 フォームインスタンスの削除
- API: /v1/form/deleteFormData.json
- HTTP メソッド: POST
- パラメータ:
- 戻り値:
- 戻り値デモ
3.4 フォームインスタンス ID によるフォームインスタンス詳細の取得
- API: /v1/form/getFormDataById.json
- HTTP メソッド: GET
- パラメータ:
- 戻り値
3.5 条件によるフォームインスタンス ID リストの検索
- API: /v1/form/searchFormDataIds.json
- HTTP メソッド: GET
- 権限:この API はページレベルの権限に従います(管理者は対象外)。
- パラメータ:
- 戻り値
- 戻り値デモ:
3.6 条件によるフォームインスタンス詳細リストの検索
- API: /v1/form/searchFormDatas.json
- HTTP メソッド: GET
- 権限:この API はページレベルの権限に従います(管理者は対象外)。
- パラメータ
- 戻り値
3.7 フォーム定義の取得
- API: /v1/form/getFormComponentDefinationList.json
- HTTP メソッド: GET
- パラメータ:
- 戻り値:
- 戻り値フォーマット
3.8 サブフォームデータの取得
- API: /v1/form/listTableDataByFormInstIdAndTableId.json
- HTTP メソッド: GET
- パラメータ
- 戻り値
- 戻り値フォーマット
4. タスクセンター
4.1 送信済みタスク
- API: /v1/process/getMySubmitInApp.json
- HTTP メソッド: GET
- パラメータ
- 戻り値:
- 戻り値フォーマット
4.2 未処理タスク
- API: /v1/task/getTodoTasksInApp.json
- HTTP メソッド: GET
- パラメータ
- 戻り値:
- 戻り値フォーマット
4.3 完了済みタスク
- API: /v1/task/getDoneTasksInApp.json
- HTTP メソッド: GET
- パラメータ
- 戻り値:
- 戻り値フォーマット
4.4 自分宛の CC タスク(アプリレベル)
- API: /v1/task/getNotifyMeTasksInApp.json
- HTTP メソッド: GET
- パラメータ
- 戻り値:
- 戻り値フォーマット
- ヒント:instValue は文字列を返します。その内容は JSON 配列形式です。
5. 付録
5.1 フォームデータの保存 / 更新フォーマット
- フォーム内の各コンポーネントには一意の ID があり(ページデザイナーでコンポーネントの右側のプレミアムパネルから確認可能)、各コンポーネントの値には固定のフォーマットがあります。現在対応しているフォームコンポーネントは、一行、複数行、数値、選択、ドロップダウン単一選択、複数選択、ドロップダウン複数選択、日付、日付範囲、ユーザー検索ボックス、地域選択、部門選択、カスケード選択、およびサブフォームコンポーネントです。
- フォームデータを保存 / 更新する際、フォーム内のデータは Map<String, Object> 形式の JsonString として渡されます。key はコンポーネント ID、Object はコンポーネントの値です。各コンポーネントの値のフォーマットは以下のとおりです。
- フォームデータの完全なフォーマットは以下のとおりです。
5.2 コンポーネント値によるフィルター検索 – コンポーネント値のフォーマット
- フォーム内の各コンポーネントには一意の ID があり(ページデザイナーでコンポーネントの右側のプレミアムパネルから確認可能)、各コンポーネントの検索フォーマットは異なります。現在検索対応しているフォームコンポーネントは、一行、複数行、数値、選択、ドロップダウン単一選択、複数選択、ドロップダウン複数選択、日付、日付範囲、ユーザー検索ボックス、地域選択、部門選択、カスケード選択、およびサブフォームコンポーネントです。
- 検索時、各コンポーネントの検索条件は Map<String, Object> として表現されます。key はコンポーネント ID、Object はコンポーネントの検索値です。各コンポーネントの検索タイプと値のフォーマットは以下のとおりです。
- 完全な例
5.3 ワークフローインスタンス詳細オブジェクトのフォーマット
- 完全なデータフォーマットデモ
5.4 戻り値としてのフォームデータフォーマット
戻り値としてのフォームデータフォーマットは、「付録 1 – フォームデータの保存 / 更新フォーマット」と基本的に同じです。相違点は以下のとおりです。- 送信時、地域コンポーネントの値は [“省 ID”, “市 ID”, “区 ID”] です。戻り値では [“省名”,“市名”,“区名”] になります。
- 選択、ドロップダウン単一選択、複数選択、ドロップダウン複数選択は国際化されています。戻り値としては、渡した
languageパラメータに対応するデータ値を返します。
5.5 フォームインスタンス詳細オブジェクトのフォーマット
完全なデモは以下のとおりです。