Skip to main content
YiDA は、HTTP ベースの非同期インターフェースを呼び出すためのリモート API 機能を提供しています(詳細はリモート API ドキュメントを参照してください)。加えて YiDA プラットフォームでは、YiDA データを操作するための標準搭載リモート API を複数用意しています。
YiDA Open API は認証を必要とするため、サイレントログインページから直接呼び出すことはできません。これらの呼び出しは、FaaS 関数または自社構築のバックエンドサービスを経由させてください。

API 使用上の注意

リクエストパス

YiDA はアプリ単位で API を提供しています。アプリ内では、次の URL 形式でリモート API を呼び出します(クロスアプリ呼び出しにも対応しています)。
YiDA プラットフォーム上で API リクエストのコードを記述する際は、以下のように相対パスを使用してください。組織のサブドメインが変更されてもコードを更新する必要がなくなります。

レスポンス構造

YiDA リモート API が返すレスポンス構造は次のとおりです。

フォーム API

YiDA プラットフォームは、フォームデータを収集するためのフォーム型ページを提供しています。フォーム API を利用すると、フォームデータの作成、参照、更新、削除が可能です。ここでいう「フォームインスタンス」とは、フォームのデータセット内の 1 件のレコードを指します。

フォームインスタンスの作成

  • インターフェースパス:/v1/form/saveFormData.json
  • リクエストメソッド:POST
  • パラメータ:(formDataJsonJSON.stringify() でシリアライズする必要があります。)
  • レスポンス例:

フォーム内コンポーネント値の更新

  • インターフェース:/v1/form/updateFormData.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

フォームインスタンスの削除

  • インターフェース:/v1/form/deleteFormData.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

インスタンス ID によるフォームインスタンス詳細の取得

  • インターフェース:/v1/form/getFormDataById.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:
result については、付録 5:フォームインスタンス詳細オブジェクトの形式を参照してください。

条件によるフォームインスタンス ID の検索

  • インターフェース:/v1/form/searchFormDataIds.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:

条件によるフォームインスタンス詳細の検索

  • インターフェース:/v1/form/searchFormDatas.json
  • リクエストメソッド:GET
  • 権限制御:この API はページレベルの権限設定に従います(管理者を除く)。
  • パラメータ:
  • レスポンス例:

フォーム定義の取得

この API は 2024年12月1日 にアップグレードされます。アップグレード後は管理者のみが利用可能となり、一般ユーザーは利用できなくなります。
  • インターフェース:/v1/form/getFormComponentDefinationList.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:

サブフォームデータの取得

  • インターフェース:v1/form/listTableDataByFormInstIdAndTableId.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:

ワークフロー API

ワークフローフォームは YiDA プラットフォームのもう 1 つのコア機能です。ワークフロー API を利用すると、ワークフローインスタンスを操作できます。

ワークフローの開始

  • インターフェースパス:/v1/process/startInstance.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

条件によるワークフローインスタンス ID の検索

  • インターフェースパス:/v1/process/getInstanceIds.json
  • リクエストメソッド:GET
  • 権限:ワークフローに「インスタンス閲覧可」権限が設定されている必要があります(管理者を除く)。
  • パラメータ:
  • レスポンス例:

条件によるワークフローインスタンス詳細の取得

  • インターフェースパス:/v1/process/getInstances.json
  • リクエストメソッド:GET
  • 権限:ワークフローに「インスタンス閲覧可」権限が設定されている必要があります(管理者を除く)。
  • パラメータ:
  • レスポンス例:

インスタンス ID によるワークフローインスタンス詳細の取得

  • インターフェースパス:/v1/process/getInstanceById.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:

ワークフローインスタンスの削除

  • インターフェースパス:/v1/process/deleteInstance.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

ワークフローインスタンスの終了

  • インターフェースパス:/v1/process/terminateInstance.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

単一タスクの実行

  • インターフェースパス:/v1/task/executeTask.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

承認記録の取得

  • インターフェースパス:/v1/process/getOperationRecords.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:

ワークフローインスタンスの更新

  • インターフェースパス:/v1/process/updateInstance.json
  • リクエストメソッド:POST
  • パラメータ:
  • レスポンス例:

