Skip to main content
専用クラスター環境のアプリデータはプライベート環境に保存されており、パブリックネットワークからアクセスできません。そのため、DingTalk Open Platform 上の YiDA OpenAPI ではこれらのデータを取得できません。クラスター環境内で OpenAPI を呼び出す必要があります。クラスター環境の OpenAPI は基本的に DingTalk Open Platform と同じで、ホストと必要な AK/SK のみが異なります。 本記事では、YiDA専用版クラスター環境で YiDA OpenAPI を呼び出す方法について説明します。
注意:YiDA専用版は現在、高頻度で利用されるデータサービス API を公開しています。2023年12月31日時点で DingTalk Open Platform 上で利用可能な YiDA API 機能に基づき、合計 52 個の OpenAPI が利用可能です。

呼び出しフロー

クラスター環境における YiDA API の呼び出しは、DingTalk Open Platform と類似しています。DingTalk Open Platform 上のすべての関連 OpenAPI は api.dingtalk.com 経由で呼び出されます。クラスター版 OpenAPI の場合は、api.dingtalk.com を組織のクラスター版 YiDA ドメインに置き換えるだけです。
  1. 社内の YiDA専用版クラスターのドメイン(例: ddyd.corp.com)を取得します。
  2. 社内のクラスター版の AK と SK を取得します。
社内の DingTalk 管理者にお問い合わせください。DingTalk Open Platform にログインし、社内アプリの中から「YiDA Dedicated Cluster」を検索し、YiDA Dedicated Cluster Authentication App という名前のアプリから関連情報を取得します。
1

ステップ 1

前の手順で取得した AK/SK を使用して /v1.0/oauth2/accessToken エンドポイントを呼び出し、アプリの access_token を取得します。リクエストパラメータについては、社内アプリの access_token を取得する方法を参照してください。
Open Platform では、呼び出しは https://api.dingtalk.com/v1.0/oauth2/accessToken となります。社内の YiDA ドメインが https://your-org-private-yida-domain.com であると仮定すると、クラスター版の呼び出しは次のようになります:https://your-org-private-yida-domain.com/v1.0/oauth2/accessTokenaccess_token はデフォルトで 2 時間有効です。
2

access_token を使用して YiDA API を呼び出す

DingTalk Open Platform は、開発者向けに Java、PHP、Python、.NET の SDK を提供しています。クラスター版 OpenAPI も同様の呼び出しをサポートしています。
社内アプリとサードパーティ社内アプリは同じサーバーサイド SDK を共有しています。以下のいずれかのリンクをクリックしてダウンロードしてください。
  • 社内アプリ: サーバーサイド SDK をダウンロードします。
  • サードパーティ社内アプリ: サーバーサイド SDK をダウンロードします。
  1. DingTalk Open Platform SDK を使用している場合は、次の変更を適用します。
変更 1: ドメインが http を使用する場合、config.protocol = “http” を設定します。 変更 2: client._endpoint に社内の実際の YiDA ドメインを明示的に設定します。

クラスター API 一覧

YiDA は豊富な API 機能を提供しており、開発者は YiDA を企業の業務システムと統合できます。現在、API は主にフォーム、作業フロー、アプリ向けに公開されています。
モジュール標準サーバー API説明
作業フローYiDA 承認フローを開始するDingTalk Open Platform 上で YiDA 承認フローを開始します。
ワークフローインスタンスを削除するワークフローインスタンスを削除します。
ワークフローインスタンスを終了するワークフローインスタンスを終了します。
インスタンス ID の一覧を取得するインスタンス ID の一覧を取得します。
複数のワークフローインスタンスを一括取得するID を指定して複数のワークフローインスタンスの詳細を一括取得します。
ワークフローインスタンスを取得するYiDA からワークフローインスタンス情報を取得します。
ID でワークフローインスタンスを取得するID を指定してワークフローインスタンスの詳細を取得します。
フォーム指定したアプリのフォーム一覧を取得するアプリのフォーム一覧をページングで取得します。
フォーム内のコンポーネント情報を取得するフォーム ID を指定して、フォームまたはワークフローフォーム内のコンポーネント情報を取得します。
フォームインスタンスデータを検索するフォームインスタンスデータを検索します。
フォームデータを保存する承認フローなしで YiDA フォームインスタンスを作成します。
フォームデータを更新するフォームデータを更新します。
フォームデータを検索するフォームインスタンス ID を指定してフォームデータを検索します。
社員コンポーネントの値を取得する社員コンポーネントの値を取得します。
フォームコンポーネント定義の一覧を取得するフォームコンポーネント定義の一覧を取得します。
サブフォームコンポーネントのデータを取得するフォームインスタンス ID とサブフォームコンポーネント ID を指定して、サブフォームコンポーネントのデータを取得します。
フォームデータを削除するフォームデータを削除します。
複数のフォームインスタンス ID を取得する複数のフォームインスタンス ID を取得します。
複数のフォームインスタンスを一括取得する複数のフォームインスタンスの詳細を一括取得します。
複数のフォームインスタンスを一括削除する複数のフォームインスタンスレコードを一括削除します。
複数のフォームインスタンスを一括作成する複数のフォームインスタンスレコードを一括作成します。
フォームインスタンス内のコンポーネント値を一括更新するフォームインスタンス ID を指定して、YiDA フォームインスタンス内のコンポーネント値を一括更新します。
フォームインスタンスを作成または更新するフィルターを使用してフォームインスタンスを作成または更新します。
高度な検索条件でフォームインスタンスデータを検索する(サブフォームコンポーネントデータを含む)フィルターを使用してフォームインスタンスの詳細を取得します。
高度な検索条件でフォームインスタンスデータを検索する(サブフォームコンポーネントデータを除く)フィルターを使用してフォームインスタンスの詳細を取得します(サブフォームコンポーネントのデータを除く)。
フォームインスタンスデータでフォームインスタンスを一括更新するYiDA フォームコンポーネントのデータを使用して、フォームインスタンス情報を一括更新します。
フォームの変更履歴を検索するフォームの変更履歴を検索します。
承認タスク承認履歴を取得する承認履歴を取得します。
YiDA 承認タスクを承認または却下するYiDA 承認タスクを承認または却下します。
タスクを転送するタスクを転送します。
コメントを送信するフォームまたはワークフローインスタンスにコメントを送信します。
YiDA フォームインスタンスのコメントを一括検索するYiDA フォームのすべてのコメントを一括検索します。
アプリYiDA アプリ一覧を検索する社内の YiDA アプリ一覧を検索します。