Skip to main content

1. 使用上の注意

1.1 HTTP URL の組み立てルール

現在はアプリレベルの API に対応しています。アプリ内(クロスアプリも対応)で、以下の形式で該当 API にアクセスできます。
たとえば、アプリコードが APP_X1X2X3X4 のアプリに対して、ブラウザから「ワークフローインスタンス – ワークフロー起動」サービス API を呼び出す場合、データパネルで使用するリクエスト URL は次のとおりです(相対パスで十分です)。
詳細なハンズオンデモは [II. ワークフローインスタンス] → [1. ワークフロー起動] を参照してください。 注意:現在のバージョンでは、searchFieldJson および dynamicOrder フィールドは文字列値である必要があります。例:

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 とワークフローコードから取得できます。
④. コードを記述したら、ページ右上の保存ボタンをクリックします。 ⑤. 実行時ページに移動してワークフロー起動をテストします。ボタンをクリックすると、ブラウザに内蔵されているデバッグツールの Network で startInstance リクエストが成功していることが確認できます。レスポンス 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
  • パラメータ
  • 戻り値:
  • 戻り値フォーマット
成功時:
失敗時:
ヒント:instValue は文字列を返します。その内容は JSON 配列形式です。 サンプルリクエストコード:

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 フォームインスタンス詳細オブジェクトのフォーマット

完全なデモは以下のとおりです。