1. 背景
本リリースでは、YiDAの既存openAPIをアップグレードし、YiDA開発者(ISVサービスプロバイダーやAPI呼び出しが必要なYiDAユーザーなど)により多くの機能とスムーズな開発体験を提供することで、開発ポテンシャルを最大限に引き出します。2. イテレーション内容一覧
本リリースでは、4モジュールにわたる14件のAPI変更および11件の利用不可APIの削除を実施しました。詳細は以下のとおりです。| モジュール | API名およびドキュメントリンク | 説明 | ユースケース | 詳細 |
| プラットフォーム | YiDAフォームサービス呼び出しの実行レコードを検索 | 指定したYiDAフォームIDに対するサービス呼び出しの実行レコードを検索します。呼び出しステータス、エンドポイント、結果を含みます。 | 例:社内のYiDAアプリのデータ管理リストで、本APIを使用してフォームインスタンスに対するサービス呼び出しレコードの詳細を取得します。 | — |
| YiDAアプリ一覧を検索 | 社内のYiDAアプリ一覧を検索します。アプリのステータス、アイコン、コードを含みます。 | 例:本APIを使用して社内のYiDAアプリの詳細情報を取得します。 | — | |
| データ検索・操作 | 詳細検索条件を使用してフォームインスタンスを検索 | フィルターを使用してフォームインスタンスの詳細を取得します。 | 表示されるページでフィルターを入力し、条件を満たすフォームインスタンスを検索します。例:フォーム提出者や作成時間の開始時刻でフィルタリング。 | 1. 新しい検索ストレージ構造に切り替え後、検索結果の上限が5,000件から30,000件に増加します。 2. 従来のあいまい検索のみの動作に代わり、完全一致検索とあいまい検索の両方に対応しました。 3. すべての検索APIで、 searchFieldJson入力パラメータを指定した場合、「データ管理」で使用されるフィルターに対応するようになりました。詳細はデータ管理のフィルターを使用した検索を参照してください。4. ワークフローインスタンスを取得APIに、並べ替えルールを指定する orderConfigJson入力パラメータが追加されました。このパラメータの入力方法については、検索結果の並べ替えに使用可能な組み込みフィールドを参照してください。 |
| フォームインスタンスデータを検索 | 本APIを呼び出してフォームインスタンスデータを検索します。 | |||
| ワークフローインスタンスを取得 | YiDAワークフローインスタンスの情報を取得します。インスタンスID、作成時間、提出者を含みます。 | 例:本APIを呼び出して、社内のYiDAアプリの作業フロー一覧に含まれるワークフローインスタンスの詳細を取得します。 | ||
| サブフォームデータを取得 | 本APIを呼び出して、フォームインスタンスIDとサブフォームコンポーネントの一意識別子を使用してサブフォームコンポーネントのデータを取得します。 | — | ||
| メインテーブルデータを取得 | メインテーブルのデータのみを個別に検索します。 | フォームページにサブフォームコンポーネントが多数含まれている場合(サブフォームインスタンス数が多いのではなく)で、「フォームデータを検索」openAPIがタイムアウトする場合は、操作を2ステップに分割してください。 ステップ1:メインテーブルデータを取得を使用してメインテーブルを検索します。 ステップ2:サブフォームデータを取得を使用して必要なサブフォームデータを検索します。 | ||
| フォームインスタンスを追加または更新 | 指定した条件でフォームインスタンスをフィルタリングします。一致するインスタンスが見つかった場合は指定したフォーム値で更新し、一致するインスタンスが存在しない場合は指定したフォーム値で新規作成します。 | 元のデータ 条件を満たすデータが存在する場合 一致するデータが存在しないため、新規レコードが作成される場合 | openAPI(オープンプラットフォームまたはフロントエンドAPIを問わず)が、レコード番号の固定値の検証など、ビジネス関連ルールに準拠する必要があるケースに適用されます。(現在、重複の検出が困難で直接表示できません。例:書き込みのたびに固定値フィールドが既に存在するかを検索する必要があり、レコードごとに2回以上のAPI呼び出しが必要となります。) | |
| バッチ操作 | フォームインスタンスを一括作成 | フォームインスタンスデータを一括作成し、新規作成されたインスタンスのIDを返します。 | 例:社内のYiDAアプリのデータ管理ビューにあるYiDAインスタンス一覧で本APIを呼び出し、精算項目が「フォームインスタンス一括追加」の新規インスタンスを追加します。 元のフォームデータ 呼び出しに成功した後のデータ |
|
| フォームインスタンスを一括削除 | フォームインスタンスデータを一括削除し、フォームインスタンス一覧からレコードを削除します。 | 例:社内のYiDAアプリのデータ管理ビューに4件のYiDAフォームインスタンスがあります。本APIを呼び出して1件目のYiDAインスタンスを削除します。 元のフォームデータ 呼び出しに成功した後のフォームデータ |
| |
| フォームインスタンスのコンポーネント値を一括更新 | YiDAフォームインスタンスIDを指定して、YiDAフォームインスタンスのコンポーネント値を一括更新します。 | 例:社内のYiDAアプリのフォームインスタンス一覧で本APIを呼び出し、4件のフォームにわたって精算項目コンポーネントの値を一括更新します。精算項目の値を「更新後の精算項目」に変更します。 元のフォームデータ 呼び出しに成功した後のフォームデータ |
| |
| フォームインスタンスデータでフォームインスタンスを一括更新 | YiDAフォームコンポーネントのデータを基にフォームインスタンス情報を一括更新します。 | 例:社内のYiDAアプリのデータ管理リストにある4件のYiDAフォームインスタンスがすべて精算項目コンポーネントを使用しています。本APIを呼び出して精算項目コンポーネントの値を更新し、4件すべてのYiDAフォームを更新します。 元のフォームデータ 呼び出しに成功した後のフォームデータ | ||
| フォームインスタンスデータを一括取得 | フォームインスタンスの詳細(インスタンス名、提出者を含む)を一括取得します。 | 例:社内のYiDAアプリのデータ管理ビューにあるYiDAインスタンス一覧で本APIを呼び出し、インスタンスIDでインスタンス詳細を一括検索します。 | ||
| コンポーネント | フォームデータを保存(単一作成) | 本APIを呼び出して、承認フローを使用しないYiDAフォームインスタンスを作成します。 | ||
| 一括作成、フォームインスタンスを一括作成と同じ | — | — | — | |
| その他 | YiDAプラットフォームのセルフ呼び出しAPIが不安定 | 解決済み:searchFieldJson.jsonが長時間データを返さないことが時折発生していました(特に読み込み中インジケータの追加後に顕著で、更新で解消)。 | 解決策:/dingtalk/web/APP_PR185LWG5XWYCPITZ58C/query/formProcInstData/getInstanceDatasLight.jsonを使用して、検索ごとに返されるサブフォームデータのサイズを設定します。 | — |
| 以下のAPIを削除 | — | — | — | |
APIカテゴリを再編成:
| — | — | — |