タスクセンター API

YiDA プラットフォームは、現在の組織内のすべてのアプリのタスクリストと状態を確認できるタスクセンターを提供しています。タスクセンター API を利用すると、タスクセンター内のタスクリストを取得できます。

送信済みタスク

  • インターフェースパス:/v1/process/getMySubmitInApp.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:
    • 成功時
  • 失敗時

タスク

  • インターフェースパス:/v1/task/getTodoTasksInApp.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:
    • 成功時
  • 失敗時

完了済みタスク

  • インターフェースパス:/v1/task/getDoneTasksInApp.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:
    • 成功時
  • 失敗時

自分宛の CC タスク(アプリスコープ)

  • インターフェースパス:/v1/task/getNotifyMeTasksInApp.json
  • リクエストメソッド:GET
  • パラメータ:
  • レスポンス例:
    • 成功時
  • 失敗時

付録

保存 / 更新時のフォームデータ形式

  • フォーム内の各コンポーネントは一意の ID を持ち(ページデザイナーでコンポーネントの右側にある「高度な使い方」パネルで確認できます)、コンポーネントごとに固定のデータ形式を使用します。対応するフォームコンポーネントは次のとおりです:1 行入力、複数行入力、数値、ラジオボタン、ドロップダウン選択、複数選択、ドロップダウン複数選択、日付、日付範囲、ユーザー選択、地域選択、部門選択、カスケード選択、サブフォーム。
  • フォームデータを保存または更新する際は、フォーム値を Map<String, Object> 形式の JSON 文字列として渡します。キーがコンポーネント ID、値がコンポーネントの値となります。各コンポーネントの値の形式は以下のとおりです。
  • 完全なフォームデータ例:

条件検索時のコンポーネント値の形式

  • フォーム内の各コンポーネントは一意の ID を持ち(ページデザイナーでコンポーネントの右側にある「高度な使い方」パネルで確認できます)、コンポーネントごとに独自の検索形式があります。検索を利用できるフォームコンポーネントは次のとおりです:1 行入力、複数行入力、数値、ラジオボタン、ドロップダウン選択、複数選択、ドロップダウン複数選択、日付、日付範囲、ユーザー選択、地域選択、部門選択、カスケード選択、サブフォーム。
  • 検索を行う際は、各コンポーネントの検索条件を Map<String, Object> 形式で指定します。キーがコンポーネント ID、値がそのコンポーネントの検索値です。各コンポーネントの検索タイプと値の形式は以下のとおりです。
  • 完全な例:

ワークフローインスタンス詳細オブジェクトの形式

  • フォーム内の各コンポーネントは一意の ID を持ち(ページデザイナーでコンポーネントの右側にある「高度な使い方」パネルで確認できます)、コンポーネントごとに独自の検索形式があります。検索を利用できるフォームコンポーネントは次のとおりです:1 行入力、複数行入力、数値、ラジオボタン、ドロップダウン選択、複数選択、ドロップダウン複数選択、日付、日付範囲、ユーザー選択、地域選択、部門選択、カスケード選択、サブフォーム。
  • 検索を行う際は、各コンポーネントの検索条件を Map<String, Object> 形式で指定します。キーがコンポーネント ID、値がそのコンポーネントの検索値です。各コンポーネントの検索タイプと値の形式は以下のとおりです。
  • 完全なデータ形式のデモ:

レスポンス値としてのフォームデータ形式

レスポンス値のフォームデータ形式は、基本的に 付録 1:保存 / 更新時のフォームデータ形式 と同じですが、以下の違いがあります。
  • 入力時、地域コンポーネントの値は [“省 ID”, “市 ID”, “区 ID”] です。レスポンスでは [“省名”, “市名”, “区名”] となります。
  • ラジオボタン、ドロップダウン選択、複数選択、ドロップダウン複数選択の各コンポーネントは国際化に対応しています。レスポンスには、渡した言語パラメータに対応するデータ値が返されます。

フォームインスタンス詳細オブジェクトの形式

  • 完全なデータ形式のデモ: